diff --git a/src/api/tender/index.ts b/src/api/tender/index.ts index cfd5b52..10a75dd 100644 --- a/src/api/tender/index.ts +++ b/src/api/tender/index.ts @@ -122,3 +122,11 @@ export const editStatus = (query: any): AxiosPromise => { data: query }); }; +//获取审核状态 +export const getApproval = (id) => { + return request({ + url: '/tender/tenderPlanLimitList/getVersionDetail', + method: 'get', + params: { versions: id } + }); +}; diff --git a/src/utils/request.ts b/src/utils/request.ts index 266d4be..0ff507c 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -176,22 +176,26 @@ service.interceptors.response.use( } ); // 通用下载方法 -export function download(url: string, params: any, fileName: string, isHeader) { +export function download(url: string, params: any, fileName: string, isHeader?: boolean) { downloadLoadingInstance = ElLoading.service({ text: '正在下载数据,请稍候', background: 'rgba(0, 0, 0, 0.7)' }); // prettier-ignore - return service.post(url, params, { + let data={ transformRequest: [ (params: any) => { return tansParams(params); } ], - headers: isHeader?{}:{ 'Content-Type': 'application/x-www-form-urlencoded' }, + headers: isHeader?{'Content-Type': 'application/json'}:{ 'Content-Type': 'application/x-www-form-urlencoded' }, responseType: 'blob' - }).then(async (resp: any) => { + } + if (isHeader) delete data.transformRequest; + return service + .post(url, params, data as any) + .then(async (resp: any) => { const isLogin = blobValidate(resp); if (isLogin) { - console.log("🚀 ~ download ~ resp:", resp) + console.log('🚀 ~ download ~ resp:', resp); const blob = new Blob([resp]); FileSaver.saveAs(blob, fileName); } else { @@ -201,7 +205,8 @@ export function download(url: string, params: any, fileName: string, isHeader) { ElMessage.error(errMsg); } downloadLoadingInstance.close(); - }).catch((r: any) => { + }) + .catch((r: any) => { console.error(r); ElMessage.error('下载文件出现错误,请联系管理员!'); downloadLoadingInstance.close(); diff --git a/src/views/progress/progressCategory/index.vue b/src/views/progress/progressCategory/index.vue index b867db0..48594c2 100644 --- a/src/views/progress/progressCategory/index.vue +++ b/src/views/progress/progressCategory/index.vue @@ -153,7 +153,6 @@ import { } from '@/api/progress/progressCategory'; import { ProgressCategoryVO, ProgressCategoryQuery, ProgressCategoryForm } from '@/api/progress/progressCategory/types'; import { useUserStoreHook } from '@/store/modules/user'; -import { download } from '@/utils/request'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { progress_unit_type, progress_work_type } = toRefs(proxy?.useDict('progress_unit_type', 'progress_work_type')); @@ -367,9 +366,14 @@ const handleUpdate = async (row: ProgressCategoryVO) => { const handleExport = async () => { const ids = treeRef.value.getCheckedNodes()[0].pathNodes[0].childrenData.map((item) => item.matrixId); - const res = await downloadProgressCategory({ ids }); - download('/progress/progressCategory/export', { ids }, '方阵.xlsx', true); - // window.open(res.data); + proxy?.download( + '/progress/progressCategory/export', + { + ids: ids + }, + `qualityInspection_${new Date().getTime()}.xlsx`, + true + ); }; /** 提交按钮 */ diff --git a/src/views/tender/bidd/index.vue b/src/views/tender/bidd/index.vue index de2e21c..6eda969 100644 --- a/src/views/tender/bidd/index.vue +++ b/src/views/tender/bidd/index.vue @@ -107,7 +107,7 @@ const queryForm = ref({ sheet: '' }); -const versionsData = ref({}); +const versionsData = ref({}); const activeTab = ref('2'); const sheets = ref([]); @@ -272,9 +272,11 @@ const handleSave = (row: any) => { /** 审核按钮操作 */ const handleAudit = async () => { - proxy?.$tab.openPage('/approval/tenderPlan/indexEdit', '审核招标一览', { + proxy?.$tab.openPage('/approval/tenderBidd/indexEdit', '审核招标一览', { id: queryForm.value.versions, - type: 'update' + type: 'update', + activeTab: activeTab.value, + status: versionsData.value.status }); }; diff --git a/src/views/tender/bidd/indexEdit.vue b/src/views/tender/bidd/indexEdit.vue index 148647c..9cfa499 100644 --- a/src/views/tender/bidd/indexEdit.vue +++ b/src/views/tender/bidd/indexEdit.vue @@ -9,14 +9,14 @@ @handleApprovalRecord="handleApprovalRecord" :buttonLoading="buttonLoading" :id="form.id" - :status="form.auditStatus" + :status="form.status" :pageType="routeParams.type" />
-

施工产值

+

招标一览

(proxy?.useDict('design_change_reason_type')); -import { listBillofquantitiesLimitList } from '@/api/contract/index'; +import { getKnowledgeDocument } from '@/api/design/technicalStandard'; +import { getConstructionValue } from '@/api/out/constructionValue'; +import { workScheduleListDetail } from '@/api/progress/plan'; +import { sheetList } from '@/api/contract'; +import { getApproval, getTableList } from '@/api/tender'; // 获取用户 store const userStore = useUserStoreHook(); // 从 store 中获取项目列表和当前选中的项目 @@ -121,11 +125,15 @@ const approvalRecordRef = ref>(); //按钮组件 const flowCodeOptions = [ { - value: currentProject.value?.id + '_xianjiayilan', - label: '合约限价审核' + value: currentProject.value?.id + '_bLimitEquipmentList', + label: '招标一览审批' } ]; - +const sheets = ref([]); +const queryForm = ref({ + versions: '', + sheet: '' +}); const leaveFormRef = ref(); const dialog = reactive({ visible: false, @@ -141,9 +149,12 @@ const submitFormData = ref({ const taskVariables = ref>({}); const initFormData = { - versions: '', - sheet: '', - status: '' + id: undefined, + projectId: currentProject.value?.id, + versions: undefined, + sheet: undefined, + type: undefined, + status: undefined }; const data = reactive({ form: { ...initFormData }, @@ -164,20 +175,43 @@ const reset = () => { }; /** 获取详情 */ -const getInfo = () => { +const getInfo = async () => { loading.value = true; buttonLoading.value = false; nextTick(async () => { - const res = await listBillofquantitiesLimitList({ - projectId: routeParams.value?.id, - versions: routeParams.value.versions, - sheet: routeParams.value.sheet + try { + const params = { + projectId: currentProject.value?.id, + versions: form.value.versions + }; + const res = await sheetList(params); + if (res.code == 200) { + sheets.value = res.data; + if (res.data.length > 0) { + queryForm.value.sheet = res.data[0]; + } else { + queryForm.value.sheet = ''; + } + try { + const res = await getTableList(form.value); + if (res.code == 200) { + tableData.value = res.data; + } + } catch (error) { + console.log(error); + } + } + } catch (error) { + console.log(error); + } + getApproval(form.value.versions).then((res) => { + form.value.status = res.data.status; }); - console.log('res.data', res.data); - Object.assign(form.value, routeParams.value); - console.log('form', form.value); - tableData.value = res.data; - console.log('tableData', tableData.value); + if (routeParams.value.type === 'approval') { + form.value.id = routeParams.value.id; + } else { + form.value.id = routeParams.value.id + '_' + routeParams.value.activeTab; + } loading.value = false; buttonLoading.value = false; }); @@ -235,7 +269,7 @@ const submit = async (status, data) => { proxy.$tab.closePage(proxy.$route); proxy.$router.go(-1); } else { - if ((form.value.auditStatus === 'draft' && (flowCode.value === '' || flowCode.value === null)) || routeParams.value.type === 'add') { + if ((form.value.status === 'draft' && (flowCode.value === '' || flowCode.value === null)) || routeParams.value.type === 'add') { flowCode.value = flowCodeOptions[0].value; dialogVisible.visible = true; return; @@ -257,6 +291,13 @@ onMounted(() => { console.log(routeParams.value); if (routeParams.value.type === 'update' || routeParams.value.type === 'view' || routeParams.value.type === 'approval') { + if (routeParams.value.type === 'approval') { + form.value.versions = routeParams.value.id.split('_')[0]; + form.value.type = routeParams.value.id.split('_')[1]; + } else { + form.value.versions = routeParams.value.id; + form.value.type = routeParams.value.activeTab; + } getInfo(); } });