From 9fe1acb1779a60185810f57077fcdde808e3d5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Fri, 6 Mar 2026 15:05:12 +0800 Subject: [PATCH 01/29] fix --- src/views/purchase/purchasingrequisition/add.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/purchase/purchasingrequisition/add.vue b/src/views/purchase/purchasingrequisition/add.vue index 22c265e..df5d399 100644 --- a/src/views/purchase/purchasingrequisition/add.vue +++ b/src/views/purchase/purchasingrequisition/add.vue @@ -576,7 +576,8 @@ class="mb12" v-if=" dataForm.budget && - (dataForm.budget >= BUDGET_FEASIBILITY_THRESHOLD || !isSpecialType('0')) + dataForm.budget >= BUDGET_FEASIBILITY_THRESHOLD && + isSpecialType('0') " > From 81c56650949899e500a05c74b73568378bdee5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Fri, 6 Mar 2026 18:34:55 +0800 Subject: [PATCH 02/29] =?UTF-8?q?=E8=B7=9F=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/purchase/purchasingcontract.ts | 76 +++++ .../purchase/purchasingcontract/form.vue | 231 ++++++++++++++ .../purchase/purchasingcontract/index.vue | 301 ++++++++++++++++++ .../purchase/purchasingrequisition/add.vue | 12 +- .../contract/ContractDialog.vue | 229 +++++++++++++ .../purchase/purchasingrequisition/index.vue | 30 ++ 6 files changed, 873 insertions(+), 6 deletions(-) create mode 100644 src/api/purchase/purchasingcontract.ts create mode 100644 src/views/purchase/purchasingcontract/form.vue create mode 100644 src/views/purchase/purchasingcontract/index.vue create mode 100644 src/views/purchase/purchasingrequisition/contract/ContractDialog.vue diff --git a/src/api/purchase/purchasingcontract.ts b/src/api/purchase/purchasingcontract.ts new file mode 100644 index 0000000..07fec2b --- /dev/null +++ b/src/api/purchase/purchasingcontract.ts @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2018-2025, cyweb All rights reserved. + * + */ + +import request from '/@/utils/request'; + +/** + * 分页查询 + * @param params 查询参数 + */ +export function getPage(params?: any) { + return request({ + url: '/purchase/purchasingcontract/page', + method: 'get', + params + }); +} + +/** + * 通过id查询 + * @param id ID + */ +export function getObj(id: string | number) { + return request({ + url: '/purchase/purchasingcontract/' + id, + method: 'get' + }); +} + +/** + * 新增采购合同 + * @param obj 对象数据 + */ +export function addObj(obj: any) { + return request({ + url: '/purchase/purchasingcontract', + method: 'post', + data: obj + }); +} + +/** + * 修改采购合同 + * @param obj 对象数据 + */ +export function editObj(obj: any) { + return request({ + url: '/purchase/purchasingcontract/edit', + method: 'post', + data: obj + }); +} + +/** + * 删除采购合同 + * @param id ID + */ +export function delObj(id: number) { + return request({ + url: '/purchase/purchasingcontract/delete', + method: 'post', + data: id + }); +} + +/** + * 根据采购申请ID查询合同 + * @param purchaseId 采购申请ID + */ +export function getByPurchaseId(purchaseId: string | number) { + return request({ + url: '/purchase/purchasingcontract/by-purchase/' + purchaseId, + method: 'get' + }); +} \ No newline at end of file diff --git a/src/views/purchase/purchasingcontract/form.vue b/src/views/purchase/purchasingcontract/form.vue new file mode 100644 index 0000000..0397b73 --- /dev/null +++ b/src/views/purchase/purchasingcontract/form.vue @@ -0,0 +1,231 @@ + + + + + \ No newline at end of file diff --git a/src/views/purchase/purchasingcontract/index.vue b/src/views/purchase/purchasingcontract/index.vue new file mode 100644 index 0000000..aacfe2e --- /dev/null +++ b/src/views/purchase/purchasingcontract/index.vue @@ -0,0 +1,301 @@ + + + + + \ No newline at end of file diff --git a/src/views/purchase/purchasingrequisition/add.vue b/src/views/purchase/purchasingrequisition/add.vue index df5d399..167cbf5 100644 --- a/src/views/purchase/purchasingrequisition/add.vue +++ b/src/views/purchase/purchasingrequisition/add.vue @@ -182,7 +182,7 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/purchase/purchasingrequisition/index.vue b/src/views/purchase/purchasingrequisition/index.vue index ae1e1e7..1ef2c92 100644 --- a/src/views/purchase/purchasingrequisition/index.vue +++ b/src/views/purchase/purchasingrequisition/index.vue @@ -332,6 +332,9 @@ + + + @@ -399,6 +402,7 @@ import { getTree } from '/@/api/purchase/purchasingcategory'; import { List, Document, DocumentCopy, Search, Money, CircleCheck, InfoFilled, Calendar, OfficeBuilding, Warning, DocumentChecked, Edit, Delete, Upload, FolderOpened, Download, User, RefreshRight, Shop, CopyDocument } from '@element-plus/icons-vue' import other from '/@/utils/other' import { Session } from '/@/utils/storage' +import { getByPurchaseId } from "/@/api/purchase/purchasingcontract"; // 角色常量 const PURCHASE_DEPT_AUDIT_ROLE_CODE = 'PURCHASE_DEPT_AUDIT' @@ -413,6 +417,7 @@ const PurchasingAcceptModal = defineAsyncComponent(() => import('./accept/Purcha const FlowCommentTimeline = defineAsyncComponent(() => import('/@/views/jsonflow/comment/timeline.vue')); const FileArchiveDialog = defineAsyncComponent(() => import('./FileArchiveDialog.vue')); const UpdateFilesDialog = defineAsyncComponent(() => import('./UpdateFilesDialog.vue')); +const ContractDialog = defineAsyncComponent(() => import('./contract/ContractDialog.vue')); // const DocAuditDialog = defineAsyncComponent(() => import('./docAudit/DocAuditDialog.vue')); // 字典数据和品目树数据 @@ -443,6 +448,7 @@ const currFlowCommentType = ref<'apply' | 'file'>('apply') const implementFormRef = ref() const fileArchiveDialogRef = ref() const updateFilesDialogRef = ref() +const contractDialogRef = ref() /** 采购代表弹窗 */ const representorDialogVisible = ref(false) @@ -708,6 +714,12 @@ const getActionMenuItems = (row: any) => { icon: RefreshRight, visible: () => (isCompleted || isRunning) && hasAuth('purchase_purchasingapply_edit'), }, + { + command: 'contract', + label: '采购合同', + icon: DocumentChecked, + visible: () => isCompleted, + }, // { // command: 'downloadFileApply', // label: '下载文件审批表', @@ -766,6 +778,9 @@ const handleMoreCommand = (command: string, row: any) => { case 'updateFiles': handleUpdateFiles(row); break; + case 'contract': + handleContract(row); + break; } }; @@ -779,6 +794,21 @@ const handleUpdateFiles = (row: any) => { updateFilesDialogRef.value?.open(id, row.purchaseNo); }; +/** 采购合同 */ +const handleContract = async (row: any) => { + const id = row?.id ?? row?.purchaseId; + if (!id) { + useMessage().warning('无法获取采购申请ID'); + return; + } + try { + const res = await getByPurchaseId(id); + contractDialogRef.value?.open(row, res?.data || null); + } catch (e) { + useMessage().error('获取合同信息失败'); + } +}; + /** 下载审批表 */ const handleDownloadApply = (row: any) => { const id = row?.id ?? row?.purchaseId; From adc511cfdc3f707eaf9f060d90e8afe9cf737c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Fri, 6 Mar 2026 22:48:58 +0800 Subject: [PATCH 03/29] fix --- src/api/purchase/purchasingfiles.ts | 2 +- src/flow/components/handle-job/handle.vue | 3 +- .../purchase/purchasingrequisition/add.vue | 72 +++++++++++++++---- 3 files changed, 60 insertions(+), 17 deletions(-) diff --git a/src/api/purchase/purchasingfiles.ts b/src/api/purchase/purchasingfiles.ts index 53c29cf..ba57423 100644 --- a/src/api/purchase/purchasingfiles.ts +++ b/src/api/purchase/purchasingfiles.ts @@ -28,7 +28,7 @@ export function getFileTypes() { } /** - * 获取 140 部门自行采购会议纪要文件类型 + * 获取 140 部门会议纪要文件类型 */ export function getDeptSelfMeetingFiletype() { return '140'; diff --git a/src/flow/components/handle-job/handle.vue b/src/flow/components/handle-job/handle.vue index da9fcef..2ee7aac 100644 --- a/src/flow/components/handle-job/handle.vue +++ b/src/flow/components/handle-job/handle.vue @@ -36,7 +36,7 @@ - + @@ -248,15 +229,15 @@ const handleColumnOrderChange = (order: string[]) => { ```typescript onMounted(() => { - // 其他初始化代码... - - // 确保配置已同步 - nextTick(() => { - if (visibleColumns.value.length === 0) { - loadSavedConfig() - } - }) -}) + // 其他初始化代码... + + // 确保配置已同步 + nextTick(() => { + if (visibleColumns.value.length === 0) { + loadSavedConfig(); + } + }); +}); ``` ## 注意事项 @@ -269,4 +250,3 @@ onMounted(() => { ## 示例 参考 `src/views/stuwork/weekPlan/index.vue` 和 `src/views/stuwork/classroomhygienemonthly/index.vue` 的完整实现。 - diff --git a/src/components/TableColumnControl/QUICK_START.md b/src/components/TableColumnControl/QUICK_START.md index 7680b44..9e8c8e7 100644 --- a/src/components/TableColumnControl/QUICK_START.md +++ b/src/components/TableColumnControl/QUICK_START.md @@ -3,6 +3,7 @@ ## 简介 `TableColumnControl` 是一个通用的表格列控制组件,支持: + - ✅ 列的显示/隐藏控制 - ✅ 列的拖拽排序 - ✅ 配置的自动保存和恢复(基于路由) @@ -14,11 +15,11 @@ ```vue ``` @@ -26,41 +27,39 @@ const tableRef = ref() ```vue ``` ### 步骤 3: 完成! 就这么简单!组件会自动: + - 从表格中提取列配置 - 根据当前路由自动生成存储 key - 保存和恢复用户的列设置 @@ -71,149 +70,135 @@ const tableRef = ref() ```vue ``` @@ -223,30 +208,24 @@ loadSavedConfig() ```vue ``` @@ -255,20 +234,17 @@ const sortedTableColumns = computed(() => { ### Q: 如何自定义存储 key? ```vue - + ``` ### Q: 如何设置始终显示的列? ```vue ``` @@ -276,10 +252,10 @@ const sortedTableColumns = computed(() => { ```vue ``` @@ -290,4 +266,3 @@ const sortedTableColumns = computed(() => { ## 完整示例 查看 `src/views/stuwork/classroomhygienemonthly/index.vue` 了解完整的使用示例。 - diff --git a/src/components/TableColumnControl/README.md b/src/components/TableColumnControl/README.md index 6d3eec1..3f932e5 100644 --- a/src/components/TableColumnControl/README.md +++ b/src/components/TableColumnControl/README.md @@ -17,11 +17,11 @@ ```vue ``` @@ -29,32 +29,30 @@ const tableRef = ref() ```vue ``` ### 步骤 3: 完成! 就这么简单!组件会自动: + - ✅ 从表格中提取列配置 - ✅ 根据当前路由自动生成存储 key - ✅ 保存和恢复用户的列设置 @@ -67,145 +65,107 @@ const tableRef = ref() ```vue ``` ### 使用 localStorage 持久化 ```vue - + ``` ### 固定列(不可隐藏) ```vue -const tableColumns = [ - { prop: 'name', label: '姓名', fixed: 'left' }, // 固定左侧,不可隐藏 - { prop: 'age', label: '年龄' }, - { prop: 'action', label: '操作', fixed: 'right' } // 固定右侧,不可隐藏 -] +const tableColumns = [ { prop: 'name', label: '姓名', fixed: 'left' }, // 固定左侧,不可隐藏 { prop: 'age', label: '年龄' }, { prop: 'action', label: +'操作', fixed: 'right' } // 固定右侧,不可隐藏 ] ``` ### 始终显示的列 ```vue -const tableColumns = [ - { prop: 'name', label: '姓名', alwaysShow: true }, // 始终显示,不可隐藏 - { prop: 'age', label: '年龄' } -] +const tableColumns = [ { prop: 'name', label: '姓名', alwaysShow: true }, // 始终显示,不可隐藏 { prop: 'age', label: '年龄' } ] ``` ### 自定义触发按钮 ```vue - + - + - + ``` ## Props -| 参数 | 说明 | 类型 | 默认值 | -|------|------|------|--------| -| columns | 表格列配置数组 | Column[] | 必填 | -| modelValue | 当前显示的列的 prop 或 label 数组 | string[] | - | -| storageKey | localStorage 存储的 key,用于持久化 | string | - | -| triggerType | 触发按钮的类型 | 'default' \| 'primary' \| 'success' \| 'warning' \| 'danger' \| 'info' \| 'text' | 'default' | -| triggerSize | 触发按钮的大小 | 'large' \| 'default' \| 'small' | 'default' | -| triggerCircle | 触发按钮是否为圆形 | boolean | false | -| triggerText | 触发按钮的文字 | string | '' | -| triggerLink | 触发按钮是否为链接样式 | boolean | false | +| 参数 | 说明 | 类型 | 默认值 | +| ------------- | ----------------------------------- | -------------------------------------------------------------------------------- | --------- | +| columns | 表格列配置数组 | Column[] | 必填 | +| modelValue | 当前显示的列的 prop 或 label 数组 | string[] | - | +| storageKey | localStorage 存储的 key,用于持久化 | string | - | +| triggerType | 触发按钮的类型 | 'default' \| 'primary' \| 'success' \| 'warning' \| 'danger' \| 'info' \| 'text' | 'default' | +| triggerSize | 触发按钮的大小 | 'large' \| 'default' \| 'small' | 'default' | +| triggerCircle | 触发按钮是否为圆形 | boolean | false | +| triggerText | 触发按钮的文字 | string | '' | +| triggerLink | 触发按钮是否为链接样式 | boolean | false | ## Events -| 事件名 | 说明 | 回调参数 | -|--------|------|----------| +| 事件名 | 说明 | 回调参数 | +| ----------------- | ------------------ | ------------------- | | update:modelValue | 显示的列变化时触发 | (columns: string[]) | -| change | 显示的列变化时触发 | (columns: string[]) | +| change | 显示的列变化时触发 | (columns: string[]) | ## Column 接口 ```typescript interface Column { - prop?: string // 列的 prop,用于标识列 - label: string // 列的标签 - fixed?: boolean | 'left' | 'right' // 固定列,不可隐藏 - alwaysShow?: boolean // 始终显示的列,不可隐藏 - [key: string]: any // 其他属性 + prop?: string; // 列的 prop,用于标识列 + label: string; // 列的标签 + fixed?: boolean | 'left' | 'right'; // 固定列,不可隐藏 + alwaysShow?: boolean; // 始终显示的列,不可隐藏 + [key: string]: any; // 其他属性 } ``` ## 插槽 -| 插槽名 | 说明 | -|--------|------| +| 插槽名 | 说明 | +| ------- | ------------------ | | trigger | 自定义触发按钮内容 | - diff --git a/src/components/TableColumnControl/USAGE.md b/src/components/TableColumnControl/USAGE.md index 9a9d4f5..0a7bd44 100644 --- a/src/components/TableColumnControl/USAGE.md +++ b/src/components/TableColumnControl/USAGE.md @@ -8,32 +8,32 @@ ```vue - - - diff --git a/src/components/TagList/index.vue b/src/components/TagList/index.vue index bc5067d..fc3a3b8 100644 --- a/src/components/TagList/index.vue +++ b/src/components/TagList/index.vue @@ -1,50 +1,43 @@ diff --git a/src/components/TeacherNameNo/index.vue b/src/components/TeacherNameNo/index.vue index ceeb083..4c0757d 100644 --- a/src/components/TeacherNameNo/index.vue +++ b/src/components/TeacherNameNo/index.vue @@ -1,107 +1,106 @@ - diff --git a/src/components/Upload/Excel.vue b/src/components/Upload/Excel.vue index afd8261..491b649 100644 --- a/src/components/Upload/Excel.vue +++ b/src/components/Upload/Excel.vue @@ -1,135 +1,134 @@ diff --git a/src/components/Upload/index.vue b/src/components/Upload/index.vue index e456b13..0bc6007 100644 --- a/src/components/Upload/index.vue +++ b/src/components/Upload/index.vue @@ -18,7 +18,9 @@ {{ getFileName(file) }} - + @@ -46,7 +48,7 @@ {{ $t('excel.clickUpload') }} - + -
+
- + - -
- - + +
+ +
+ +
- diff --git a/src/views/recruit/recruitstudentsignup/DelayPayTimeDialog.vue b/src/views/recruit/recruitstudentsignup/DelayPayTimeDialog.vue index 5053ffe..98d715a 100644 --- a/src/views/recruit/recruitstudentsignup/DelayPayTimeDialog.vue +++ b/src/views/recruit/recruitstudentsignup/DelayPayTimeDialog.vue @@ -1,79 +1,78 @@ - diff --git a/src/views/recruit/recruitstudentsignup/PayQrcodeDialog.vue b/src/views/recruit/recruitstudentsignup/PayQrcodeDialog.vue index 30057a6..470ada2 100644 --- a/src/views/recruit/recruitstudentsignup/PayQrcodeDialog.vue +++ b/src/views/recruit/recruitstudentsignup/PayQrcodeDialog.vue @@ -1,131 +1,133 @@ - - + diff --git a/src/views/recruit/recruitstudentsignup/areaStatic.vue b/src/views/recruit/recruitstudentsignup/areaStatic.vue index 2ffa3d8..07e0123 100644 --- a/src/views/recruit/recruitstudentsignup/areaStatic.vue +++ b/src/views/recruit/recruitstudentsignup/areaStatic.vue @@ -1,31 +1,30 @@ - diff --git a/src/views/recruit/recruitstudentsignup/areaStaticByCZ.vue b/src/views/recruit/recruitstudentsignup/areaStaticByCZ.vue index 502f8fd..6c083d8 100644 --- a/src/views/recruit/recruitstudentsignup/areaStaticByCZ.vue +++ b/src/views/recruit/recruitstudentsignup/areaStaticByCZ.vue @@ -1,185 +1,179 @@ diff --git a/src/views/recruit/recruitstudentsignup/areaStaticByOther.vue b/src/views/recruit/recruitstudentsignup/areaStaticByOther.vue index e7e25d6..7f26344 100644 --- a/src/views/recruit/recruitstudentsignup/areaStaticByOther.vue +++ b/src/views/recruit/recruitstudentsignup/areaStaticByOther.vue @@ -1,177 +1,178 @@ diff --git a/src/views/recruit/recruitstudentsignup/contanctByDeptStatic.vue b/src/views/recruit/recruitstudentsignup/contanctByDeptStatic.vue index 139c093..93be7a8 100644 --- a/src/views/recruit/recruitstudentsignup/contanctByDeptStatic.vue +++ b/src/views/recruit/recruitstudentsignup/contanctByDeptStatic.vue @@ -1,157 +1,151 @@ diff --git a/src/views/recruit/recruitstudentsignup/contanctByUserStatic.vue b/src/views/recruit/recruitstudentsignup/contanctByUserStatic.vue index 273a30f..0ca7b61 100644 --- a/src/views/recruit/recruitstudentsignup/contanctByUserStatic.vue +++ b/src/views/recruit/recruitstudentsignup/contanctByUserStatic.vue @@ -1,212 +1,215 @@ diff --git a/src/views/recruit/recruitstudentsignup/contanctStatic.vue b/src/views/recruit/recruitstudentsignup/contanctStatic.vue index d41d545..4be306b 100644 --- a/src/views/recruit/recruitstudentsignup/contanctStatic.vue +++ b/src/views/recruit/recruitstudentsignup/contanctStatic.vue @@ -1,40 +1,39 @@ - diff --git a/src/views/recruit/recruitstudentsignup/detaiform.vue b/src/views/recruit/recruitstudentsignup/detaiform.vue index 13d9eab..a1af9f9 100644 --- a/src/views/recruit/recruitstudentsignup/detaiform.vue +++ b/src/views/recruit/recruitstudentsignup/detaiform.vue @@ -1,1694 +1,1638 @@ - diff --git a/src/views/recruit/recruitstudentsignup/dormFW.vue b/src/views/recruit/recruitstudentsignup/dormFW.vue index ab039cb..006c8c2 100644 --- a/src/views/recruit/recruitstudentsignup/dormFW.vue +++ b/src/views/recruit/recruitstudentsignup/dormFW.vue @@ -1,277 +1,279 @@ diff --git a/src/views/recruit/recruitstudentsignup/dorm_analysis.vue b/src/views/recruit/recruitstudentsignup/dorm_analysis.vue index 4ec7dac..47e53d5 100644 --- a/src/views/recruit/recruitstudentsignup/dorm_analysis.vue +++ b/src/views/recruit/recruitstudentsignup/dorm_analysis.vue @@ -1,160 +1,131 @@ - + diff --git a/src/views/recruit/recruitstudentsignup/inSchoolSocreStatic.vue b/src/views/recruit/recruitstudentsignup/inSchoolSocreStatic.vue index b9ad54b..a69a5f6 100644 --- a/src/views/recruit/recruitstudentsignup/inSchoolSocreStatic.vue +++ b/src/views/recruit/recruitstudentsignup/inSchoolSocreStatic.vue @@ -1,127 +1,106 @@ diff --git a/src/views/recruit/recruitstudentsignup/index.vue b/src/views/recruit/recruitstudentsignup/index.vue index f9bfd32..5edde02 100644 --- a/src/views/recruit/recruitstudentsignup/index.vue +++ b/src/views/recruit/recruitstudentsignup/index.vue @@ -1,1434 +1,1248 @@ diff --git a/src/views/recruit/recruitstudentsignup/indexClass.vue b/src/views/recruit/recruitstudentsignup/indexClass.vue index a752c9b..4a453d9 100644 --- a/src/views/recruit/recruitstudentsignup/indexClass.vue +++ b/src/views/recruit/recruitstudentsignup/indexClass.vue @@ -1,713 +1,571 @@ diff --git a/src/views/recruit/recruitstudentsignup/interviewForm.vue b/src/views/recruit/recruitstudentsignup/interviewForm.vue index b098460..647a1bf 100644 --- a/src/views/recruit/recruitstudentsignup/interviewForm.vue +++ b/src/views/recruit/recruitstudentsignup/interviewForm.vue @@ -1,111 +1,100 @@ - + diff --git a/src/views/recruit/recruitstudentsignup/juniorlneStatic.vue b/src/views/recruit/recruitstudentsignup/juniorlneStatic.vue index d31f479..f2c0a51 100644 --- a/src/views/recruit/recruitstudentsignup/juniorlneStatic.vue +++ b/src/views/recruit/recruitstudentsignup/juniorlneStatic.vue @@ -1,195 +1,182 @@ diff --git a/src/views/recruit/recruitstudentsignup/list.vue b/src/views/recruit/recruitstudentsignup/list.vue index 630e972..04b8b40 100644 --- a/src/views/recruit/recruitstudentsignup/list.vue +++ b/src/views/recruit/recruitstudentsignup/list.vue @@ -1,440 +1,350 @@ - + diff --git a/src/views/recruit/recruitstudentsignup/majorChange.vue b/src/views/recruit/recruitstudentsignup/majorChange.vue index 6d3153d..5176f04 100644 --- a/src/views/recruit/recruitstudentsignup/majorChange.vue +++ b/src/views/recruit/recruitstudentsignup/majorChange.vue @@ -1,375 +1,356 @@ diff --git a/src/views/recruit/recruitstudentsignup/schoolAreaStatic.vue b/src/views/recruit/recruitstudentsignup/schoolAreaStatic.vue index 53969f6..46dbd27 100644 --- a/src/views/recruit/recruitstudentsignup/schoolAreaStatic.vue +++ b/src/views/recruit/recruitstudentsignup/schoolAreaStatic.vue @@ -1,389 +1,203 @@ diff --git a/src/views/recruit/recruitstudentsignup/schoolStatic.vue b/src/views/recruit/recruitstudentsignup/schoolStatic.vue index 9e20e03..b3e8420 100644 --- a/src/views/recruit/recruitstudentsignup/schoolStatic.vue +++ b/src/views/recruit/recruitstudentsignup/schoolStatic.vue @@ -1,175 +1,164 @@ diff --git a/src/views/recruit/recruitstudentsignup/showMap.vue b/src/views/recruit/recruitstudentsignup/showMap.vue index e85e437..4816931 100644 --- a/src/views/recruit/recruitstudentsignup/showMap.vue +++ b/src/views/recruit/recruitstudentsignup/showMap.vue @@ -1,188 +1,186 @@ diff --git a/src/views/recruit/recruitstudentsignup/static.vue b/src/views/recruit/recruitstudentsignup/static.vue index 3bffbdf..79634dc 100644 --- a/src/views/recruit/recruitstudentsignup/static.vue +++ b/src/views/recruit/recruitstudentsignup/static.vue @@ -1,176 +1,171 @@ diff --git a/src/views/recruit/recruitstudentsignup/studorm.vue b/src/views/recruit/recruitstudentsignup/studorm.vue index d545aa5..3449f15 100644 --- a/src/views/recruit/recruitstudentsignup/studorm.vue +++ b/src/views/recruit/recruitstudentsignup/studorm.vue @@ -1,37 +1,37 @@ diff --git a/src/views/recruit/recruitstudentsignup/update.vue b/src/views/recruit/recruitstudentsignup/update.vue index 19165c4..86ef036 100644 --- a/src/views/recruit/recruitstudentsignup/update.vue +++ b/src/views/recruit/recruitstudentsignup/update.vue @@ -1,537 +1,522 @@ diff --git a/src/views/recruit/recruitstudentsignupturnover/index.vue b/src/views/recruit/recruitstudentsignupturnover/index.vue index 0ba093b..ae7c603 100644 --- a/src/views/recruit/recruitstudentsignupturnover/index.vue +++ b/src/views/recruit/recruitstudentsignupturnover/index.vue @@ -1,443 +1,428 @@ diff --git a/src/views/recruit/recruitstudentsignupturnovermoneychange/form.vue b/src/views/recruit/recruitstudentsignupturnovermoneychange/form.vue index 488bcef..4ac55fd 100644 --- a/src/views/recruit/recruitstudentsignupturnovermoneychange/form.vue +++ b/src/views/recruit/recruitstudentsignupturnovermoneychange/form.vue @@ -1,173 +1,160 @@ - diff --git a/src/views/recruit/recruitstudentsignupturnovermoneychange/index.vue b/src/views/recruit/recruitstudentsignupturnovermoneychange/index.vue index c35d507..1b9a0c1 100644 --- a/src/views/recruit/recruitstudentsignupturnovermoneychange/index.vue +++ b/src/views/recruit/recruitstudentsignupturnovermoneychange/index.vue @@ -16,162 +16,154 @@ --> - + diff --git a/src/views/recruit/zizhu/index.vue b/src/views/recruit/zizhu/index.vue index 7b4c8fa..d0dc177 100644 --- a/src/views/recruit/zizhu/index.vue +++ b/src/views/recruit/zizhu/index.vue @@ -16,15 +16,13 @@ --> - + - + diff --git a/src/views/stuwork/activityawards/form.vue b/src/views/stuwork/activityawards/form.vue index 9727d9f..1fe0a80 100644 --- a/src/views/stuwork/activityawards/form.vue +++ b/src/views/stuwork/activityawards/form.vue @@ -1,265 +1,215 @@ - - + diff --git a/src/views/stuwork/activityawards/index.vue b/src/views/stuwork/activityawards/index.vue index 5966ec0..5960614 100644 --- a/src/views/stuwork/activityawards/index.vue +++ b/src/views/stuwork/activityawards/index.vue @@ -1,317 +1,253 @@ - diff --git a/src/views/stuwork/activityinfo/form.vue b/src/views/stuwork/activityinfo/form.vue index 294eff9..35af12c 100644 --- a/src/views/stuwork/activityinfo/form.vue +++ b/src/views/stuwork/activityinfo/form.vue @@ -1,166 +1,137 @@ - - + diff --git a/src/views/stuwork/activityinfo/index.vue b/src/views/stuwork/activityinfo/index.vue index f05267b..b456d6a 100644 --- a/src/views/stuwork/activityinfo/index.vue +++ b/src/views/stuwork/activityinfo/index.vue @@ -1,318 +1,259 @@ - + diff --git a/src/views/stuwork/assessmentcategory/index.vue b/src/views/stuwork/assessmentcategory/index.vue index f0e55b2..3b9e43b 100644 --- a/src/views/stuwork/assessmentcategory/index.vue +++ b/src/views/stuwork/assessmentcategory/index.vue @@ -1,265 +1,219 @@ - + diff --git a/src/views/stuwork/assessmentpoint/index.vue b/src/views/stuwork/assessmentpoint/index.vue index 3d1ac0f..d0de296 100644 --- a/src/views/stuwork/assessmentpoint/index.vue +++ b/src/views/stuwork/assessmentpoint/index.vue @@ -1,279 +1,228 @@ - diff --git a/src/views/stuwork/classactivity/index.vue b/src/views/stuwork/classactivity/index.vue index 5c1f4d4..773a27b 100644 --- a/src/views/stuwork/classactivity/index.vue +++ b/src/views/stuwork/classactivity/index.vue @@ -1,531 +1,444 @@ - + diff --git a/src/views/stuwork/classconstruction/form.vue b/src/views/stuwork/classconstruction/form.vue index cae4cc8..400ac7b 100644 --- a/src/views/stuwork/classconstruction/form.vue +++ b/src/views/stuwork/classconstruction/form.vue @@ -1,167 +1,150 @@ diff --git a/src/views/stuwork/classconstruction/index.vue b/src/views/stuwork/classconstruction/index.vue index 02f448b..630b886 100644 --- a/src/views/stuwork/classconstruction/index.vue +++ b/src/views/stuwork/classconstruction/index.vue @@ -1,360 +1,307 @@ - diff --git a/src/views/stuwork/classfeelog/index.vue b/src/views/stuwork/classfeelog/index.vue index 8d77bae..c6a402f 100644 --- a/src/views/stuwork/classfeelog/index.vue +++ b/src/views/stuwork/classfeelog/index.vue @@ -1,748 +1,637 @@ diff --git a/src/views/stuwork/classhonor/belong.vue b/src/views/stuwork/classhonor/belong.vue index 2e42474..10e4c7b 100644 --- a/src/views/stuwork/classhonor/belong.vue +++ b/src/views/stuwork/classhonor/belong.vue @@ -1,177 +1,156 @@ - diff --git a/src/views/stuwork/classhonor/form.vue b/src/views/stuwork/classhonor/form.vue index 50fa808..0abee96 100644 --- a/src/views/stuwork/classhonor/form.vue +++ b/src/views/stuwork/classhonor/form.vue @@ -1,208 +1,170 @@ - diff --git a/src/views/stuwork/classhonor/index.vue b/src/views/stuwork/classhonor/index.vue index 2b05de5..ad9f473 100644 --- a/src/views/stuwork/classhonor/index.vue +++ b/src/views/stuwork/classhonor/index.vue @@ -1,470 +1,403 @@ - + diff --git a/src/views/stuwork/classleaveapply/form.vue b/src/views/stuwork/classleaveapply/form.vue index c94a4b9..293150d 100644 --- a/src/views/stuwork/classleaveapply/form.vue +++ b/src/views/stuwork/classleaveapply/form.vue @@ -1,466 +1,392 @@ - - + diff --git a/src/views/stuwork/classleaveapply/index.vue b/src/views/stuwork/classleaveapply/index.vue index db2ab98..94ddeb9 100644 --- a/src/views/stuwork/classleaveapply/index.vue +++ b/src/views/stuwork/classleaveapply/index.vue @@ -1,595 +1,543 @@ \ No newline at end of file + diff --git a/src/views/stuwork/classmasterresume/detail.vue b/src/views/stuwork/classmasterresume/detail.vue index f9c501e..91ff52f 100644 --- a/src/views/stuwork/classmasterresume/detail.vue +++ b/src/views/stuwork/classmasterresume/detail.vue @@ -1,175 +1,161 @@ - diff --git a/src/views/stuwork/classmasterresume/form.vue b/src/views/stuwork/classmasterresume/form.vue index eb26fa1..65b9fce 100644 --- a/src/views/stuwork/classmasterresume/form.vue +++ b/src/views/stuwork/classmasterresume/form.vue @@ -1,343 +1,294 @@ - diff --git a/src/views/stuwork/classmasterresume/index.vue b/src/views/stuwork/classmasterresume/index.vue index 0c617c0..59b9c82 100644 --- a/src/views/stuwork/classmasterresume/index.vue +++ b/src/views/stuwork/classmasterresume/index.vue @@ -1,285 +1,238 @@ \ No newline at end of file + diff --git a/src/views/stuwork/classpaper/detail.vue b/src/views/stuwork/classpaper/detail.vue index 56ecc99..bfbcc88 100644 --- a/src/views/stuwork/classpaper/detail.vue +++ b/src/views/stuwork/classpaper/detail.vue @@ -1,205 +1,187 @@ diff --git a/src/views/stuwork/classpaper/form.vue b/src/views/stuwork/classpaper/form.vue index de2860d..b0dad38 100644 --- a/src/views/stuwork/classpaper/form.vue +++ b/src/views/stuwork/classpaper/form.vue @@ -1,267 +1,207 @@ - diff --git a/src/views/stuwork/classpaper/index.vue b/src/views/stuwork/classpaper/index.vue index 5302339..354c067 100644 --- a/src/views/stuwork/classpaper/index.vue +++ b/src/views/stuwork/classpaper/index.vue @@ -1,746 +1,584 @@ diff --git a/src/views/stuwork/classplan/form.vue b/src/views/stuwork/classplan/form.vue index 74f5dce..ea63feb 100644 --- a/src/views/stuwork/classplan/form.vue +++ b/src/views/stuwork/classplan/form.vue @@ -1,289 +1,239 @@ - diff --git a/src/views/stuwork/classplan/index.vue b/src/views/stuwork/classplan/index.vue index b470e10..392b8dc 100644 --- a/src/views/stuwork/classplan/index.vue +++ b/src/views/stuwork/classplan/index.vue @@ -1,715 +1,630 @@ diff --git a/src/views/stuwork/classpublicity/belong.vue b/src/views/stuwork/classpublicity/belong.vue index ca39907..a56c08f 100644 --- a/src/views/stuwork/classpublicity/belong.vue +++ b/src/views/stuwork/classpublicity/belong.vue @@ -1,177 +1,156 @@ - diff --git a/src/views/stuwork/classpublicity/form.vue b/src/views/stuwork/classpublicity/form.vue index f9a6d13..faabf77 100644 --- a/src/views/stuwork/classpublicity/form.vue +++ b/src/views/stuwork/classpublicity/form.vue @@ -1,215 +1,177 @@ - diff --git a/src/views/stuwork/classpublicity/index.vue b/src/views/stuwork/classpublicity/index.vue index ac3d4d7..b0f226f 100644 --- a/src/views/stuwork/classpublicity/index.vue +++ b/src/views/stuwork/classpublicity/index.vue @@ -1,492 +1,411 @@ - diff --git a/src/views/stuwork/classroombase/arrange.vue b/src/views/stuwork/classroombase/arrange.vue index 9ba65de..2083928 100644 --- a/src/views/stuwork/classroombase/arrange.vue +++ b/src/views/stuwork/classroombase/arrange.vue @@ -1,220 +1,172 @@ - - + diff --git a/src/views/stuwork/classroombase/assets.vue b/src/views/stuwork/classroombase/assets.vue index 73ca42a..23b0407 100644 --- a/src/views/stuwork/classroombase/assets.vue +++ b/src/views/stuwork/classroombase/assets.vue @@ -1,327 +1,258 @@ - + diff --git a/src/views/stuwork/classroombase/index.vue b/src/views/stuwork/classroombase/index.vue index 4f3de52..76fc9d1 100644 --- a/src/views/stuwork/classroombase/index.vue +++ b/src/views/stuwork/classroombase/index.vue @@ -1,562 +1,498 @@ - diff --git a/src/views/stuwork/classroombase/password.vue b/src/views/stuwork/classroombase/password.vue index 1492f15..69b0853 100644 --- a/src/views/stuwork/classroombase/password.vue +++ b/src/views/stuwork/classroombase/password.vue @@ -1,156 +1,132 @@ - + diff --git a/src/views/stuwork/classroomhygienedaily/detail.vue b/src/views/stuwork/classroomhygienedaily/detail.vue index 0e5acd5..fd0d720 100644 --- a/src/views/stuwork/classroomhygienedaily/detail.vue +++ b/src/views/stuwork/classroomhygienedaily/detail.vue @@ -1,156 +1,142 @@ - diff --git a/src/views/stuwork/classroomhygienedaily/form.vue b/src/views/stuwork/classroomhygienedaily/form.vue index 708f0b3..864f20e 100644 --- a/src/views/stuwork/classroomhygienedaily/form.vue +++ b/src/views/stuwork/classroomhygienedaily/form.vue @@ -1,263 +1,229 @@ diff --git a/src/views/stuwork/classroomhygienedaily/index.vue b/src/views/stuwork/classroomhygienedaily/index.vue index e432e9c..d055904 100644 --- a/src/views/stuwork/classroomhygienedaily/index.vue +++ b/src/views/stuwork/classroomhygienedaily/index.vue @@ -1,391 +1,323 @@ - diff --git a/src/views/stuwork/classroomhygienemonthly/detail.vue b/src/views/stuwork/classroomhygienemonthly/detail.vue index ed452b5..d3c6b93 100644 --- a/src/views/stuwork/classroomhygienemonthly/detail.vue +++ b/src/views/stuwork/classroomhygienemonthly/detail.vue @@ -1,38 +1,33 @@ - diff --git a/src/views/stuwork/classroomhygienemonthly/form.vue b/src/views/stuwork/classroomhygienemonthly/form.vue index 5abc73d..6155d32 100644 --- a/src/views/stuwork/classroomhygienemonthly/form.vue +++ b/src/views/stuwork/classroomhygienemonthly/form.vue @@ -1,210 +1,184 @@ diff --git a/src/views/stuwork/classroomhygienemonthly/index.vue b/src/views/stuwork/classroomhygienemonthly/index.vue index fef6ca1..c7e9e3c 100644 --- a/src/views/stuwork/classroomhygienemonthly/index.vue +++ b/src/views/stuwork/classroomhygienemonthly/index.vue @@ -1,610 +1,536 @@ - diff --git a/src/views/stuwork/classsafeedu/form.vue b/src/views/stuwork/classsafeedu/form.vue index 20e40f6..059b562 100644 --- a/src/views/stuwork/classsafeedu/form.vue +++ b/src/views/stuwork/classsafeedu/form.vue @@ -1,289 +1,229 @@ - diff --git a/src/views/stuwork/classsafeedu/index.vue b/src/views/stuwork/classsafeedu/index.vue index 64b901f..1df8b45 100644 --- a/src/views/stuwork/classsafeedu/index.vue +++ b/src/views/stuwork/classsafeedu/index.vue @@ -1,586 +1,490 @@ - diff --git a/src/views/stuwork/classsummary/detail.vue b/src/views/stuwork/classsummary/detail.vue index 8bedde0..a000fa0 100644 --- a/src/views/stuwork/classsummary/detail.vue +++ b/src/views/stuwork/classsummary/detail.vue @@ -1,212 +1,205 @@ - diff --git a/src/views/stuwork/classsummary/form.vue b/src/views/stuwork/classsummary/form.vue index 719c76e..065ca04 100644 --- a/src/views/stuwork/classsummary/form.vue +++ b/src/views/stuwork/classsummary/form.vue @@ -1,354 +1,261 @@ - diff --git a/src/views/stuwork/classsummary/index.vue b/src/views/stuwork/classsummary/index.vue index 3b06737..59ff19b 100644 --- a/src/views/stuwork/classsummary/index.vue +++ b/src/views/stuwork/classsummary/index.vue @@ -1,784 +1,610 @@ - diff --git a/src/views/stuwork/classtheme/record.vue b/src/views/stuwork/classtheme/record.vue index 06cc115..1b6c07e 100644 --- a/src/views/stuwork/classtheme/record.vue +++ b/src/views/stuwork/classtheme/record.vue @@ -1,226 +1,186 @@ - + diff --git a/src/views/stuwork/classtheme/recordForm.vue b/src/views/stuwork/classtheme/recordForm.vue index fc2150a..4e4d494 100644 --- a/src/views/stuwork/classtheme/recordForm.vue +++ b/src/views/stuwork/classtheme/recordForm.vue @@ -1,199 +1,177 @@ - diff --git a/src/views/stuwork/dormbuilding/emptyRoomDialog.vue b/src/views/stuwork/dormbuilding/emptyRoomDialog.vue index 040c010..c67b52d 100644 --- a/src/views/stuwork/dormbuilding/emptyRoomDialog.vue +++ b/src/views/stuwork/dormbuilding/emptyRoomDialog.vue @@ -1,181 +1,167 @@ - diff --git a/src/views/stuwork/dormbuilding/form.vue b/src/views/stuwork/dormbuilding/form.vue index a90468c..490ef1f 100644 --- a/src/views/stuwork/dormbuilding/form.vue +++ b/src/views/stuwork/dormbuilding/form.vue @@ -1,126 +1,116 @@ - diff --git a/src/views/stuwork/dormbuilding/index.vue b/src/views/stuwork/dormbuilding/index.vue index d938d8b..565ece8 100644 --- a/src/views/stuwork/dormbuilding/index.vue +++ b/src/views/stuwork/dormbuilding/index.vue @@ -1,357 +1,297 @@ - diff --git a/src/views/stuwork/dormhygienedaily/form.vue b/src/views/stuwork/dormhygienedaily/form.vue index f1680dd..2bdef94 100644 --- a/src/views/stuwork/dormhygienedaily/form.vue +++ b/src/views/stuwork/dormhygienedaily/form.vue @@ -1,199 +1,167 @@ - diff --git a/src/views/stuwork/dormhygienedaily/index.vue b/src/views/stuwork/dormhygienedaily/index.vue index f6cadf6..eb4f35f 100644 --- a/src/views/stuwork/dormhygienedaily/index.vue +++ b/src/views/stuwork/dormhygienedaily/index.vue @@ -1,400 +1,342 @@ \ No newline at end of file + diff --git a/src/views/stuwork/dormhygienemonthly/index.vue b/src/views/stuwork/dormhygienemonthly/index.vue index e6601f3..90e70ab 100644 --- a/src/views/stuwork/dormhygienemonthly/index.vue +++ b/src/views/stuwork/dormhygienemonthly/index.vue @@ -1,481 +1,434 @@ \ No newline at end of file + diff --git a/src/views/stuwork/dormliveapply/form.vue b/src/views/stuwork/dormliveapply/form.vue index 92c43f7..9e783c5 100644 --- a/src/views/stuwork/dormliveapply/form.vue +++ b/src/views/stuwork/dormliveapply/form.vue @@ -1,197 +1,176 @@ - diff --git a/src/views/stuwork/dormliveapply/index.vue b/src/views/stuwork/dormliveapply/index.vue index 44f2fed..f727a58 100644 --- a/src/views/stuwork/dormliveapply/index.vue +++ b/src/views/stuwork/dormliveapply/index.vue @@ -1,484 +1,414 @@ - diff --git a/src/views/stuwork/dormreform/form.vue b/src/views/stuwork/dormreform/form.vue index f08bfa0..182c4e1 100644 --- a/src/views/stuwork/dormreform/form.vue +++ b/src/views/stuwork/dormreform/form.vue @@ -1,162 +1,142 @@ - diff --git a/src/views/stuwork/dormreform/index.vue b/src/views/stuwork/dormreform/index.vue index b1b1863..5333dca 100644 --- a/src/views/stuwork/dormreform/index.vue +++ b/src/views/stuwork/dormreform/index.vue @@ -1,458 +1,419 @@ - diff --git a/src/views/stuwork/dormroom/form.vue b/src/views/stuwork/dormroom/form.vue index e81de7d..edb6837 100644 --- a/src/views/stuwork/dormroom/form.vue +++ b/src/views/stuwork/dormroom/form.vue @@ -1,234 +1,192 @@ - diff --git a/src/views/stuwork/dormroom/index.vue b/src/views/stuwork/dormroom/index.vue index 5da4027..2686f1f 100644 --- a/src/views/stuwork/dormroom/index.vue +++ b/src/views/stuwork/dormroom/index.vue @@ -1,480 +1,380 @@ diff --git a/src/views/stuwork/dormroomstudent/index.vue b/src/views/stuwork/dormroomstudent/index.vue index 77db798..9033184 100644 --- a/src/views/stuwork/dormroomstudent/index.vue +++ b/src/views/stuwork/dormroomstudent/index.vue @@ -1,599 +1,506 @@ ${el.innerHTML} - `) - win.document.close() - win.focus() - setTimeout(() => { - win.print() - win.close() - }, 300) - } -} + `); + win.document.close(); + win.focus(); + setTimeout(() => { + win.print(); + win.close(); + }, 300); + } +}; -defineExpose({ openDialog }) +defineExpose({ openDialog }); diff --git a/src/views/stuwork/dormroomstudent/swap.vue b/src/views/stuwork/dormroomstudent/swap.vue index 7311f0c..2bb499d 100644 --- a/src/views/stuwork/dormroomstudent/swap.vue +++ b/src/views/stuwork/dormroomstudent/swap.vue @@ -1,136 +1,115 @@ diff --git a/src/views/stuwork/dormroomstudent/transfer.vue b/src/views/stuwork/dormroomstudent/transfer.vue index 6b521bc..a9e69e6 100644 --- a/src/views/stuwork/dormroomstudent/transfer.vue +++ b/src/views/stuwork/dormroomstudent/transfer.vue @@ -1,241 +1,197 @@ diff --git a/src/views/stuwork/dormroomstudentchange/index.vue b/src/views/stuwork/dormroomstudentchange/index.vue index 5b15e85..d9f0a30 100644 --- a/src/views/stuwork/dormroomstudentchange/index.vue +++ b/src/views/stuwork/dormroomstudentchange/index.vue @@ -1,323 +1,292 @@ diff --git a/src/views/stuwork/dormsignrecord/index.vue b/src/views/stuwork/dormsignrecord/index.vue index 0ae4a72..2f8246c 100644 --- a/src/views/stuwork/dormsignrecord/index.vue +++ b/src/views/stuwork/dormsignrecord/index.vue @@ -1,365 +1,313 @@ diff --git a/src/views/stuwork/entrancerule/index.vue b/src/views/stuwork/entrancerule/index.vue index 8a869bd..0a7d2d5 100644 --- a/src/views/stuwork/entrancerule/index.vue +++ b/src/views/stuwork/entrancerule/index.vue @@ -1,282 +1,241 @@ - + diff --git a/src/views/stuwork/filemanager/form.vue b/src/views/stuwork/filemanager/form.vue index 098bcee..9d7bb88 100644 --- a/src/views/stuwork/filemanager/form.vue +++ b/src/views/stuwork/filemanager/form.vue @@ -1,181 +1,163 @@ diff --git a/src/views/stuwork/filemanager/index.vue b/src/views/stuwork/filemanager/index.vue index 484de8c..0e2e092 100644 --- a/src/views/stuwork/filemanager/index.vue +++ b/src/views/stuwork/filemanager/index.vue @@ -1,345 +1,288 @@ diff --git a/src/views/stuwork/gradustu/analyse.vue b/src/views/stuwork/gradustu/analyse.vue index d50addb..e53c6a4 100644 --- a/src/views/stuwork/gradustu/analyse.vue +++ b/src/views/stuwork/gradustu/analyse.vue @@ -1,227 +1,214 @@ diff --git a/src/views/stuwork/gradustu/index.vue b/src/views/stuwork/gradustu/index.vue index 3fba8f7..f4270f5 100644 --- a/src/views/stuwork/gradustu/index.vue +++ b/src/views/stuwork/gradustu/index.vue @@ -1,340 +1,271 @@ diff --git a/src/views/stuwork/moralplan/index.vue b/src/views/stuwork/moralplan/index.vue index 307952e..b47f1ea 100644 --- a/src/views/stuwork/moralplan/index.vue +++ b/src/views/stuwork/moralplan/index.vue @@ -1,354 +1,291 @@ - diff --git a/src/views/stuwork/onlinebooksbrowsinghistory/form.vue b/src/views/stuwork/onlinebooksbrowsinghistory/form.vue index 6ff6820..9a3cdf7 100644 --- a/src/views/stuwork/onlinebooksbrowsinghistory/form.vue +++ b/src/views/stuwork/onlinebooksbrowsinghistory/form.vue @@ -1,257 +1,209 @@ - diff --git a/src/views/stuwork/onlinebooksbrowsinghistory/index.vue b/src/views/stuwork/onlinebooksbrowsinghistory/index.vue index 9ed2ef1..59e1795 100644 --- a/src/views/stuwork/onlinebooksbrowsinghistory/index.vue +++ b/src/views/stuwork/onlinebooksbrowsinghistory/index.vue @@ -1,381 +1,310 @@ - diff --git a/src/views/stuwork/onlinebookscategory/form.vue b/src/views/stuwork/onlinebookscategory/form.vue index 9d43e21..3b62cce 100644 --- a/src/views/stuwork/onlinebookscategory/form.vue +++ b/src/views/stuwork/onlinebookscategory/form.vue @@ -1,153 +1,138 @@ - diff --git a/src/views/stuwork/onlinebookscategory/index.vue b/src/views/stuwork/onlinebookscategory/index.vue index ee3b53a..4bec7bb 100644 --- a/src/views/stuwork/onlinebookscategory/index.vue +++ b/src/views/stuwork/onlinebookscategory/index.vue @@ -1,269 +1,228 @@ - diff --git a/src/views/stuwork/pendingwork/index.vue b/src/views/stuwork/pendingwork/index.vue index 3898fb5..dd77190 100644 --- a/src/views/stuwork/pendingwork/index.vue +++ b/src/views/stuwork/pendingwork/index.vue @@ -1,309 +1,268 @@ - diff --git a/src/views/stuwork/psychologicalcounselingduty/form.vue b/src/views/stuwork/psychologicalcounselingduty/form.vue index f3e4570..e2a400f 100644 --- a/src/views/stuwork/psychologicalcounselingduty/form.vue +++ b/src/views/stuwork/psychologicalcounselingduty/form.vue @@ -1,154 +1,136 @@ - + diff --git a/src/views/stuwork/psychologicalcounselingduty/index.vue b/src/views/stuwork/psychologicalcounselingduty/index.vue index 48bc982..b29dd5e 100644 --- a/src/views/stuwork/psychologicalcounselingduty/index.vue +++ b/src/views/stuwork/psychologicalcounselingduty/index.vue @@ -1,308 +1,262 @@ + diff --git a/src/views/stuwork/psychologicalcounselingreservation/index.vue b/src/views/stuwork/psychologicalcounselingreservation/index.vue index a4e7bb7..da9a483 100644 --- a/src/views/stuwork/psychologicalcounselingreservation/index.vue +++ b/src/views/stuwork/psychologicalcounselingreservation/index.vue @@ -1,294 +1,239 @@ diff --git a/src/views/stuwork/psychologicalcounselingteacher/index.vue b/src/views/stuwork/psychologicalcounselingteacher/index.vue index 74807ff..5c4f99f 100644 --- a/src/views/stuwork/psychologicalcounselingteacher/index.vue +++ b/src/views/stuwork/psychologicalcounselingteacher/index.vue @@ -1,242 +1,205 @@ - + diff --git a/src/views/stuwork/rewardclass/index.vue b/src/views/stuwork/rewardclass/index.vue index 1f960fd..5322e63 100644 --- a/src/views/stuwork/rewardclass/index.vue +++ b/src/views/stuwork/rewardclass/index.vue @@ -1,501 +1,417 @@ - diff --git a/src/views/stuwork/rewarddorm/form.vue b/src/views/stuwork/rewarddorm/form.vue index de9a9e8..7c77c14 100644 --- a/src/views/stuwork/rewarddorm/form.vue +++ b/src/views/stuwork/rewarddorm/form.vue @@ -1,314 +1,259 @@ - - + diff --git a/src/views/stuwork/rewarddorm/index.vue b/src/views/stuwork/rewarddorm/index.vue index 72db137..110f849 100644 --- a/src/views/stuwork/rewarddorm/index.vue +++ b/src/views/stuwork/rewarddorm/index.vue @@ -1,443 +1,350 @@ - diff --git a/src/views/stuwork/rewardrule/form.vue b/src/views/stuwork/rewardrule/form.vue index eac5d02..ef0c74d 100644 --- a/src/views/stuwork/rewardrule/form.vue +++ b/src/views/stuwork/rewardrule/form.vue @@ -1,199 +1,173 @@ - - + diff --git a/src/views/stuwork/rewardrule/index.vue b/src/views/stuwork/rewardrule/index.vue index 07260c6..dc730b5 100644 --- a/src/views/stuwork/rewardrule/index.vue +++ b/src/views/stuwork/rewardrule/index.vue @@ -1,284 +1,241 @@ - diff --git a/src/views/stuwork/rewardstudent/index.vue b/src/views/stuwork/rewardstudent/index.vue index 8041db8..2342114 100644 --- a/src/views/stuwork/rewardstudent/index.vue +++ b/src/views/stuwork/rewardstudent/index.vue @@ -1,598 +1,543 @@ - diff --git a/src/views/stuwork/stipendstu/examIndex.vue b/src/views/stuwork/stipendstu/examIndex.vue index 8aa4555..a0dd269 100644 --- a/src/views/stuwork/stipendstu/examIndex.vue +++ b/src/views/stuwork/stipendstu/examIndex.vue @@ -1,317 +1,267 @@ - - + diff --git a/src/views/stuwork/stipendstu/form.vue b/src/views/stuwork/stipendstu/form.vue index 73116c8..6fb55f0 100644 --- a/src/views/stuwork/stipendstu/form.vue +++ b/src/views/stuwork/stipendstu/form.vue @@ -1,373 +1,285 @@ - - + diff --git a/src/views/stuwork/stipendtermbatch/form.vue b/src/views/stuwork/stipendtermbatch/form.vue index 73116c8..6fb55f0 100644 --- a/src/views/stuwork/stipendtermbatch/form.vue +++ b/src/views/stuwork/stipendtermbatch/form.vue @@ -1,373 +1,285 @@ - - + diff --git a/src/views/stuwork/stipendtermbatch/index.vue b/src/views/stuwork/stipendtermbatch/index.vue index cdc8db8..cb3de70 100644 --- a/src/views/stuwork/stipendtermbatch/index.vue +++ b/src/views/stuwork/stipendtermbatch/index.vue @@ -1,404 +1,351 @@ - diff --git a/src/views/stuwork/stuassociation/form.vue b/src/views/stuwork/stuassociation/form.vue index a2f40ec..ac8539a 100644 --- a/src/views/stuwork/stuassociation/form.vue +++ b/src/views/stuwork/stuassociation/form.vue @@ -1,375 +1,295 @@ - - + diff --git a/src/views/stuwork/stuassociation/index.vue b/src/views/stuwork/stuassociation/index.vue index cfd7fc5..87dc9f3 100644 --- a/src/views/stuwork/stuassociation/index.vue +++ b/src/views/stuwork/stuassociation/index.vue @@ -1,488 +1,424 @@ - diff --git a/src/views/stuwork/stuassociation/member.vue b/src/views/stuwork/stuassociation/member.vue index f451d63..a657aff 100644 --- a/src/views/stuwork/stuassociation/member.vue +++ b/src/views/stuwork/stuassociation/member.vue @@ -1,133 +1,118 @@ - - + diff --git a/src/views/stuwork/stucare/form.vue b/src/views/stuwork/stucare/form.vue index 912f829..887c319 100644 --- a/src/views/stuwork/stucare/form.vue +++ b/src/views/stuwork/stucare/form.vue @@ -1,299 +1,248 @@ - diff --git a/src/views/stuwork/stucare/index.vue b/src/views/stuwork/stucare/index.vue index 34692d5..532b442 100644 --- a/src/views/stuwork/stucare/index.vue +++ b/src/views/stuwork/stucare/index.vue @@ -1,579 +1,486 @@ - diff --git a/src/views/stuwork/stucare/result.vue b/src/views/stuwork/stucare/result.vue index 67f1093..fcc4b12 100644 --- a/src/views/stuwork/stucare/result.vue +++ b/src/views/stuwork/stucare/result.vue @@ -1,150 +1,134 @@ - diff --git a/src/views/stuwork/stuconduct/form.vue b/src/views/stuwork/stuconduct/form.vue index b901e04..b5edcc9 100644 --- a/src/views/stuwork/stuconduct/form.vue +++ b/src/views/stuwork/stuconduct/form.vue @@ -1,401 +1,312 @@ - diff --git a/src/views/stuwork/stuconduct/index.vue b/src/views/stuwork/stuconduct/index.vue index 8ca363e..7584e6b 100644 --- a/src/views/stuwork/stuconduct/index.vue +++ b/src/views/stuwork/stuconduct/index.vue @@ -1,569 +1,480 @@ - diff --git a/src/views/stuwork/stuconduct/indexTerm.vue b/src/views/stuwork/stuconduct/indexTerm.vue index 737a62a..1828a9d 100644 --- a/src/views/stuwork/stuconduct/indexTerm.vue +++ b/src/views/stuwork/stuconduct/indexTerm.vue @@ -1,481 +1,447 @@ - diff --git a/src/views/stuwork/stuconduct/indexYear.vue b/src/views/stuwork/stuconduct/indexYear.vue index 4025c47..50b2e97 100644 --- a/src/views/stuwork/stuconduct/indexYear.vue +++ b/src/views/stuwork/stuconduct/indexYear.vue @@ -1,409 +1,380 @@ - diff --git a/src/views/stuwork/stugraducheck/index.vue b/src/views/stuwork/stugraducheck/index.vue index b43daef..d27f582 100644 --- a/src/views/stuwork/stugraducheck/index.vue +++ b/src/views/stuwork/stugraducheck/index.vue @@ -1,746 +1,721 @@ \ No newline at end of file + diff --git a/src/views/stuwork/stuinnerleaveapplygroup/form.vue b/src/views/stuwork/stuinnerleaveapplygroup/form.vue index 0d40fdc..db8960c 100644 --- a/src/views/stuwork/stuinnerleaveapplygroup/form.vue +++ b/src/views/stuwork/stuinnerleaveapplygroup/form.vue @@ -1,512 +1,457 @@ - diff --git a/src/views/stuwork/stuinnerleaveapplygroup/index.vue b/src/views/stuwork/stuinnerleaveapplygroup/index.vue index 122c8ae..5f4c258 100644 --- a/src/views/stuwork/stuinnerleaveapplygroup/index.vue +++ b/src/views/stuwork/stuinnerleaveapplygroup/index.vue @@ -1,275 +1,235 @@ - diff --git a/src/views/stuwork/stupunlish/form.vue b/src/views/stuwork/stupunlish/form.vue index 98ce571..7a41875 100644 --- a/src/views/stuwork/stupunlish/form.vue +++ b/src/views/stuwork/stupunlish/form.vue @@ -1,384 +1,341 @@ - diff --git a/src/views/stuwork/stupunlish/index.vue b/src/views/stuwork/stupunlish/index.vue index c711b66..31e98a2 100644 --- a/src/views/stuwork/stupunlish/index.vue +++ b/src/views/stuwork/stupunlish/index.vue @@ -1,621 +1,544 @@ \ No newline at end of file + diff --git a/src/views/stuwork/stupunlishlevelconfig/index.vue b/src/views/stuwork/stupunlishlevelconfig/index.vue index ca3f7c0..de04bb2 100644 --- a/src/views/stuwork/stupunlishlevelconfig/index.vue +++ b/src/views/stuwork/stupunlishlevelconfig/index.vue @@ -1,276 +1,227 @@ \ No newline at end of file + From f92612c394408fd8545c200a2e7fda41123e4751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Sat, 7 Mar 2026 12:48:43 +0800 Subject: [PATCH 07/29] =?UTF-8?q?feat(purchase):=20=E6=94=BF=E5=BA=9C?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=84=8F=E5=90=91=E8=A1=A8=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加政府采购意向表模版下载按钮(类型编码: gov_pur_int) - 模版名称从后台动态获取,支持后台维护后前端自动更新 - 页面加载时并行获取模版列表 - downloadTemplate 函数优化:优先使用后台模版名称,后备使用本地硬编码 --- .../purchase/purchasingrequisition/add.vue | 88 +++++++++++++++---- 1 file changed, 73 insertions(+), 15 deletions(-) diff --git a/src/views/purchase/purchasingrequisition/add.vue b/src/views/purchase/purchasingrequisition/add.vue index 86c31fc..80300c6 100644 --- a/src/views/purchase/purchasingrequisition/add.vue +++ b/src/views/purchase/purchasingrequisition/add.vue @@ -669,6 +669,15 @@ upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('governmentPurchaseIntent')" /> + 下载《{{ getTemplateName('gov_pur_int') }}》模版 +
@@ -865,6 +874,7 @@ import { fetchList as getPurchasingManagerList } from '/@/api/purchase/purchasin import { fetchList as getBusinessLeaderList } from '/@/api/purchase/purchasingBusinessLeader'; import { Session } from '/@/utils/storage'; import * as orderVue from '/@/api/order/order-key-vue'; +import { listTemplates } from '/@/api/purchase/purchasingtemplate'; /** 采购中心角色编码:审批时仅该角色可编辑采购方式/采购形式 */ const PURCHASE_CENTER_ROLE_CODE = 'PURCHASE_CENTER'; @@ -1031,6 +1041,8 @@ const purchasingManagerList = ref([]); const businessLeaderList = ref([]); /** 人员类型字典(采购代表/评委) */ const representorTypeList = ref([]); +/** 模版列表(从后台获取,用于显示模版名称) */ +const templateList = ref([]); const loading = ref(false); const helpDialogVisible = ref(false); /** 数据是否已加载完成(用于控制自动设置采购方式的逻辑) */ @@ -1590,33 +1602,78 @@ watch( // 下载模版:统一走后端接口,按原始文件下载(避免前端静态资源被当成 HTML 返回) const downloadTemplate = async (type: string) => { - const templateMap: Record = { - business_negotiation: { displayName: '商务洽谈表.doc' }, - market_purchase_minutes: { displayName: '部门自行采购市场采购纪要.doc' }, - inquiry: { displayName: '部门采购询价模版.doc' }, - direct_select: { displayName: '服务商城项目需求模板(直选).doc' }, - public_select: { displayName: '服务商城项目需求模板(公开比选).doc' }, - invite_select: { displayName: '服务商城项目需求模板(邀请比选).doc' }, - purchase_requirement: { displayName: '采购需求填报模板.doc' }, - import_application: { displayName: '进口产品申请及专家论证意见表.doc' }, - single_source: { displayName: '单一来源论专家证附件.docx' }, - feasibility_report: { displayName: '项目可行性论证报告模板.doc' }, - }; + // 优先从后台模版列表获取模版名称 + const backendTemplate = templateList.value.find((t: any) => t.type === type); + let displayName = ''; - const template = templateMap[type]; - if (!template) { + if (backendTemplate?.templateTitle) { + displayName = backendTemplate.templateTitle; + } else { + // 后备:使用本地硬编码的名称 + const templateMap: Record = { + business_negotiation: '商务洽谈表.doc', + market_purchase_minutes: '部门自行采购市场采购纪要.doc', + inquiry: '部门采购询价模版.doc', + direct_select: '服务商城项目需求模板(直选).doc', + public_select: '服务商城项目需求模板(公开比选).doc', + invite_select: '服务商城项目需求模板(邀请比选).doc', + purchase_requirement: '采购需求填报模板.doc', + import_application: '进口产品申请及专家论证意见表.doc', + single_source: '单一来源论专家证附件.docx', + feasibility_report: '项目可行性论证报告模板.doc', + gov_pur_int: '政府采购意向申请表.doc', + }; + displayName = templateMap[type] || ''; + } + + if (!displayName) { useMessage().error('模版不存在'); return; } try { - await other.downBlobFile(`/purchase/purchasingtemplate/download?type=${encodeURIComponent(type)}`, {}, template.displayName); + await other.downBlobFile(`/purchase/purchasingtemplate/download?type=${encodeURIComponent(type)}`, {}, displayName); useMessage().success('模版下载成功'); } catch (err) { useMessage().error('模版下载失败,请联系管理员维护模版文件'); } }; +// 获取模版名称(用于按钮显示,优先从后台获取) +const getTemplateName = (type: string): string => { + const backendTemplate = templateList.value.find((t: any) => t.type === type); + if (backendTemplate?.templateTitle) { + return backendTemplate.templateTitle.replace(/\.(doc|docx)$/i, ''); + } + // 后备名称 + const fallbackNames: Record = { + business_negotiation: '商务洽谈表', + market_purchase_minutes: '部门自行采购市场采购纪要', + inquiry: '部门采购询价模版', + direct_select: '服务商城项目需求模板(直选)', + public_select: '服务商城项目需求模板(公开比选)', + invite_select: '服务商城项目需求模板(邀请比选)', + purchase_requirement: '采购需求填报模板', + import_application: '进口产品申请及专家论证意见表', + single_source: '单一来源论专家证附件', + feasibility_report: '项目可行性论证报告模板', + gov_pur_int: '政府采购意向申请表', + }; + return fallbackNames[type] || '模版'; +}; + +// 获取模版列表 +const getTemplateList = async () => { + try { + const res = await listTemplates(); + if (res.data && Array.isArray(res.data)) { + templateList.value = res.data; + } + } catch (err) { + console.error('获取模版列表失败', err); + } +}; + const dataRules = reactive({ projectName: [{ required: true, message: '采购项目名称不能为空', trigger: 'blur' }], applyDate: [{ required: true, message: '填报日期不能为空', trigger: 'change' }], @@ -2666,6 +2723,7 @@ onMounted(async () => { getSchoolLeaderListData(), getPurchasingManagerListData(), getBusinessLeaderListData(), + getTemplateList(), ]); // 编辑/查看:从 URL 或流程 currJob.orderId 加载详情 From c571c78788410d3d3a2df10299bd14a6ed28b54c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Sat, 7 Mar 2026 13:03:45 +0800 Subject: [PATCH 08/29] =?UTF-8?q?feat(purchase):=20=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E4=B8=8B=E8=BD=BD=E6=8C=89=E9=92=AE=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=8A=A8=E6=80=81=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将所有硬编码的模版名称替换为动态获取 - 模版名称从后台API获取,支持后台维护后前端自动更新 - 统一格式为:下载《{模版名称}》模版 - 保留后备名称确保兼容性 --- .../purchase/purchasingrequisition/add.vue | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/views/purchase/purchasingrequisition/add.vue b/src/views/purchase/purchasingrequisition/add.vue index 80300c6..5cb63da 100644 --- a/src/views/purchase/purchasingrequisition/add.vue +++ b/src/views/purchase/purchasingrequisition/add.vue @@ -240,7 +240,7 @@ :limit="1" :file-type="['doc', 'docx', 'pdf', 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp']" :data="{ fileType: FILE_TYPE_MAP.serviceDirectSelect }" - upload-file-url="/purchase/purchasingfiles/upload" +upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('serviceDirectSelect')" /> 下载《服务商城项目需求模板(直选)》模版 + >下载《{{ getTemplateName('direct_select') }}》模版 @@ -278,7 +278,7 @@ size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block" - >下载《服务商城项目需求模板(公开比选)》模版 + >下载《{{ getTemplateName('public_select') }}》模版
@@ -300,7 +300,7 @@ size="small" @click="downloadTemplate('purchase_requirement')" style="margin-top: 8px; display: inline-block" - >下载《需求模板》模版 + >下载《{{ getTemplateName('purchase_requirement') }}》模版
@@ -329,7 +329,7 @@ size="small" @click="downloadTemplate('invite_select')" style="margin-top: 8px; display: inline-block" - >下载《服务商城项目需求模板(邀请比选)》模版 + >下载《{{ getTemplateName('invite_select') }}》模版
@@ -350,7 +350,7 @@ size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block" - >下载《服务商城项目需求模板(公开比选)》模版 + >下载《{{ getTemplateName('public_select') }}》模版
@@ -480,7 +480,7 @@ size="small" @click="downloadTemplate('feasibility_report')" style="margin-top: 8px; display: inline-block" - >下载《项目可行性论证报告模板.doc》 + >下载《{{ getTemplateName('feasibility_report') }}》模版
@@ -514,7 +514,7 @@ size="small" @click="downloadTemplate('single_source')" style="margin-top: 8px; display: inline-block" - >下载《单一来源论专家证附件.docx》 + >下载《{{ getTemplateName('single_source') }}》模版
@@ -547,7 +547,7 @@ size="small" @click="downloadTemplate('import_application')" style="margin-top: 8px; display: inline-block" - >下载《进口产品申请及专家论证意见表.doc》 + >下载《{{ getTemplateName('import_application') }}》模版 @@ -596,7 +596,7 @@ size="small" @click="downloadTemplate('invite_select')" style="margin-top: 8px; display: inline-block" - >下载《服务商城项目需求模板(邀请比选)》模版 + >下载《{{ getTemplateName('invite_select') }}》模版 @@ -635,7 +635,7 @@ size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block" - >下载《服务商城项目需求模板(公开比选)》模版 + >下载《{{ getTemplateName('public_select') }}》模版 From 68a02f2a439663a6933b27e86c2696384181d991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Sat, 7 Mar 2026 13:17:43 +0800 Subject: [PATCH 09/29] =?UTF-8?q?fix(purchase):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E5=8C=B9=E9=85=8D=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 t.type 改为 t.templateType,与后端返回字段保持一致 - 影响 downloadTemplate 和 getTemplateName 两个函数 --- src/views/purchase/purchasingrequisition/add.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/purchase/purchasingrequisition/add.vue b/src/views/purchase/purchasingrequisition/add.vue index 5cb63da..c1d2a60 100644 --- a/src/views/purchase/purchasingrequisition/add.vue +++ b/src/views/purchase/purchasingrequisition/add.vue @@ -1603,7 +1603,7 @@ watch( // 下载模版:统一走后端接口,按原始文件下载(避免前端静态资源被当成 HTML 返回) const downloadTemplate = async (type: string) => { // 优先从后台模版列表获取模版名称 - const backendTemplate = templateList.value.find((t: any) => t.type === type); + const backendTemplate = templateList.value.find((t: any) => t.templateType === type); let displayName = ''; if (backendTemplate?.templateTitle) { @@ -1641,7 +1641,7 @@ const downloadTemplate = async (type: string) => { // 获取模版名称(用于按钮显示,优先从后台获取) const getTemplateName = (type: string): string => { - const backendTemplate = templateList.value.find((t: any) => t.type === type); + const backendTemplate = templateList.value.find((t: any) => t.templateType === type); if (backendTemplate?.templateTitle) { return backendTemplate.templateTitle.replace(/\.(doc|docx)$/i, ''); } @@ -1659,6 +1659,7 @@ const getTemplateName = (type: string): string => { feasibility_report: '项目可行性论证报告模板', gov_pur_int: '政府采购意向申请表', }; + return fallbackNames[type] || '模版'; }; From e87c9ac3f806eee9b774bcb6413435e8cc7f8fcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Sat, 7 Mar 2026 13:25:38 +0800 Subject: [PATCH 10/29] =?UTF-8?q?fix(purchase):=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加以下字段的中文验证提示: - meetingMinutesSingle: 校党委会议纪要不能为空 - singleSourceProof: 单一来源论专家证附件不能为空 - purchaseRequirement: 需求文件不能为空 - feasibilityReport: 项目可行性论证报告不能为空 - deptSelfMeetingMinutes: 部门采购会议纪要不能为空 - importApplication: 进口产品申请及专家论证意见表不能为空 --- src/views/purchase/purchasingrequisition/add.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/views/purchase/purchasingrequisition/add.vue b/src/views/purchase/purchasingrequisition/add.vue index c1d2a60..3f79f0b 100644 --- a/src/views/purchase/purchasingrequisition/add.vue +++ b/src/views/purchase/purchasingrequisition/add.vue @@ -1832,6 +1832,13 @@ const dataRules = reactive({ trigger: 'blur', }, ], + // 以下字段添加中文验证提示 + meetingMinutesSingle: [{ required: true, message: '校党委会议纪要不能为空', trigger: 'change' }], + singleSourceProof: [{ required: true, message: '单一来源论专家证附件不能为空', trigger: 'change' }], + purchaseRequirement: [{ required: true, message: '需求文件不能为空', trigger: 'change' }], + feasibilityReport: [{ required: true, message: '项目可行性论证报告不能为空', trigger: 'change' }], + deptSelfMeetingMinutes: [{ required: true, message: '部门采购会议纪要不能为空', trigger: 'change' }], + importApplication: [{ required: true, message: '进口产品申请及专家论证意见表不能为空', trigger: 'change' }], }); // 取消 From 1cf529ceadc618ac3d2a9ddbdd77a66fa7cc65cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Sat, 7 Mar 2026 13:46:22 +0800 Subject: [PATCH 11/29] fix --- src/views/purchase/purchasingtemplate/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/purchase/purchasingtemplate/index.vue b/src/views/purchase/purchasingtemplate/index.vue index 63d73c3..4ae1ce4 100644 --- a/src/views/purchase/purchasingtemplate/index.vue +++ b/src/views/purchase/purchasingtemplate/index.vue @@ -7,7 +7,7 @@
新增模板 - 此处模版中的模版编码对应用户端下载模版匹配,请勿随意修改或删除。正常情况下如有发生模版变化,重新上传即可。如有新增模版,请联系管理员进行处理。 + 此处模版中的模版编码对应用户端下载模版匹配(模版类型名称为前端显示名称),请勿随意修改或删除。一般情况下如有发生模版变化,重新上传即可。如有新增模版,请联系管理员进行处理。
From 15b3efe51e1f93b1446e0cc22101626eb27e610d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Sat, 7 Mar 2026 17:32:17 +0800 Subject: [PATCH 12/29] fix --- src/api/purchase/purchasingrequisition.ts | 24 ++ .../SupplementFilesDialog.vue | 249 ++++++++++++++++ .../purchase/purchasingrequisition/index.vue | 43 +++ .../purchasingrequisition/supplement-view.vue | 277 ++++++++++++++++++ 4 files changed, 593 insertions(+) create mode 100644 src/views/purchase/purchasingrequisition/SupplementFilesDialog.vue create mode 100644 src/views/purchase/purchasingrequisition/supplement-view.vue diff --git a/src/api/purchase/purchasingrequisition.ts b/src/api/purchase/purchasingrequisition.ts index 828215f..28461c2 100644 --- a/src/api/purchase/purchasingrequisition.ts +++ b/src/api/purchase/purchasingrequisition.ts @@ -392,3 +392,27 @@ export function updateFiles(data: { purchaseId: string; fileIds: string[] }) { data, }); } + +export function tempStoreSupplement(applyId: string, fileIds: string[]) { + return request({ + url: '/purchase/purchasingapply/supplement/temp-store', + method: 'post', + data: { applyId, fileIds }, + }); +} + +export function submitSupplement(applyId: string) { + return request({ + url: '/purchase/purchasingapply/supplement/submit', + method: 'post', + data: { id: applyId }, + }); +} + +export function getSupplementFileType(purchaseType: string) { + return request({ + url: '/purchase/purchasingapply/supplement/file-type', + method: 'get', + params: { purchaseType }, + }); +} diff --git a/src/views/purchase/purchasingrequisition/SupplementFilesDialog.vue b/src/views/purchase/purchasingrequisition/SupplementFilesDialog.vue new file mode 100644 index 0000000..01fee83 --- /dev/null +++ b/src/views/purchase/purchasingrequisition/SupplementFilesDialog.vue @@ -0,0 +1,249 @@ + + + + + \ No newline at end of file diff --git a/src/views/purchase/purchasingrequisition/index.vue b/src/views/purchase/purchasingrequisition/index.vue index e6e351f..9b72eac 100644 --- a/src/views/purchase/purchasingrequisition/index.vue +++ b/src/views/purchase/purchasingrequisition/index.vue @@ -292,6 +292,9 @@ + + + @@ -405,6 +408,7 @@ const FlowCommentTimeline = defineAsyncComponent(() => import('/@/views/jsonflow const FileArchiveDialog = defineAsyncComponent(() => import('./FileArchiveDialog.vue')); const UpdateFilesDialog = defineAsyncComponent(() => import('./UpdateFilesDialog.vue')); const ContractDialog = defineAsyncComponent(() => import('./contract/ContractDialog.vue')); +const SupplementFilesDialog = defineAsyncComponent(() => import('./SupplementFilesDialog.vue')); // const DocAuditDialog = defineAsyncComponent(() => import('./docAudit/DocAuditDialog.vue')); // 字典数据和品目树数据 @@ -436,6 +440,7 @@ const implementFormRef = ref(); const fileArchiveDialogRef = ref(); const updateFilesDialogRef = ref(); const contractDialogRef = ref(); +const supplementFilesDialogRef = ref(); /** 采购代表弹窗 */ const representorDialogVisible = ref(false); @@ -712,6 +717,18 @@ const getActionMenuItems = (row: any) => { icon: DocumentChecked, visible: () => isCompleted, }, +{ + command: 'supplementFiles', + label: '补充材料', + icon: Upload, + visible: () => isCompleted && row?.purchaseMode === '1' && row?.purchaseChannel === '1' && hasAuth('purchase_supplement'), + }, + { + command: 'submitSupplementFiles', + label: '提交补充材料', + icon: Upload, + visible: () => isCompleted && row?.purchaseMode === '1' && row?.purchaseChannel === '1' && row?.supplementFlowStatus === '-1' && hasAuth('purchase_supplement'), + }, // { // command: 'downloadFileApply', // label: '下载文件审批表', @@ -773,6 +790,12 @@ const handleMoreCommand = (command: string, row: any) => { case 'contract': handleContract(row); break; + case 'supplementFiles': + handleSupplementFiles(row); + break; + case 'submitSupplementFiles': + handleSubmitSupplementFiles(row); + break; } }; @@ -801,6 +824,26 @@ const handleContract = async (row: any) => { } }; +/** 补充材料 */ +const handleSupplementFiles = (row: any) => { + const id = row?.id ?? row?.purchaseId; + if (!id) { + useMessage().warning('无法获取采购申请ID'); + return; + } + supplementFilesDialogRef.value?.open(String(id)); +}; + +/** 提交补充材料 */ +const handleSubmitSupplementFiles = async (row: any) => { + const id = row?.id ?? row?.purchaseId; + if (!id) { + useMessage().warning('无法获取采购申请ID'); + return; + } + supplementFilesDialogRef.value?.open(String(id)); +}; + /** 下载审批表 */ const handleDownloadApply = (row: any) => { const id = row?.id ?? row?.purchaseId; diff --git a/src/views/purchase/purchasingrequisition/supplement-view.vue b/src/views/purchase/purchasingrequisition/supplement-view.vue new file mode 100644 index 0000000..3f11bcd --- /dev/null +++ b/src/views/purchase/purchasingrequisition/supplement-view.vue @@ -0,0 +1,277 @@ +