Commit 7a328c83 by chenjinjing

no message

parent f3a54b43
......@@ -111,7 +111,7 @@ export async function getSpaceInfo(spaceId:string) {
// 空间规格信息
spaceType: spaceInfo.spaceType || "-", // 空间属性
environmentalAssessment: spaceInfo.environmentalAssessment || "-", // 环评
deliveryStandard: changeEnumValue(DELIVERYSTANDARD, spaceInfo.deliveryStandard), // 交付标准
deliveryStandard: spaceInfo.deliveryStandard, // 交付标准
deliveryRemark: spaceInfo.deliveryRemark || "-", // 交付备注说明
floorHeight: spaceInfo.floorHeight || "-", // 层高(m)
floorLoad: spaceInfo.floorLoad || "-", // 承重(KN/m²)
......@@ -120,7 +120,7 @@ export async function getSpaceInfo(spaceId:string) {
powerSupply: spaceInfo.powerSupply || "-", // 电量(w/㎡)
parkingSpaces: spaceInfo.parkingSpaces || "-", // 停车位数量
parkingFee: spaceInfo.parkingFee || "-", // 停车费
deliveryTime: moment(spaceInfo.deliveryTime).format("YYYY-MM-DD") || "-", // 交付时间 时间戳
deliveryTime: spaceInfo.deliveryTime, // 交付时间 时间戳
contactPerson: spaceInfo.contactPerson || "-", // 项目联系人
surroundingFacilities: spaceInfo.surroundingFacilities || "-", // 周边配套
attachments: convertFilesToObjectArray(spaceInfo.attachments), //附件信息
......@@ -224,7 +224,7 @@ export async function getSpaceXCXInfo(spaceId:string) {
// 空间规格信息
spaceType: spaceInfo.spaceType || "-", // 空间属性
environmentalAssessment: spaceInfo.environmentalAssessment || "-", // 环评
deliveryStandard: changeEnumValue(DELIVERYSTANDARD, spaceInfo.deliveryStandard), // 交付标准
deliveryStandard: spaceInfo.deliveryStandard, // 交付标准
deliveryRemark: spaceInfo.deliveryRemark || "-", // 交付备注说明
floorHeight: spaceInfo.floorHeight || "-", // 层高(m)
floorLoad: spaceInfo.floorLoad || "-", // 承重(KN/m²)
......
export enum DIRNAMEENUM {
小程序上传 =1,
管理后台上传
}
/**
* 行业领域
*/
......
......@@ -20,7 +20,10 @@ export enum ERRORENUM {
本年度数据已存在,
智能体调用出错请联系管理员,
空间不存在,
空间已存在
空间已存在,
上传时缺失关键参数,
空文件失败,
只能上传docdocxexcelpngjpg图片
}
......
import { DIRNAMEENUM } from "../config/enum";
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError";
import { eccEnumValue } from "../util/verificationEnum";
var formidable = require("formidable");
const path = require('path');
export async function parseFormParam(req, res, next) {
var form = new formidable.IncomingForm();
form.uploadDir = path.join(__dirname.substring(0,__dirname.indexOf("out")), 'files');
// if (!req.headers) req.headers = {};
// let upType = req.headers.uptype;
let upType = DIRNAMEENUM.管理后台上传;
// if (isNaN(upType)) return next(new BizError(ERRORENUM.上传时缺失关键参数, `传入参数类型不符合规则${upType}` ));
// const FunName = "上传文件";
// let eccSuccess = eccEnumValue(FunName, "upType", DIRNAMEENUM, parseInt(upType));
// if (!eccSuccess) return next(new BizError(ERRORENUM.上传时缺失关键参数, `传入参数不符合规则${upType}` ));
var form = new formidable.IncomingForm({
uploadDir:path.join(__dirname.substring(0,__dirname.indexOf("out")),'files', 'space', `${upType}`),
maxFildsSize:10*1024*1024,
keepExtensions:true
});
form.parse(req, (err, fields, files)=>{
if (err) {
next(err)
return next(err);
} else if (!files || !Object.keys(files).length) {
return next(new BizError(ERRORENUM.空文件失败));
}
else {
req.fields = fields;
req.files = files;
if (!files.file) {
return next(new BizError(ERRORENUM.文件上传失败) )
req.files = {};
if (!files.formData && !files.file ) return next(new BizError(ERRORENUM.文件上传失败) );
if (files.formData) {
req.files.formData = files.formData;
req.files.formData.upType = upType;
}
if ( files.file.type == 'image/png') {
else {
req.files.formData = files.file;
req.files.formData.upType = upType;
}
if (!req.files.formData || !req.files.formData.name) {
return next(new BizError(ERRORENUM.文件上传失败) );
}
console.log(req.files.formData.type);
//获取文件扩展名
const fileExtension = req.files.formData.name.split('.').pop().toLowerCase();
if ( req.files.formData.type == 'image/png') {
req.fileType = '.png';
next();
} else if (files.file.type == 'image/jpg' || files.file.type == 'image/jpeg') {
return next();
} else if (req.files.formData.type == 'image/jpg' || req.files.formData.type == 'image/jpeg') {
req.fileType = '.jpg';
next();
return next();
} else if (req.files.formData.type == "application/vnd.openxmlformats-officedocument.wordprocessingml.document" || fileExtension == 'docx') {
req.fileType = '.docx';
return next();
} else if (req.files.formData.type == "application/msword") {
req.fileType = '.doc';
return next();
} else if (req.files.formData.type == "application/pdf") {
req.fileType = '.pdf';
return next();
} else if (req.files.formData.type == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"){
req.fileType = '.xlsx';
return next();
} else if (req.files.formData.type == "application/vnd.ms-excel"){
req.fileType = '.xls';
return next();
} else {
return next(new BizError(ERRORENUM.只能上传pngjpg图片) )
return next(new BizError(ERRORENUM.只能上传docdocxexcelpngjpg图片) )
}
}
})
}
// export async function parseFormParam(req, res, next) {
// var form = new formidable.IncomingForm();
// form.uploadDir = path.join(__dirname.substring(0,__dirname.indexOf("out")), 'files');
// form.parse(req, (err, fields, files)=>{
// if (err) {
// next(err)
// }
// else {
// req.fields = fields;
// req.files = files;
// if (!files.file) {
// return next(new BizError(ERRORENUM.文件上传失败) )
// }
// if ( files.file.type == 'image/png') {
// req.fileType = '.png';
// next();
// } else if (files.file.type == 'image/jpg' || files.file.type == 'image/jpeg') {
// req.fileType = '.jpg';
// next();
// } else {
// return next(new BizError(ERRORENUM.只能上传png或jpg图片) )
// }
// }
// })
// }
/**
* 文件管理 路由
*/
import asyncHandler = require('express-async-handler');
import { parseFormParam } from '../../middleware/fromParam';
import { checkAdminToken } from '../../middleware/user';
import { getFilesId } from '../../tools/system';
const fs = require('fs');
const path = require('path');
export function setRouter(httpServer) {
httpServer.post('/zj/admin/files/up', checkAdminToken, parseFormParam, asyncHandler(upFiles));
}
/**
* 上传文件
* @param files
* @param type
* @returns
*/
async function upFiles(req, res) {
let fileType = req.fileType;
let { name, upType } = req.files.formData;
let docPath = req.files.formData.path;
let fileDir = path.resolve(docPath, '..');
let fileName = `${getFilesId(upType, fileType, name)}${fileType}`;
let newPath = path.join(fileDir, fileName);
fs.renameSync(docPath, newPath );
console.log("上传文件",fileName,"成功");
res.success({isSuccess:true, url:`/space/${upType}/${fileName}`, fileName});
}
......@@ -14,6 +14,7 @@ import * as adminUserRouters from './admin/user';
import * as adminRouters from './admin/admin';
import * as spaceRouters from './admin/space';
import * as xcxspaceRouters from './enterpriseButler/space';
import * as filesRouters from './admin/files';
export function setRouter(httpServer){
......@@ -33,4 +34,5 @@ export function setRouter(httpServer){
adminRouters.setRouter(httpServer);
spaceRouters.setRouter(httpServer);
xcxspaceRouters.setRouter(httpServer);
filesRouters.setRouter(httpServer);
}
\ No newline at end of file
......@@ -383,7 +383,10 @@ export function convertFilesToObjectArray(fileInput: any) {
}
export function getFilesId(upType:number, type:string, fileName:string) {
return `${fileName.replace(type, "")}${moment().format("YYYYMMDD_HHmmSS")}`;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment