Commit 31ce8f8b by lixinming

3.1代码

parent 3cd6bda6
...@@ -55,6 +55,7 @@ export async function selectOnceInformationDate(id:string) { ...@@ -55,6 +55,7 @@ export async function selectOnceInformationDate(id:string) {
desc:onceDataInfo.desc, desc:onceDataInfo.desc,
source:onceDataInfo.source, source:onceDataInfo.source,
coverImg:onceDataInfo.coverImg, coverImg:onceDataInfo.coverImg,
url:`/policy/${onceDataInfo.coverImg}`,
}; };
......
import { getPolicyBGImgId } from "../tools/system";
/**
* 文件上传
*/
const fs = require('fs');
const path = require('path');
export async function upFile(files, type) {
let pngId = getPolicyBGImgId();
let upUrl = path.join(__dirname.substring(0,__dirname.indexOf("out")), 'files', 'policy');
let stats = fs.existsSync(upUrl);
if (!stats) fs.mkdirSync(upUrl);
let fileName = `${pngId}${type}`;
fs.renameSync(files.file.path, path.join(upUrl, `${fileName}` ));
return {isSuccess:true, url:`/policy/${fileName}`, fileName};
}
\ No newline at end of file
/**
* 文件上传
*/
\ No newline at end of file
/** /**
* 政策速递 * 政策速递 企业端
*/ */
import moment = require("moment"); import moment = require("moment");
import { selectInformationByParam, selectInformationByParamCount, selectInformationByParamToPage, selectInformationDataById } from "../../data/guanWeiHui/information"; import { selectInformationByParam, selectInformationByParamCount, selectInformationByParamToPage, selectInformationDataById, selectOnceInformationByParamToParam } from "../../data/guanWeiHui/information";
...@@ -30,7 +30,7 @@ export async function getInformationList(uscc:string, selectTitle:string, page:n ...@@ -30,7 +30,7 @@ export async function getInformationList(uscc:string, selectTitle:string, page:n
informationList.forEach((info) => { informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info; let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, coverImg}); dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, url:`/policy/${coverImg}`});
}); });
...@@ -59,7 +59,7 @@ export async function getOutOfDateInformationList(uscc:string, selectTitle:strin ...@@ -59,7 +59,7 @@ export async function getOutOfDateInformationList(uscc:string, selectTitle:strin
informationList.forEach((info) => { informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info; let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, coverImg}); dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"), source, url:`/policy/${coverImg}`});
}); });
...@@ -68,7 +68,7 @@ export async function getOutOfDateInformationList(uscc:string, selectTitle:strin ...@@ -68,7 +68,7 @@ export async function getOutOfDateInformationList(uscc:string, selectTitle:strin
/** /**
* 获取过期资讯详情 * 获取资讯详情
* @param uscc * @param uscc
* @param id 标识 * @param id 标识
*/ */
...@@ -84,3 +84,12 @@ export async function getOnceinformation(uscc:string, id:string) { ...@@ -84,3 +84,12 @@ export async function getOnceinformation(uscc:string, id:string) {
return {infomation:reuslt}; return {infomation:reuslt};
} }
export async function getInformationTitleList() {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
let informationData = await selectOnceInformationByParamToParam(selectParam);
return {title:informationData.title};
}
\ No newline at end of file
...@@ -95,6 +95,7 @@ export async function selectOrganizationInfo(uscc:string) { ...@@ -95,6 +95,7 @@ export async function selectOrganizationInfo(uscc:string) {
export async function updateFuHuaQiBaseData(uscc:string, param) { export async function updateFuHuaQiBaseData(uscc:string, param) {
/**表单校验 */ /**表单校验 */
eccFormParam("更新孵化器基础数据", eccFormParamConfig.BaseParamUpdateConfig, param); eccFormParam("更新孵化器基础数据", eccFormParamConfig.BaseParamUpdateConfig, param);
if (param.hatchingGround && param.hatchingGround.length) { if (param.hatchingGround && param.hatchingGround.length) {
param.hatchingGround.forEach(hatchingGroundInfo => { param.hatchingGround.forEach(hatchingGroundInfo => {
eccFormParam("更新孵化器基础数据 经备案孵化场地", eccFormParamConfig.BaseParamUpdateHatchingGroundConfig, hatchingGroundInfo); eccFormParam("更新孵化器基础数据 经备案孵化场地", eccFormParamConfig.BaseParamUpdateHatchingGroundConfig, hatchingGroundInfo);
...@@ -105,24 +106,27 @@ export async function updateFuHuaQiBaseData(uscc:string, param) { ...@@ -105,24 +106,27 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
if (!param.professionalTechnologyCreateTime ) throw new BizError(ERRORENUM.参数错误, "修改孵化器=>我的数据信息", "professionalTechnologyCreateTime" ); if (!param.professionalTechnologyCreateTime ) throw new BizError(ERRORENUM.参数错误, "修改孵化器=>我的数据信息", "professionalTechnologyCreateTime" );
if (!param.professionalTechnologyAmount) throw new BizError(ERRORENUM.参数错误, "修改孵化器=>我的数据信息", "professionalTechnologyAmount" ); if (!param.professionalTechnologyAmount) throw new BizError(ERRORENUM.参数错误, "修改孵化器=>我的数据信息", "professionalTechnologyAmount" );
} }
//校验 专业技术平台 参数 /**
if (param.isProfessionalTechnology) { * 校验 专业技术平台 参数
const ProfessionalTechnologyConf = { * 专业技术平台在3.1时候被单独成一个功能了
professionalTechnologyName:"String", */
professionalTechnologyCreateTime:"Number", // if (param.isProfessionalTechnology) {
professionalTechnologyAmount:"Number", // const ProfessionalTechnologyConf = {
}; // professionalTechnologyName:"String",
const CheckProfessionalTechnologyConf = { // professionalTechnologyCreateTime:"Number",
professionalTechnologyName:param.professionalTechnologyName, // professionalTechnologyAmount:"Number",
professionalTechnologyCreateTime:param.professionalTechnologyCreateTime, // };
professionalTechnologyAmount:param.professionalTechnologyAmount, // const CheckProfessionalTechnologyConf = {
}; // professionalTechnologyName:param.professionalTechnologyName,
eccReqParamater(ProfessionalTechnologyConf, CheckProfessionalTechnologyConf); // professionalTechnologyCreateTime:param.professionalTechnologyCreateTime,
} else { // professionalTechnologyAmount:param.professionalTechnologyAmount,
param.professionalTechnologyName = ""; // };
param.professionalTechnologyCreateTime = 0; // eccReqParamater(ProfessionalTechnologyConf, CheckProfessionalTechnologyConf);
param.professionalTechnologyAmount = 0; // } else {
} // param.professionalTechnologyName = "";
// param.professionalTechnologyCreateTime = 0;
// param.professionalTechnologyAmount = 0;
// }
//校验是否与第三方机构合作 //校验是否与第三方机构合作
if (param.isCooperation) { if (param.isCooperation) {
eccReqParamater({cooperationInstitutions:"String"}, {cooperationInstitutions:param.cooperationInstitutions}); eccReqParamater({cooperationInstitutions:"String"}, {cooperationInstitutions:param.cooperationInstitutions});
......
...@@ -4,9 +4,11 @@ ...@@ -4,9 +4,11 @@
* *
*/ */
import * as fuhuaqiData from "../../../data/fuHuaQi/fuhuaqi"; import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getI18nRegisterId } from "../../../tools/system"; import { getI18nRegisterId } from "../../../../tools/system";
import { addRegister, deleteI18nRegisterListById, findI18nRegisterListByParam, findOneI18nRegister } from "../../../data/fuHuaQi/i18nRegister"; import { addRegister, deleteI18nRegisterListById, findI18nRegisterListByParam, findOneI18nRegister, getCount } from "../../../../data/fuHuaQi/instituQualify/i18nRegister";
/** /**
...@@ -86,72 +88,6 @@ export async function i18nRegisterListData(uscc) { ...@@ -86,72 +88,6 @@ export async function i18nRegisterListData(uscc) {
}); });
}); });
return {dataList} return {dataList, title:"国际化登记"}
}
/**
* 修改创投基金登记信息
* @param uscc
* @param isCreatePTP
* @param scalePTP
* @param isParticipateInPTP
*/
export async function updatePTPInfo(uscc:string, isCreatePTP:boolean, scalePTP:number, isParticipateInPTP:boolean) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isCreatePTP = isCreatePTP;
fuHuaQiInfo.scalePTP = scalePTP;
fuHuaQiInfo.isParticipateInPTP = isParticipateInPTP;
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getFuHuaQiPTP(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let PTPInfo = {
isCreatePTP:fuHuaQiInfo.isCreatePTP,
scalePTP:fuHuaQiInfo.scalePTP,
isParticipateInPTP:fuHuaQiInfo.isParticipateInPTP,
};
return {PTPInfo};
} }
export async function updateProfessionalTechnology(uscc:string, isProfessionalTechnology:boolean, professionalTechnologyName:String,
professionalTechnologyCreateTime:number, professionalTechnologyAmount:number, isCooperation:boolean, cooperationInstitutions:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isProfessionalTechnology= isProfessionalTechnology;//是否专业技术平台
fuHuaQiInfo.professionalTechnologyName= professionalTechnologyName;//专业技术平台名称
fuHuaQiInfo.professionalTechnologyCreateTime= professionalTechnologyCreateTime;//时间 年份 xxxx年01月01日 的时间戳
fuHuaQiInfo.professionalTechnologyAmount= professionalTechnologyAmount;//投资金额万元
fuHuaQiInfo.isCooperation= isCooperation;//是否与第三方合作
fuHuaQiInfo.cooperationInstitutions= cooperationInstitutions;//合作机构名称
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getProfessionalTechnology(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let professionalTechnologyInfo = {
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology,
professionalTechnologyName:fuHuaQiInfo.professionalTechnologyName,
professionalTechnologyCreateTime:fuHuaQiInfo.professionalTechnologyCreateTime,
professionalTechnologyAmount:fuHuaQiInfo.professionalTechnologyAmount,
isCooperation:fuHuaQiInfo.isCooperation,
cooperationInstitutions:fuHuaQiInfo.cooperationInstitutions,
};
return { professionalTechnologyInfo };
}
\ No newline at end of file
/**
* 大学/科研院所合作机构 逻辑
*/
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as icrData from "../../../../data/fuHuaQi/instituQualify/icr";
export async function createIcr(uscc:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let id = getRandomId(uscc);
await icrData.addData(id, uscc, fuHuaQiInfo.name, po, ce, cMode, cAchievements, startTimeMs);
return {isSuccess:true};
}
export async function updateIcr(uscc:string, id:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
let dataInfo = await icrData.findOneData(id);
dataInfo.po = po;
dataInfo.ce = ce;
dataInfo.cMode = cMode;
dataInfo.cAchievements = cAchievements;
dataInfo.startTimeMs = startTimeMs;
await dataInfo.save();
return {isSuccess:true};
}
export async function selectIcr(id:string) {
let dataInfo = await icrData.findOneData(id);
let startUpData = {
po:dataInfo.po,
ce:dataInfo.ce,
cMode:dataInfo.cMode,
cAchievements:dataInfo.cAchievements,
startTimeMs:dataInfo.startTimeMs,
};
return {startUpData}
}
export async function deleteIcr(id:string) {
await icrData.deleteDataById(id);
return {isSuccess:true}
}
export async function getIcrListData(uscc) {
let registerList = await icrData.findListDataByParam({uscc});
let dataList = [];
registerList.forEach(info => {
dataList.push({
id:info.id,
po:info.po,
ce:info.ce,
cMode:info.cMode,
cAchievements:info.cAchievements,
startTimeMs:info.startTimeMs,
});
});
return {dataList, title:"大学/科研院所合作机构"}
}
import * as i18nRegisterData from "../../../../data/fuHuaQi/instituQualify/i18nRegister";
import * as icrData from "../../../../data/fuHuaQi/instituQualify/icr";
import * as startupTeacherData from "../../../../data/fuHuaQi/instituQualify/startupTeacher";
import * as zjBeyondLayoutData from "../../../../data/fuHuaQi/instituQualify/zjBeyondLayout";
import { STATEENUM } from "../../../../config/enum";
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
/**
* 修改创投基金登记信息
* @param uscc
* @param isCreatePTP
* @param scalePTP
* @param isParticipateInPTP
*/
export async function updatePTPInfo(uscc:string, isCreatePTP:boolean, scalePTP:number, isParticipateInPTP:boolean, participatingFundCompany:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isCreatePTP = isCreatePTP;
fuHuaQiInfo.scalePTP = scalePTP;
fuHuaQiInfo.isParticipateInPTP = isParticipateInPTP;
fuHuaQiInfo.participatingFundCompany = participatingFundCompany,
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getFuHuaQiPTP(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let PTPInfo = {
isCreatePTP:fuHuaQiInfo.isCreatePTP,
scalePTP:fuHuaQiInfo.scalePTP,
isParticipateInPTP:fuHuaQiInfo.isParticipateInPTP,
participatingFundCompany:fuHuaQiInfo.participatingFundCompany,
};
return {PTPInfo};
}
export async function updateProfessionalTechnology(uscc:string, isProfessionalTechnology:boolean, professionalTechnologyName:String,
professionalTechnologyCreateTime:number, professionalTechnologyAmount:number, isCooperation:boolean, cooperationInstitutions:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isProfessionalTechnology= isProfessionalTechnology;//是否专业技术平台
fuHuaQiInfo.professionalTechnologyName= professionalTechnologyName;//专业技术平台名称
fuHuaQiInfo.professionalTechnologyCreateTime= professionalTechnologyCreateTime;//时间 年份 xxxx年01月01日 的时间戳
fuHuaQiInfo.professionalTechnologyAmount= professionalTechnologyAmount;//投资金额万元
fuHuaQiInfo.isCooperation= isCooperation;//是否与第三方合作
fuHuaQiInfo.cooperationInstitutions= cooperationInstitutions;//合作机构名称
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getProfessionalTechnology(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let professionalTechnologyInfo = {
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology,
professionalTechnologyName:fuHuaQiInfo.professionalTechnologyName,
professionalTechnologyCreateTime:fuHuaQiInfo.professionalTechnologyCreateTime,
professionalTechnologyAmount:fuHuaQiInfo.professionalTechnologyAmount,
isCooperation:fuHuaQiInfo.isCooperation,
cooperationInstitutions:fuHuaQiInfo.cooperationInstitutions,
};
return { professionalTechnologyInfo };
}
export async function overview(uscc:string) {
let i18n = await i18nRegisterData.getCount(uscc);
let icr = await icrData.getCount(uscc);
let startupteacher = await startupTeacherData.getCount(uscc);
let zjbeyondlayout = await zjBeyondLayoutData.getCount(uscc);
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let data = {
i18n,
icr,
startupteacher,
zjbeyondlayout,
isCreatePTP:fuHuaQiInfo.isCreatePTP != STATEENUM.未选,
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology != STATEENUM.未选
};
return data;
}
/**
* 创业导师 逻辑
*/
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as startupTeacherData from "../../../../data/fuHuaQi/instituQualify/startupTeacher";
export async function createStartUpTeacher(uscc:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let id = getRandomId(uscc);
await startupTeacherData.addData(id, uscc, fuHuaQiInfo.name, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises);
return {isSuccess:true};
}
export async function updateStartUpTeacher(uscc:string, id:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
let dataInfo = await startupTeacherData.findOneData(id);
dataInfo.teacherName = teacherName;
dataInfo.unit = unit;
dataInfo.duties = duties;
dataInfo.speciality = speciality;
dataInfo.teacherLv = teacherLv;
dataInfo.serviceEnterprises = serviceEnterprises;
await dataInfo.save();
return {isSuccess:true};
}
export async function selectStartUpTeacher(id:string) {
let dataInfo = await startupTeacherData.findOneData(id);
let startUpData = {
teacherName:dataInfo.teacherName,
unit:dataInfo.unit,
duties:dataInfo.duties,
speciality:dataInfo.speciality,
teacherLv:dataInfo.teacherLv,
serviceEnterprises:dataInfo.serviceEnterprises,
};
return {startUpData}
}
export async function deleteStartUpTeacher(id:string) {
await startupTeacherData.deleteDataById(id);
return {isSuccess:true}
}
export async function getStartUpTeacherListData(uscc) {
let registerList = await startupTeacherData.findListDataByParam({uscc});
let dataList = [];
registerList.forEach(info => {
dataList.push({
id:info.id,
teacherName:info.teacherName,
unit:info.unit,
duties:info.duties,
speciality:info.speciality,
teacherLv:info.teacherLv,
serviceEnterprises:info.serviceEnterprises,
});
});
return {dataList, title:"创业导师情况"}
}
/**
* 张江以外布局 逻辑
*/
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as zjBeyondLayoutData from "../../../../data/fuHuaQi/instituQualify/zjBeyondLayout";
export async function createZJBeyondLayout(uscc:string, city:string, area:number, operationMode:number) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let id = getRandomId(uscc);
await zjBeyondLayoutData.addData(id, uscc, fuHuaQiInfo.name, city, area, operationMode);
return {isSuccess:true};
}
export async function updateZJBeyondLayout(uscc:string, id:string, city:string, area:number, operationMode:number) {
let dataInfo = await zjBeyondLayoutData.findOneData(id);
dataInfo.city = city;
dataInfo.area = area;
dataInfo.operationMode = operationMode;
await dataInfo.save();
return {isSuccess:true};
}
export async function selectZJBeyondLayout(id:string) {
let dataInfo = await zjBeyondLayoutData.findOneData(id);
let layoutData = {
city:dataInfo.city,
area:dataInfo.area,
operationMode:dataInfo.operationMode
};
return {layoutData}
}
export async function deleteZJBeyondLayout(id:string) {
await zjBeyondLayoutData.deleteDataById(id);
return {isSuccess:true}
}
export async function getZJBeyondLayoutListData(uscc:string) {
let registerList = await zjBeyondLayoutData.findListDataByParam({uscc});
let dataList = [];
registerList.forEach(info => {
dataList.push({
id:info.id,
city:info.city,
area:info.area,
operationMode:info.operationMode
});
});
return {dataList, title:"张江以外布局情况"}
}
...@@ -20,7 +20,6 @@ import { findFinancingCount, findFinancingListByTaskId, updateFinancingDraftLock ...@@ -20,7 +20,6 @@ import { findFinancingCount, findFinancingListByTaskId, updateFinancingDraftLock
import { findAllNotDisabledFuHuaQi } from "../../../../data/fuHuaQi/fuhuaqi"; import { findAllNotDisabledFuHuaQi } from "../../../../data/fuHuaQi/fuhuaqi";
import * as monthTableData from "../../../../data/fuHuaQi/monthTask/monthTable"; import * as monthTableData from "../../../../data/fuHuaQi/monthTask/monthTable";
import * as taskData from "../../../../data/fuHuaQi/monthTask/task"; import * as taskData from "../../../../data/fuHuaQi/monthTask/task";
import * as quarterTaskData from "../../../../data/fuHuaQi/quarterTask/quarterTask";
import { BizError } from "../../../../util/bizError"; import { BizError } from "../../../../util/bizError";
import { logHandle } from "../../../../util/log"; import { logHandle } from "../../../../util/log";
import { getLastMonthTimeKey, getQuarterTaskId, getTaskId, getTaskIdByTime, getThisMonthMs, getTimeKey } from "../../../../tools/system"; import { getLastMonthTimeKey, getQuarterTaskId, getTaskId, getTaskIdByTime, getThisMonthMs, getTimeKey } from "../../../../tools/system";
...@@ -31,7 +30,7 @@ import * as scoreBiz from "../score"; ...@@ -31,7 +30,7 @@ import * as scoreBiz from "../score";
* 孵化器的任务列表 (待办任务) * 孵化器的任务列表 (待办任务)
* 小程序端 * 小程序端
* @param uscc 孵化器统一信用 * @param uscc 孵化器统一信用
* @returns [{key:1, title:'', enterpriseList:[] }] * @returns [{key:1, title:'', list:[] }]
*/ */
export async function fuHuaQiTaskList(uscc:string) { export async function fuHuaQiTaskList(uscc:string) {
/**得到这个月的任务map taskMap格式为{type:{isSubmit}} */ /**得到这个月的任务map taskMap格式为{type:{isSubmit}} */
...@@ -50,7 +49,7 @@ export async function fuHuaQiTaskList(uscc:string) { ...@@ -50,7 +49,7 @@ export async function fuHuaQiTaskList(uscc:string) {
key:ValueNumber, key:ValueNumber,
title:anyKey, //标题 title:anyKey, //标题
month:'', month:'',
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称 list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
}; };
/**没有提交任务 则获取本月提交的任务相关信息 */ /**没有提交任务 则获取本月提交的任务相关信息 */
...@@ -77,7 +76,7 @@ export async function fuHuaQiTaskList(uscc:string) { ...@@ -77,7 +76,7 @@ export async function fuHuaQiTaskList(uscc:string) {
dataList.forEach(info => { dataList.forEach(info => {
let addInfo:any = {name:info.name, id:info.uscc, isCreate:info.isCreate || false}; let addInfo:any = {name:info.name, id:info.uscc, isCreate:info.isCreate || false};
onceObj.enterpriseList.push(addInfo); onceObj.list.push(addInfo);
}); });
result.push(onceObj); result.push(onceObj);
} }
...@@ -93,7 +92,7 @@ export async function fuHuaQiTaskList(uscc:string) { ...@@ -93,7 +92,7 @@ export async function fuHuaQiTaskList(uscc:string) {
* 小程序端 2.0 * 小程序端 2.0
* 只显示selectTime月分的 已经办理的任务 * 只显示selectTime月分的 已经办理的任务
* @param uscc 孵化器统一信用 * @param uscc 孵化器统一信用
* @returns [{type:1, title:'', enterpriseList:[] }] * @returns [{type:1, title:'', list:[] }]
*/ */
export async function fuHuaQiCompletedList(uscc:string, selectTime:number) { export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */ /**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
...@@ -113,7 +112,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) { ...@@ -113,7 +112,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
key:ValueNumber, key:ValueNumber,
title:anyKey, //标题 title:anyKey, //标题
editable, editable,
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称 list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
}; };
/**当选中了系统上线时间前的时间 任务不存在 就是空列表 */ /**当选中了系统上线时间前的时间 任务不存在 就是空列表 */
...@@ -144,7 +143,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) { ...@@ -144,7 +143,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
dataList.forEach(info => { dataList.forEach(info => {
let addInfo:any = {name:info.name, id:info.uscc, editable, isCreate:info.isCreate || false}; let addInfo:any = {name:info.name, id:info.uscc, editable, isCreate:info.isCreate || false};
onceObj.enterpriseList.push(addInfo); onceObj.list.push(addInfo);
}); });
result.push(onceObj); result.push(onceObj);
} }
...@@ -160,7 +159,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) { ...@@ -160,7 +159,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
* 小程序端 2.0 * 小程序端 2.0
* 只显示selectTime月份的 过期任务 * 只显示selectTime月份的 过期任务
* @param uscc 孵化器统一信用 * @param uscc 孵化器统一信用
* @returns [{type:1, title:'', enterpriseList:[] }] * @returns [{type:1, title:'', list:[] }]
*/ */
export async function fuHuaQiPastdueList(uscc:string, selectTime:number) { export async function fuHuaQiPastdueList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */ /**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
...@@ -178,7 +177,7 @@ export async function fuHuaQiPastdueList(uscc:string, selectTime:number) { ...@@ -178,7 +177,7 @@ export async function fuHuaQiPastdueList(uscc:string, selectTime:number) {
let onceObj:any = { let onceObj:any = {
key:ValueNumber, key:ValueNumber,
title:anyKey, //标题 title:anyKey, //标题
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称 list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
}; };
/**当选中了系统上线时间前的时间 任务不存在 就是空列表 */ /**当选中了系统上线时间前的时间 任务不存在 就是空列表 */
......
...@@ -40,14 +40,14 @@ export async function fuHuaQiQuarterTaskList(uscc:string) { ...@@ -40,14 +40,14 @@ export async function fuHuaQiQuarterTaskList(uscc:string) {
let onceObj = { let onceObj = {
key:ValueNumber, key:ValueNumber,
title:anyKey, //标题 title:anyKey, //标题
quarter:'', month:'',//由于方便前端直接判断 quarter 改成了 month
list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称 list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
}; };
/**没有提交任务 则获取本月提交的任务相关信息 */ /**没有提交任务 则获取本月提交的任务相关信息 */
if (taskMap[ValueStr] && !taskMap[ValueStr].isSubmit) { if (taskMap[ValueStr] && !taskMap[ValueStr].isSubmit) {
let dataList = []; let dataList = [];
onceObj.quarter = `第${taskMap[ValueStr].quarter}季度`; onceObj.month = `第${taskMap[ValueStr].quarter}季度`;
switch(ValueNumber) { switch(ValueNumber) {
case QUARTERTASKTYPEENUM.孵化器经营状况: case QUARTERTASKTYPEENUM.孵化器经营状况:
/** 这里加限制 在月度任务中 isUpdate=true代表已经修改 isUpdate=false表示没有这个任务 */ /** 这里加限制 在月度任务中 isUpdate=true代表已经修改 isUpdate=false表示没有这个任务 */
...@@ -102,7 +102,7 @@ export async function fuHuaQiQuarterCompletedTaskList(uscc:string, selectTime:nu ...@@ -102,7 +102,7 @@ export async function fuHuaQiQuarterCompletedTaskList(uscc:string, selectTime:nu
/**获取提交的任务 */ /**获取提交的任务 */
if ( taskMap[ValueStr].isSubmit ) { if ( taskMap[ValueStr].isSubmit ) {
onceObj.quarter = `第${taskMap[ValueStr].quarter}季度`; onceObj.month = `第${taskMap[ValueStr].quarter}季度`;
let dataList = []; let dataList = [];
switch(ValueNumber) { switch(ValueNumber) {
...@@ -158,7 +158,7 @@ export async function fuHuaQiQuarterPastdueTaskList(uscc:string, selectTime:numb ...@@ -158,7 +158,7 @@ export async function fuHuaQiQuarterPastdueTaskList(uscc:string, selectTime:numb
/**未提交的数据 */ /**未提交的数据 */
if (!taskMap[ValueStr].isSubmit) { if (!taskMap[ValueStr].isSubmit) {
onceObj.quarter = `第${taskMap[ValueStr].quarter}季度`; onceObj.month = `第${taskMap[ValueStr].quarter}季度`;
result.push(onceObj); result.push(onceObj);
} }
} }
......
/**
* 政策速递
*/
import moment = require("moment");
import { selectInformationByParamCount, selectInformationByParamToPage, selectInformationDataById, selectOnceInformationByParamToParam } from "../../data/guanWeiHui/information";
/**
* 获取资讯列表
*
* @param uscc 预留好 后期做推荐的参数
* @param selectTitle
* @param page 分页
* @returns
*/
export async function getInformationList(uscc:string, selectTitle:string, page:number) {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
if (selectTitle) {
selectParam["title"] = {"$regex":`${selectTitle}`};
}
let informationList = await selectInformationByParamToPage(selectParam, (page-1) * 10 );
let count = await selectInformationByParamCount(selectParam);
let pageCount = count ? Math.ceil(count/10) : 0;
let dataList = [];
informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, url:`/policy/${coverImg}`});
});
return {dataList, count, pageCount};
}
/**
* 获取过期资讯列表
*
* @param uscc 预留好 后期做推荐的参数
* @param selectTitle 模糊查询标题
* @param page 分页
* @returns
*/
export async function getOutOfDateInformationList(uscc:string, selectTitle:string, page:number) {
let selectParam = {"$or":[{closeTimeMs: {"$lt":new Date().valueOf()} }, {state:false}] };
if (selectTitle) {
selectParam["title"] = {"$regex":`${selectTitle}`};
}
let informationList = await selectInformationByParamToPage(selectParam, (page-1) * 10 );
let count = await selectInformationByParamCount(selectParam);
let pageCount = count ? Math.ceil(count/10) : 0;
let dataList = [];
informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, url:`/policy/${coverImg}`});
});
return {dataList, count, pageCount};
}
/**
* 获取资讯详情
* @param uscc
* @param id 标识
*/
export async function getOnceinformation(uscc:string, id:string) {
let informationData = await selectInformationDataById(id );
let reuslt = {
title:informationData.title,
desc:informationData.desc,
source:informationData.source,
createTime:moment(informationData.createTimeMs).format("MM/DD")
};
return {infomation:reuslt};
}
export async function getInformationTitleList() {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
let informationData= await selectOnceInformationByParamToParam(selectParam);
return {title:informationData.title};
}
\ No newline at end of file
...@@ -18,12 +18,12 @@ export const BaseParamUpdateConfig = { ...@@ -18,12 +18,12 @@ export const BaseParamUpdateConfig = {
acreageTotal:{type:"Number", notMustHave:true},//孵化器总面积(㎡) acreageTotal:{type:"Number", notMustHave:true},//孵化器总面积(㎡)
acreagePersonalUse:{type:"Number", notMustHave:true},//孵化器自用面积(㎡) acreagePersonalUse:{type:"Number", notMustHave:true},//孵化器自用面积(㎡)
hatchingGround:{type:"[Object]", notMustHave:true},//经备案孵化场地 hatchingGround:{type:"[Object]", notMustHave:true},//经备案孵化场地
isProfessionalTechnology:{type:"Boolean", notMustHave:true},//是否专业技术平台 // isProfessionalTechnology:{type:"Boolean", notMustHave:true},//是否专业技术平台
professionalTechnologyName:{type:"String", notMustHave:true},//专业技术平台名称 // professionalTechnologyName:{type:"String", notMustHave:true},//专业技术平台名称
cooperationInstitutions:{type:"String", notMustHave:true},//合作机构名称 cooperationInstitutions:{type:"String", notMustHave:true},//合作机构名称
isCooperation:{type:"Boolean", notMustHave:true},//是否与第三方机构合作 isCooperation:{type:"Boolean", notMustHave:true},//是否与第三方机构合作
professionalTechnologyCreateTime:{type:"Number", notMustHave:true},//时间 年份 xxxx年01月01日 的时间戳 // professionalTechnologyCreateTime:{type:"Number", notMustHave:true},//时间 年份 xxxx年01月01日 的时间戳
professionalTechnologyAmount:{type:"Number", notMustHave:true},//投资金额 万元 // professionalTechnologyAmount:{type:"Number", notMustHave:true},//投资金额 万元
}; };
/** /**
* 使用端: 小程序端【孵化器入口】 * 使用端: 小程序端【孵化器入口】
......
...@@ -388,3 +388,52 @@ export enum STATEENUM { ...@@ -388,3 +388,52 @@ export enum STATEENUM {
, ,
} }
/**
* 合作方式
*/
export enum COOPERATIONMODE {
技术服务模式 = 1,
技术转让模式,
委托开放模式,
合作开发模式,
企业研发平台模式,
人才培养模式,
创新联合体模式,
其他
}
/**
* 专业特长
*/
export enum SPECIALITY {
企业管理 = 1,
科技金融_风险投资_,
科技金融_其他_,
技术专家_法律专家_,
人事专家,
财税专家,
其他
}
/**
* 导师等级
*/
export enum TEACHERLV {
国家级=1,
市级,
其他
}
/**
* 张江以外布局情况 运营模式
*/
export enum ZJBEYONDLAYOUTOPERATIONMODE {
委托运营 = 1,
房屋租赁,
品牌输出,
其他
}
\ No newline at end of file
...@@ -64,7 +64,9 @@ export enum ERRORENUM { ...@@ -64,7 +64,9 @@ export enum ERRORENUM {
未填报数据不能删除, 未填报数据不能删除,
已提交的数据不能进行操作, 已提交的数据不能进行操作,
请先填报数据, 请先填报数据,
该报表需要填写本季度内容后提交 该报表需要填写本季度内容后提交,
只能上传pngjpg图片,
文件上传失败
} }
export enum ERRORCODEENUM { export enum ERRORCODEENUM {
......
...@@ -224,12 +224,12 @@ export const FuHuaQiBaseDataConfig = { ...@@ -224,12 +224,12 @@ export const FuHuaQiBaseDataConfig = {
acreageTotal:{key:"孵化器总面积"}, acreageTotal:{key:"孵化器总面积"},
acreagePersonalUse:{key:"孵化器自用面积"}, acreagePersonalUse:{key:"孵化器自用面积"},
hatchingGround:{key:"经备案孵化场地"}, hatchingGround:{key:"经备案孵化场地"},
isProfessionalTechnology:{key:"是否专业技术平台"}, // isProfessionalTechnology:{key:"是否专业技术平台"},
professionalTechnologyName:{key:"专业技术平台名称"}, // professionalTechnologyName:{key:"专业技术平台名称"},
professionalTechnologyCreateTime:{key:"专业技术平台时间"}, // professionalTechnologyCreateTime:{key:"专业技术平台时间"},
// professionalTechnologyAmount:{key:"专业技术平台投资金额"},
isCooperation:{key:"是否与第三方机构合作"}, isCooperation:{key:"是否与第三方机构合作"},
cooperationInstitutions:{key:"合作机构名称"}, cooperationInstitutions:{key:"合作机构名称"},
professionalTechnologyAmount:{key:"专业技术平台投资金额"},
enterpriseTotal:{key:"累计企业"} enterpriseTotal:{key:"累计企业"}
} }
......
...@@ -80,7 +80,7 @@ const enterpriseSchema = new Schema({ ...@@ -80,7 +80,7 @@ const enterpriseSchema = new Schema({
operatingAddress:{type:[String], default:[]},//经营地址 operatingAddress:{type:[String], default:[]},//经营地址
oldLogonAddress:{type:[String], default:[]},//迁入前注册地址 oldLogonAddress:{type:[String], default:[]},//迁入前注册地址
/**3.0新加字段 */ /**3.0新加字段 */
initialTeam:{type:[initialTeamSchema], default:[]},//创始团队 initialTeam:{type:[initialTeamSchema], default:[]},//创始团队 弃用
qualification:{type:qualificationSchema},//企业资质 qualification:{type:qualificationSchema},//企业资质
intellectualProperty:{type:intellectualPropertySchema},//知识产权 intellectualProperty:{type:intellectualPropertySchema},//知识产权
firstClassTalent:{type:Boolean, default:false},//是否拥有国际一流人才 默认没有 舍弃 firstClassTalent:{type:Boolean, default:false},//是否拥有国际一流人才 默认没有 舍弃
......
...@@ -65,11 +65,12 @@ const fuHuaQiSchema = new Schema({ ...@@ -65,11 +65,12 @@ const fuHuaQiSchema = new Schema({
/**2.3加入字段 */ /**2.3加入字段 */
introduction:{type:String, default:""},//孵化器简介 introduction:{type:String, default:""},//孵化器简介
/**3.1 创投基金相关*/ /**3.1 创投基金相关*/
isCreatePTP:Boolean,//是否成立创投基金 isCreatePTP:Number,//是否成立创投基金
scalePTP:Number,//基金规模 scalePTP:Number,//基金规模
isParticipateInPTP:Boolean,//是否参与创投基金 isParticipateInPTP:Boolean,//是否参与创投基金
participatingFundCompany:String,//参股基金公司名
/**专业技术平台 */ /**专业技术平台 */
isProfessionalTechnology:Boolean,//是否专业技术平台 isProfessionalTechnology:Number,//是否专业技术平台
professionalTechnologyName:String,//专业技术平台名称 professionalTechnologyName:String,//专业技术平台名称
professionalTechnologyCreateTime:Number,//时间 年份 xxxx年01月01日 的时间戳 professionalTechnologyCreateTime:Number,//时间 年份 xxxx年01月01日 的时间戳
professionalTechnologyAmount:Number,//投资金额 万元 professionalTechnologyAmount:Number,//投资金额 万元
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
*/ */
import {Schema} from 'mongoose'; import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit'; import { baseDB } from '../../../db/mongo/dbInit';
const i18nRegisterSchema = new Schema({ const i18nRegisterSchema = new Schema({
...@@ -55,4 +55,6 @@ export async function addRegister(id:string, uscc:string, name:string, country:s ...@@ -55,4 +55,6 @@ export async function addRegister(id:string, uscc:string, name:string, country:s
await i18nRegisterModel.create(addInfo); await i18nRegisterModel.create(addInfo);
} }
export async function getCount(uscc:string) {
return await i18nRegisterModel.find({uscc}).count();
}
\ No newline at end of file
/**
* 大学/科研院所合作机构
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../../db/mongo/dbInit';
const icrSchema = new Schema({
id:{type:String, index:true},//标识
uscc:{type:String, index:true},//孵化器uscc
name:{type:String, index:true},//运营机构名称
po:String,//合作机构
ce:String,//合作企业
cMode:{type:[Number], default:[]},//合作方式
cAchievements:String,//合作成果
startTimeMs:Number,//开始时间
});
var icrModel;
export function initModel(){
icrModel = baseDB.model('icr', icrSchema);
icrModel.selectOnceData = async function (paramater:object) {
let selectInfo = await icrModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function findOneData(id:string) {
return await icrModel.selectOnceData({id});
}
export async function findListDataByParam(param) {
return await icrModel.find(param);
}
export async function deleteDataById(id:string) {
await icrModel.deleteOne({id});
}
export async function addData(id:string, uscc:string, name:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
let addInfo = {id, uscc, name, po, ce, cMode, cAchievements, startTimeMs};
await icrModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await icrModel.find({uscc}).count();
}
/**
* 创业老师
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../../db/mongo/dbInit';
const startupTeacherSchema = new Schema({
id:{type:String, index:true},//标识
uscc:{type:String, index:true},//孵化器uscc
name:{type:String, index:true},//运营机构名称
teacherName:String,//导师名称
unit:String,//单位
duties:String,//职务
speciality:{type:[Number], default:[]},//专业特长
teacherLv:Number,//导师级别
serviceEnterprises:String,//服务企业名单
});
var startupTeacherModel;
export function initModel(){
startupTeacherModel = baseDB.model('startupTeacher', startupTeacherSchema);
startupTeacherModel.selectOnceData = async function (paramater:object) {
let selectInfo = await startupTeacherModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function findOneData(id:string) {
return await startupTeacherModel.selectOnceData({id});
}
export async function findListDataByParam(param) {
return await startupTeacherModel.find(param);
}
export async function deleteDataById(id:string) {
await startupTeacherModel.deleteOne({id});
}
export async function addData(id:string, uscc:string, name:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
let addInfo = {id, uscc, name, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises};
await startupTeacherModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await startupTeacherModel.find({uscc}).count();
}
/** /**
* 评分表 * 张江以外布局情况
* 用于存储评分规则
* 目前没有用
*/ */
import {Schema} from 'mongoose'; import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit'; import { baseDB } from '../../../db/mongo/dbInit';
const gradeSchema = new Schema({
const zjBeyondLayoutSchema = new Schema({
id:{type:String, index:true},//标识
uscc:{type:String, index:true},//孵化器uscc
name:{type:String, index:true},//运营机构名称
city:String,//布局城市
area:Number,//空间面积
operationMode:Number,//运营模式
}); });
var gradeModel; var zjBeyondLayoutModel;
export function initModel(){ export function initModel(){
gradeModel = baseDB.model('grade', gradeSchema); zjBeyondLayoutModel = baseDB.model('zjBeyondLayout', zjBeyondLayoutSchema);
gradeModel.selectOnceData = async function (paramater:object) { zjBeyondLayoutModel.selectOnceData = async function (paramater:object) {
let selectInfo = await gradeModel.findOne(paramater).exec(); let selectInfo = await zjBeyondLayoutModel.findOne(paramater).exec();
if (selectInfo) { if (selectInfo) {
if (!selectInfo.runSave) { if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save; selectInfo.runSave = selectInfo.save;
...@@ -31,3 +35,25 @@ export async function save(throwError=false) { ...@@ -31,3 +35,25 @@ export async function save(throwError=false) {
console.log(err); console.log(err);
}); });
} }
export async function findOneData(id:string) {
return await zjBeyondLayoutModel.selectOnceData({id});
}
export async function findListDataByParam(param) {
return await zjBeyondLayoutModel.find(param);
}
export async function deleteDataById(id:string) {
await zjBeyondLayoutModel.deleteOne({id});
}
export async function addData(id:string, uscc:string, name:string, city:string, area:number, operationMode:number) {
let addInfo = {id, uscc, name, city, area, operationMode};
await zjBeyondLayoutModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await zjBeyondLayoutModel.find({uscc}).count();
}
...@@ -15,7 +15,7 @@ import {Schema} from 'mongoose'; ...@@ -15,7 +15,7 @@ import {Schema} from 'mongoose';
import { baseDB } from '../../../db/mongo/dbInit'; import { baseDB } from '../../../db/mongo/dbInit';
const fuHuaQiTaskSchema = new Schema({ const fuHuaQiTaskSchema = new Schema({
key:{type:Number, index:true},//任务标识 格式为:YYYYMM key:{type:Number, index:true},//任务标识 格式为:YYYYM
type: {type:Number,index:true},//任务类型 type: {type:Number,index:true},//任务类型
taskId:String,//任务id taskId:String,//任务id
fuHuaQiUscc:String,//任务所属孵化器id fuHuaQiUscc:String,//任务所属孵化器id
......
...@@ -75,3 +75,7 @@ export async function selectInformationByParamToPage(param, skipNumber:number) { ...@@ -75,3 +75,7 @@ export async function selectInformationByParamToPage(param, skipNumber:number) {
export async function selectInformationByParamCount(param) { export async function selectInformationByParamCount(param) {
return await informationModel.find(param).count();; return await informationModel.find(param).count();;
} }
export async function selectOnceInformationByParamToParam(param) {
return await informationModel.findOne(param);
}
\ No newline at end of file
...@@ -6,7 +6,10 @@ import * as monthTableModel from "../../data/fuHuaQi/monthTask/monthTable"; ...@@ -6,7 +6,10 @@ import * as monthTableModel from "../../data/fuHuaQi/monthTask/monthTable";
import * as fuHuaQiBusinessDataModel from "../../data/fuHuaQi/quarterTask/businessData"; import * as fuHuaQiBusinessDataModel from "../../data/fuHuaQi/quarterTask/businessData";
import * as fuHuaQiQuarterTaskModel from "../../data/fuHuaQi/quarterTask/quarterTask"; import * as fuHuaQiQuarterTaskModel from "../../data/fuHuaQi/quarterTask/quarterTask";
import * as i18nRegisterModel from "../../data//fuHuaQi/instituQualify/i18nRegister";
import * as icrModel from "../../data/fuHuaQi/instituQualify/icr";
import * as startupTeacherModel from "../../data/fuHuaQi/instituQualify/startupTeacher";
import * as zjBeyondLayoutModel from "../../data/fuHuaQi/instituQualify/zjBeyondLayout";
import * as scoreModel from "../../data/fuHuaQi/score"; import * as scoreModel from "../../data/fuHuaQi/score";
import * as scoreLogModel from "../../data/fuHuaQi/scoreLog"; import * as scoreLogModel from "../../data/fuHuaQi/scoreLog";
import * as codeModel from "../../data/fuHuaQi/code"; import * as codeModel from "../../data/fuHuaQi/code";
...@@ -34,6 +37,10 @@ export async function initTable() { ...@@ -34,6 +37,10 @@ export async function initTable() {
scoreLogModel.initModel(); scoreLogModel.initModel();
codeModel.initModel(); codeModel.initModel();
smsPointOutModel.initModel(); smsPointOutModel.initModel();
i18nRegisterModel.initModel();
icrModel.initModel();
startupTeacherModel.initModel();
zjBeyondLayoutModel.initModel();
businessdataModel.initModel(); businessdataModel.initModel();
financingInfoModel.initModel(); financingInfoModel.initModel();
......
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError";
var formidable = require("formidable"); var formidable = require("formidable");
const path = require('path'); const path = require('path');
...@@ -11,7 +14,20 @@ export async function parseFormParam(req, res, next) { ...@@ -11,7 +14,20 @@ export async function parseFormParam(req, res, next) {
else { else {
req.fields = fields; req.fields = fields;
req.files = files; 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(); next();
} else {
return next(new BizError(ERRORENUM.只能上传pngjpg图片) )
}
} }
}) })
} }
\ No newline at end of file
...@@ -54,7 +54,6 @@ export async function checkGuanWeiHuiToken(req, res, next) { ...@@ -54,7 +54,6 @@ export async function checkGuanWeiHuiToken(req, res, next) {
// if (userInfo.token != reqToken || (new Date().valueOf() - userInfo.tokenMs) > (3600*100*24*7) ) return next(new BizError(ERRORENUM.身份验证过期, `userId:${userId} token:${reqToken}`)); // if (userInfo.token != reqToken || (new Date().valueOf() - userInfo.tokenMs) > (3600*100*24*7) ) return next(new BizError(ERRORENUM.身份验证过期, `userId:${userId} token:${reqToken}`));
if (userInfo.token != reqToken ) return next(new BizError(ERRORENUM.身份验证过期, `userId:${userId} token:${reqToken}`)); if (userInfo.token != reqToken ) return next(new BizError(ERRORENUM.身份验证过期, `userId:${userId} token:${reqToken}`));
req.headers.uscc = req.headers.userid; req.headers.uscc = req.headers.userid;
next(); next();
......
...@@ -28,6 +28,7 @@ export class httpServer { ...@@ -28,6 +28,7 @@ export class httpServer {
}); });
httpServer.use(express.static("./static") ); httpServer.use(express.static("./static") );
httpServer.use(express.static("./files") );
const root = path.join(__dirname, "../../public"); const root = path.join(__dirname, "../../public");
httpServer.use(express.static(root)); httpServer.use(express.static(root));
httpServer.use(fallback('index.html', { root })); httpServer.use(fallback('index.html', { root }));
......
/**
* 文件管理 路由
*/
import * as asyncHandler from 'express-async-handler';
import * as fileBiz from '../../biz/file';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import { parseFormParam } from '../../middleware/fromParam';
export function setRouter(httpServer) {
httpServer.post('/admin/files/policy/up', checkGuanWeiHuiToken, parseFormParam, asyncHandler(upPolicyBackground));
}
async function upPolicyBackground(req, res) {
let result = await fileBiz.upFile( req.files, req.fileType);
res.success(result);
}
...@@ -32,6 +32,7 @@ export function setRouter(httpServer) { ...@@ -32,6 +32,7 @@ export function setRouter(httpServer) {
httpServer.post('/enterprise/information/list', checkEnterpriseToken, asyncHandler(informationList)); httpServer.post('/enterprise/information/list', checkEnterpriseToken, asyncHandler(informationList));
httpServer.post('/enterprise/information/outofdate', checkEnterpriseToken, asyncHandler(outOfDateInformationList)); httpServer.post('/enterprise/information/outofdate', checkEnterpriseToken, asyncHandler(outOfDateInformationList));
httpServer.post('/enterprise/information/info', checkEnterpriseToken, asyncHandler(onceInformationData)); httpServer.post('/enterprise/information/info', checkEnterpriseToken, asyncHandler(onceInformationData));
httpServer.post('/enterprise/information/titlelist', checkEnterpriseToken, asyncHandler(informationTitleListData));
/**团队信息 */ /**团队信息 */
httpServer.post('/enterprise/team/info', checkEnterpriseToken, asyncHandler(showTeamInfomation)); httpServer.post('/enterprise/team/info', checkEnterpriseToken, asyncHandler(showTeamInfomation));
} }
...@@ -219,3 +220,15 @@ async function onceInformationData(req, res) { ...@@ -219,3 +220,15 @@ async function onceInformationData(req, res) {
let result = await policyBiz.getOnceinformation(Uscc, id); let result = await policyBiz.getOnceinformation(Uscc, id);
res.success(result); res.success(result);
} }
/**
* 首页政策列表
* @param req
* @param res
*/
async function informationTitleListData(req, res) {
let result = await policyBiz.getInformationTitleList();
res.success(result);
}
...@@ -67,6 +67,6 @@ async function deletereportBusiness(req, res) { ...@@ -67,6 +67,6 @@ async function deletereportBusiness(req, res) {
async function selectBusiness(req, res) { async function selectBusiness(req, res) {
const Uscc = req.headers.uscc; const Uscc = req.headers.uscc;
let monthInfo = fuHuaQiBusinessBiz.selectBusiness(Uscc); let monthInfo = await fuHuaQiBusinessBiz.selectBusiness(Uscc);
res.success(monthInfo); res.success(monthInfo);
} }
...@@ -11,6 +11,7 @@ import * as quarterTaskBiz from '../../biz/mobileFuHuaQi/fuHuaQi/task/quarterTas ...@@ -11,6 +11,7 @@ import * as quarterTaskBiz from '../../biz/mobileFuHuaQi/fuHuaQi/task/quarterTas
import * as scoreBiz from '../../biz/mobileFuHuaQi/fuHuaQi/score'; import * as scoreBiz from '../../biz/mobileFuHuaQi/fuHuaQi/score';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkFuHuaQiToken } from '../../middleware/user'; import { checkFuHuaQiToken } from '../../middleware/user';
import * as policyBiz from '../../biz/mobileFuHuaQi/policy';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/base', checkFuHuaQiToken, asyncHandler(baseInfo)); httpServer.post('/fuhuaqi/base', checkFuHuaQiToken, asyncHandler(baseInfo));
...@@ -33,6 +34,11 @@ export function setRouter(httpServer) { ...@@ -33,6 +34,11 @@ export function setRouter(httpServer) {
/**分数 */ /**分数 */
httpServer.post('/fuhuaqi/score/ranklist', checkFuHuaQiToken, asyncHandler(scoreRankList)); httpServer.post('/fuhuaqi/score/ranklist', checkFuHuaQiToken, asyncHandler(scoreRankList));
httpServer.post('/fuhuaqi/score/log', checkFuHuaQiToken, asyncHandler(scoreLog)); httpServer.post('/fuhuaqi/score/log', checkFuHuaQiToken, asyncHandler(scoreLog));
/**政策速递列表 */
httpServer.post('/fuhuaqi/information/titlelist', checkFuHuaQiToken, asyncHandler(informationTitleListData));
httpServer.post('/fuhuaqi/information/list', checkFuHuaQiToken, asyncHandler(informationList));
httpServer.post('/fuhuaqi/information/outofdate', checkFuHuaQiToken, asyncHandler(outOfDateInformationList));
httpServer.post('/fuhuaqi/information/info', checkFuHuaQiToken, asyncHandler(onceInformationData));
} }
...@@ -260,4 +266,54 @@ async function quarterTaskPastDueList(req, res) { ...@@ -260,4 +266,54 @@ async function quarterTaskPastDueList(req, res) {
} }
/**
* 首页政策列表
* @param req
* @param res
*/
async function informationTitleListData(req, res) {
let result = await policyBiz.getInformationTitleList();
res.success(result);
}
/**
* 政策列表
* @param req
* @param res
*/
async function informationList(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {selectTitle:'String', page:'Number'};
let {selectTitle, page} = eccReqParamater(reqConf, req.body, ["selectTitle"]);
let result = await policyBiz.getInformationList(Uscc, selectTitle, page);
res.success(result);
}
/**
* 往期政策列表
* @param req
* @param res
*/
async function outOfDateInformationList(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {selectTitle:'String', page:'Number'};
let {selectTitle, page} = eccReqParamater(reqConf, req.body, ["selectTitle"]);
let result = await policyBiz.getInformationList(Uscc, selectTitle, page);
res.success(result);
}
/**
* 政策详情
* @param req
* @param res
*/
async function onceInformationData(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {id:'String'};
let {id} = eccReqParamater(reqConf, req.body);
let result = await policyBiz.getOnceinformation(Uscc, id);
res.success(result);
}
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS, INSIDESTATE, VIRTUALCAUSE, MOVEOUTTYPE, MOVEOUTCAUSE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, ENTERPRISETEAM, LISTINGSITUATION, BUSINESSDATATYPE } from '../config/enum'; import { FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS, INSIDESTATE, VIRTUALCAUSE, MOVEOUTTYPE, MOVEOUTCAUSE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, ENTERPRISETEAM, LISTINGSITUATION, BUSINESSDATATYPE, COOPERATIONMODE, SPECIALITY, TEACHERLV, ZJBEYONDLAYOUTOPERATIONMODE } from '../config/enum';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/public/fuhuaqilv', asyncHandler(getFuHuaQiLv)); httpServer.post('/public/fuhuaqilv', asyncHandler(getFuHuaQiLv));
...@@ -28,10 +28,89 @@ export function setRouter(httpServer) { ...@@ -28,10 +28,89 @@ export function setRouter(httpServer) {
httpServer.post('/public/enterpriseteam', asyncHandler(initTeam) ); httpServer.post('/public/enterpriseteam', asyncHandler(initTeam) );
httpServer.post('/public/listingsituation', asyncHandler(listingSituation) ); httpServer.post('/public/listingsituation', asyncHandler(listingSituation) );
httpServer.post('/public/businessdatatype', asyncHandler(businessDataType) ); httpServer.post('/public/businessdatatype', asyncHandler(businessDataType) );
/**3.1 */
httpServer.post('/public/cooperationmode', asyncHandler(cooperationMode) );
httpServer.post('/public/speciality', asyncHandler(speciality) );
httpServer.post('/public/teacherlv', asyncHandler(teacherLv) );
httpServer.post('/public/zjbeyondlayoutoperationmode', asyncHandler(zjBeYondLayoutOperationMode) );
} }
/** /**
* 小程序端 合作方式
* @param req
* @param res
*/
function cooperationMode(req, res) {
let dataList = [];
for (let key in COOPERATIONMODE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:COOPERATIONMODE[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 专业特长
* @param req
* @param res
*/
function speciality(req, res) {
let dataList = [];
for (let key in SPECIALITY) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
if (keyStr == "科技金融_风险投资_" || keyStr == "科技金融_其他_" || keyStr == "技术专家_法律专家_") {
keyStr = keyStr.replace("_","(");
keyStr = keyStr.replace("_",")");
}
dataList.push({key:keyStr, value:SPECIALITY[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 导师等级
* @param req
* @param res
*/
function teacherLv(req, res) {
let dataList = [];
for (let key in TEACHERLV) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:TEACHERLV[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 张江以外布局运营模式
* @param req
* @param res
*/
function zjBeYondLayoutOperationMode(req, res) {
let dataList = [];
for (let key in ZJBEYONDLAYOUTOPERATIONMODE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:ZJBEYONDLAYOUTOPERATIONMODE[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 经营数据类型 * 小程序端 经营数据类型
* @param req * @param req
* @param res * @param res
......
...@@ -11,6 +11,7 @@ import * as mobileClientMonthRouters from './mobileClient/month'; ...@@ -11,6 +11,7 @@ import * as mobileClientMonthRouters from './mobileClient/month';
import * as mobileClientUserRouters from './mobileClient/user'; import * as mobileClientUserRouters from './mobileClient/user';
import * as mobileClientBusinessRouters from './mobileClient/business'; import * as mobileClientBusinessRouters from './mobileClient/business';
import * as institutionalNatureRouters from './mobileClient/institutionalNature'; import * as institutionalNatureRouters from './mobileClient/institutionalNature';
import * as filesRouters from './admin/files';
import * as adminEnterpriseRouters from './admin/enterprise'; import * as adminEnterpriseRouters from './admin/enterprise';
import * as adminFuHuaQiRouters from './admin/fuHuaQi'; import * as adminFuHuaQiRouters from './admin/fuHuaQi';
...@@ -47,6 +48,7 @@ export function setRouter(httpServer){ ...@@ -47,6 +48,7 @@ export function setRouter(httpServer){
adminScoreRouters.setRouter(httpServer); adminScoreRouters.setRouter(httpServer);
adminTaskRouters.setRouter(httpServer); adminTaskRouters.setRouter(httpServer);
informationRouters.setRouter(httpServer); informationRouters.setRouter(httpServer);
filesRouters.setRouter(httpServer);
/**系统维护 入口路由 */ /**系统维护 入口路由 */
provideRouters.setRouter(httpServer); provideRouters.setRouter(httpServer);
/**小程序企业端 入口路由 */ /**小程序企业端 入口路由 */
......
...@@ -238,3 +238,16 @@ export function getLastQuarter() { ...@@ -238,3 +238,16 @@ export function getLastQuarter() {
export function getI18nRegisterId(uscc:string) { export function getI18nRegisterId(uscc:string) {
return md5(`${uscc}${new Date().valueOf() }${Math.ceil(Math.ceil(Math.random() * 1000000))}`); return md5(`${uscc}${new Date().valueOf() }${Math.ceil(Math.ceil(Math.random() * 1000000))}`);
} }
export function getPolicyBGImgId() {
return `bgImg_${md5(`bgImg${new Date().valueOf()}${Math.ceil(Math.ceil(Math.random() * 1000000))}`)}`
}
/**
* 获取随机id
* @param uscc
*/
export function getRandomId(uscc:string) {
return md5(`${uscc}${new Date().valueOf() }${Math.ceil(Math.ceil(Math.random() * 1000000))}`);
}
\ No newline at end of file
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