Commit 7a7c6def by 孙香冬

组织生活、党员信息

parent 42da2466
...@@ -26,3 +26,4 @@ export async function getActivityCount() { ...@@ -26,3 +26,4 @@ export async function getActivityCount() {
return { activityCount:{title:"活动开展次数", value: activityCount}, dataList:{title:"组织生活扇形图", list: activityList}}; return { activityCount:{title:"活动开展次数", value: activityCount}, dataList:{title:"组织生活扇形图", list: activityList}};
} }
...@@ -11,6 +11,7 @@ import { extractData } from '../../util/piecemeal'; ...@@ -11,6 +11,7 @@ import { extractData } from '../../util/piecemeal';
import { changeEnumValue, eccEnumValue } from '../../util/verificationEnum'; import { changeEnumValue, eccEnumValue } from '../../util/verificationEnum';
import { BizError } from '../../util/bizError'; import { BizError } from '../../util/bizError';
import { ERRORENUM } from '../../config/errorEnum'; import { ERRORENUM } from '../../config/errorEnum';
import { systemConfig } from '../../config/systemConfig';
/** /**
...@@ -18,10 +19,10 @@ import { ERRORENUM } from '../../config/errorEnum'; ...@@ -18,10 +19,10 @@ import { ERRORENUM } from '../../config/errorEnum';
* @param branchName 支部id * @param branchName 支部id
* @returns {支部名称, 党员总数, 党建指令指数, 党内职务人员列表} * @returns {支部名称, 党员总数, 党建指令指数, 党内职务人员列表}
*/ */
export async function homeData(branchName:number) { export async function homeData(branchName) {
if (branchName) eccEnumValue("党建资讯列表查询", "支部名称", configEnum.BRANCHNAMETYPE, branchName); if (branchName && branchName.length > 0) eccEnumValue("党建资讯列表查询", "支部名称", configEnum.BRANCHNAMETYPE, branchName);
let branch = changeEnumValue(configEnum.BRANCHNAMETYPE, branchName); //支部名称 let branch = changeEnumValue(configEnum.BRANCHNAMETYPE, branchName); //支部名称
let partyMemberNum = await partyMemberData.groupFindPartyMemberCount({branchName}); //党员总数 let partyMemberNum = await partyMemberData.groupFindPartyMemberCount({branchName:{$in: branchName }}); //党员总数
let massIndex = 87.6; //党建指令指数 let massIndex = 87.6; //党建指令指数
let partyPositions = []; //党内职务人员 let partyPositions = []; //党内职务人员
...@@ -29,7 +30,7 @@ export async function homeData(branchName:number) { ...@@ -29,7 +30,7 @@ export async function homeData(branchName:number) {
let anyKey:any = key; let anyKey:any = key;
if (isNaN(anyKey)) { //枚举key key = string if (isNaN(anyKey)) { //枚举key key = string
const EnumValue = parseInt(configEnum.PARTYPOSITIONS[key]) const EnumValue = parseInt(configEnum.PARTYPOSITIONS[key])
let dataBaseList = await partyMemberData.getBaseListByPartyPositions( [EnumValue], branchName ); let dataBaseList = await partyMemberData.getBaseListByPartyPositions( [EnumValue], [branchName] );
let nameList = []; let nameList = [];
dataBaseList.forEach( info => { dataBaseList.forEach( info => {
...@@ -57,9 +58,9 @@ export async function homeData(branchName:number) { ...@@ -57,9 +58,9 @@ export async function homeData(branchName:number) {
* @param branchName 支部id * @param branchName 支部id
* @returns * @returns
*/ */
export async function informationData(informationType:number, branchName:number) { export async function informationData(informationType:number, branchName) {
if (informationType) eccEnumValue("党建资讯列表查询", "资讯类型", configEnum.INFORMATIONTYPE, informationType); if (informationType) eccEnumValue("党建资讯列表查询", "资讯类型", configEnum.INFORMATIONTYPE, informationType);
if (branchName) eccEnumValue("党建资讯列表查询", "支部名称", configEnum.BRANCHNAMETYPE, branchName); if (branchName && branchName.length > 0) eccEnumValue("党建资讯列表查询", "支部名称", configEnum.BRANCHNAMETYPE, branchName);
let partyInformationInfo = await partyInformationData.findPartyInformationListByType(informationType, branchName); let partyInformationInfo = await partyInformationData.findPartyInformationListByType(informationType, branchName);
if(!partyInformationInfo) throw new BizError(ERRORENUM.未找到数据, `库中不存在党建资讯类型为${informationType}, 支部为${branchName}的党建资讯列表`); if(!partyInformationInfo) throw new BizError(ERRORENUM.未找到数据, `库中不存在党建资讯类型为${informationType}, 支部为${branchName}的党建资讯列表`);
...@@ -67,8 +68,9 @@ export async function informationData(informationType:number, branchName:number) ...@@ -67,8 +68,9 @@ export async function informationData(informationType:number, branchName:number)
let dataList = []; let dataList = [];
partyInformationInfo.forEach( info => { partyInformationInfo.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyInformationConfig, info, true); let changeData:any = extractData(splitResultConfig.partyInformationConfig, info, true);
changeData.informationType = changeEnumValue(configEnum.INFORMATIONTYPE, info.informationType); changeData.img = systemConfig.imgUrl + changeData.img;
changeData.branchName = changeEnumValue(configEnum.BRANCHNAMETYPE, info.branchName); changeData.informationType = changeEnumValue(configEnum.INFORMATIONTYPE, changeData.informationType);
changeData.branchName = changeEnumValue(configEnum.BRANCHNAMETYPE, changeData.branchName);
dataList.push(changeData); dataList.push(changeData);
}) })
......
...@@ -20,12 +20,12 @@ moment.suppressDeprecationWarnings = true; ...@@ -20,12 +20,12 @@ moment.suppressDeprecationWarnings = true;
/** /**
* 组织生活列表 * 组织生活列表
* todo 接口协议不对 * @param type 组织生活活动类型
* @param status 活动状态 全部、正在进行、即将开展、已经开展 * @param partyActivityType 活动名称(党建活动类型)
* @returns data * @param branchName 支部名称
* 返回说明 根据传入的活动状态返回不同的列表 * @returns 根据传入的活动状态返回不同的列表
*/ */
export async function getOrganizationalLifeList(type:number, partyActivityType:number, branchName:number) { export async function getOrganizationalLifeList(type:number, partyActivityType:number, branchName) {
/**将枚举值转为枚举文本 */ /**将枚举值转为枚举文本 */
let partyActivityTypeStr = verificationEnumTools.changeEnumValue(clientConfigEnum.TYPE, type); let partyActivityTypeStr = verificationEnumTools.changeEnumValue(clientConfigEnum.TYPE, type);
...@@ -38,7 +38,7 @@ export async function getOrganizationalLifeList(type:number, partyActivityType:n ...@@ -38,7 +38,7 @@ export async function getOrganizationalLifeList(type:number, partyActivityType:n
else selectParam = {"$and":[ {"activityStartTime":{"$lt":NowMs }}, {"activityEndTime":{"$gt":NowMs}} ]} else selectParam = {"$and":[ {"activityStartTime":{"$lt":NowMs }}, {"activityEndTime":{"$gt":NowMs}} ]}
} else partyActivityTypeStr = ""; } else partyActivityTypeStr = "";
if (partyActivityType) selectParam["partyActivityType"] = partyActivityType; if (partyActivityType) selectParam["partyActivityType"] = partyActivityType;
if (branchName) selectParam["branchName"] = branchName; if (branchName && branchName.length > 0) selectParam["branchName"] = {$in: branchName };
let dbList = await organizationalLifeData.findOrganizationalLifeList(selectParam); let dbList = await organizationalLifeData.findOrganizationalLifeList(selectParam);
...@@ -64,9 +64,9 @@ export async function getOrganizationalLifeList(type:number, partyActivityType:n ...@@ -64,9 +64,9 @@ export async function getOrganizationalLifeList(type:number, partyActivityType:n
* 参数类型 { number, number, number, string, [string], [string], [number], [number], string} * 参数类型 { number, number, number, string, [string], [string], [number], [number], string}
* @returns {isSuccess: true} * @returns {isSuccess: true}
*/ */
export async function createOrganizationalLife(branchName:number, param) { export async function createOrganizationalLife(branchName, param) {
eccFormParam("创建组织生活活动", eccFormParamConfig.CreateActivityConfig, param) eccFormParam("创建组织生活活动", eccFormParamConfig.CreateActivityConfig, param)
if (branchName) verificationEnumTools.eccEnumValue("创建组织生活活动", "支部名称", configEnum.BRANCHNAMETYPE, branchName); if (branchName && branchName.length > 0) verificationEnumTools.eccEnumValue("创建组织生活活动", "支部名称", configEnum.BRANCHNAMETYPE, branchName);
verificationEnumTools.eccEnumValue('创建组织生活活动的党建活动类型', 'partyActivityType', configEnum.ACTIVITYTYPE, param.partyActivityType); verificationEnumTools.eccEnumValue('创建组织生活活动的党建活动类型', 'partyActivityType', configEnum.ACTIVITYTYPE, param.partyActivityType);
param.branchName = branchName; param.branchName = branchName;
await organizationalLifeData.createActivity(param); await organizationalLifeData.createActivity(param);
...@@ -157,7 +157,7 @@ export async function getAllPartyMember() { ...@@ -157,7 +157,7 @@ export async function getAllPartyMember() {
let partyMemberList = await partyMemberData.findPartyMemberAll({}); let partyMemberList = await partyMemberData.findPartyMemberAll({});
let data = []; let data = [];
partyMemberList.forEach( info => { partyMemberList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info, false); let changeData:any = extractData(splitResultConfig.organizationallifeConfig, info, false);
switch (changeData.entryType) { switch (changeData.entryType) {
case 1: case 1:
changeData.color = "#C62A23"; changeData.color = "#C62A23";
...@@ -172,6 +172,8 @@ export async function getAllPartyMember() { ...@@ -172,6 +172,8 @@ export async function getAllPartyMember() {
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.entryType); changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.entryType);
break; break;
} }
// changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONSICON, changeData.partyPositions);
data.push(changeData); data.push(changeData);
}) })
......
...@@ -9,6 +9,56 @@ import * as verificationEnumTools from "../../../util/verificationEnum"; ...@@ -9,6 +9,56 @@ import * as verificationEnumTools from "../../../util/verificationEnum";
import { eccFormParam } from "../../../util/verificationParam"; import { eccFormParam } from "../../../util/verificationParam";
import * as eccFormParamConfig from "../../../config/eccFormParamConfig"; import * as eccFormParamConfig from "../../../config/eccFormParamConfig";
import { getPwdMd5, getToken } from "../../../tools/system"; import { getPwdMd5, getToken } from "../../../tools/system";
import { extractData } from "../../../util/piecemeal";
import * as splitResultConfig from "../../../config/splitResultConfig";
import moment = require("moment");
import { BizError } from "../../../util/bizError";
import { ERRORENUM } from "../../../config/errorEnum";
/**
* 获取党员名册
* @param branchName 支部id
* @returns
*/
export async function getPartyMemberName(branchName) {
let partyBranchName = verificationEnumTools.changeEnumValue(configEnum.BRANCHNAMETYPE, branchName);
let partyMemberNum = await partyMemberData.groupFindPartyMemberCount({branchName:{$in: branchName }}); //党员总数
let partyMemberCount = {
key: partyBranchName + "目前党员人数",
value: partyMemberNum
};
let partyMemberList = await partyMemberData.findPartyMemberAll({branchName:{$in: branchName }});
let nameList = [];
partyMemberList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info, false);
switch (changeData.entryType) {
case 1:
changeData.color = "#C62A23";
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONSICON, info.partyPositions);
break;
case 2:
changeData.color = "#3549B0";
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.entryType);
break;
case 3:
changeData.color = "#E4B386";
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.entryType);
break;
}
let time = moment(new Date()).format("YYYY");
let partyJoiningTime = moment(info.partyJoiningTime).format("YYYY");
changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年";
changeData.department = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, changeData.department);
nameList.push(changeData);
})
return {nameList, partyMemberCount};
}
/** /**
...@@ -17,14 +67,18 @@ import { getPwdMd5, getToken } from "../../../tools/system"; ...@@ -17,14 +67,18 @@ import { getPwdMd5, getToken } from "../../../tools/system";
* remarks: "备注", entryType: 名册录入类型, partyPositions: [党内职务, ...], listedAsActivistsTime: 列为积极份子时间, talkTime: 谈话时间, loginId: "登录账号"} * remarks: "备注", entryType: 名册录入类型, partyPositions: [党内职务, ...], listedAsActivistsTime: 列为积极份子时间, talkTime: 谈话时间, loginId: "登录账号"}
* @return {isSuccess: true} * @return {isSuccess: true}
*/ */
export async function createPartyMember(param) { export async function createPartyMember(param, entryType) {
eccFormParam("创建正式党员录入", eccFormParamConfig.CreatePartyMemberFormConfig, param); eccFormParam("创建正式党员录入", eccFormParamConfig.CreatePartyMemberFormConfig, param);
verificationEnumTools.eccEnumValue('正式党员录入性别', 'partyActivityType', configEnum.SEX, param.partyActivityType); verificationEnumTools.eccEnumValue('正式党员录入性别', 'partyActivityType', configEnum.SEX, param.partyActivityType);
verificationEnumTools.eccEnumValue('正式党员录入党内职务图例', 'partyPositionsIcon', configEnum.PARTYPOSITIONSICON, param.partyPositions); verificationEnumTools.eccEnumValue('正式党员录入党内职务图例', 'partyPositionsIcon', configEnum.PARTYPOSITIONSICON, param.partyPositions);
verificationEnumTools.eccEnumValue('正式党员录入党内职务', 'partyPositions', configEnum.PARTYPOSITIONS, param.partyPositions); verificationEnumTools.eccEnumValue('正式党员录入党内职务', 'partyPositions', configEnum.PARTYPOSITIONS, param.partyPositions);
verificationEnumTools.eccEnumValue('正式党员名册录入类型', 'entryType', configEnum.ENTRYTYPE, param.entryType); verificationEnumTools.eccEnumValue('正式党员名册录入类型', 'entryType', configEnum.ENTRYTYPE, param.entryType);
if (entryType) param.entryType = entryType;
let partyMemberInfo:any = await partyMemberData.createPartyMember(param); let partyMemberInfo:any = await partyMemberData.createPartyMember(param);
partyMemberInfo.loginId = param.phone;
if(!param.pwd) partyMemberInfo.pwd = getPwdMd5(param.phone, param.phone.slice(5, 11)); if(!param.pwd) partyMemberInfo.pwd = getPwdMd5(param.phone, param.phone.slice(5, 11));
else partyMemberInfo.pwd = getPwdMd5(param.phone, param.pwd); else partyMemberInfo.pwd = getPwdMd5(param.phone, param.pwd);
partyMemberInfo.token = getToken(param.phone); partyMemberInfo.token = getToken(param.phone);
...@@ -33,4 +87,91 @@ import { getPwdMd5, getToken } from "../../../tools/system"; ...@@ -33,4 +87,91 @@ import { getPwdMd5, getToken } from "../../../tools/system";
await partyMemberInfo.save(); await partyMemberInfo.save();
return {isSuccess: true}; return {isSuccess: true};
} }
\ No newline at end of file
/**
* 党员详情
* @param id 党员id
* @return
*/
export async function partyMemberDetails(id:number) {
let partyMemberList = await partyMemberData.findPartyMemberById(id);
let changeData:any = {};
partyMemberList.forEach( info => {
changeData = extractData(splitResultConfig.partyMemberDetailsConfig, info, false);
switch (changeData.entryType) {
case 1:
changeData.color = "#C62A23";
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONSICON, info.partyPositions);
break;
case 2:
changeData.color = "#3549B0";
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.entryType);
break;
case 3:
changeData.color = "#E4B386";
changeData.partyPositions = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.entryType);
break;
}
changeData.department = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, info.department);
changeData.sex = verificationEnumTools.changeEnumValue(configEnum.SEX, info.sex);
changeData.administrativePosition = verificationEnumTools.changeEnumValue(configEnum.ADMINISTRATIVEPOSITION, info.administrativePosition);
changeData.partyState = verificationEnumTools.changeEnumValue(configEnum.PARTYSTATE, info.partyState);
changeData.birthDate = moment(info.birthDate).format("YYYY年MM月DD日");
changeData.partyJoiningTime = moment(info.partyJoiningTime).format("YYYY年MM月DD日");
changeData.study = [
{key:"学习排名", value:getValueByLength(1)},
{key:"学习课时", value:getValueByLength(2)},
{key:"学习进度", value:getValueByLength(2) + "%"}
];
let time = moment(new Date()).format("YYYY");
let partyJoiningTime = moment(info.partyJoiningTime).format("YYYY");
changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年";
})
return changeData;
}
/**
* 删除党员
* @param id 党员id
* @returns {isSuccess:true}
*/
export async function deletePartyMember(id:number) {
let activityInfo = await partyMemberData.findPartyMemberById(id);
if (!activityInfo) throw new BizError(ERRORENUM.未找到数据, `库中不存在id为${id}党员信息`);
await partyMemberData.deletePartyMember(id);
return {isSuccess:true};
}
/**
* 随机数生成假数据
* @param length 假数据长度
* @returns
*/
function getValueByLength(length) {
let i = 1;
getPlaByLength(length, () => {
i= i * 10;
});
return Math.floor(Math.random() * i);
}
function getPlaByLength(num, callback) {
for (let i =0; i < num; i++) {
callback();
}
}
...@@ -6,7 +6,8 @@ export let clientEnumConfig = { ...@@ -6,7 +6,8 @@ export let clientEnumConfig = {
* 支部名称 branchName * 支部名称 branchName
*/ */
export enum BRANCHNAMETYPE { export enum BRANCHNAMETYPE {
牙防所第一支部 = 1, 党总支 = 1,
牙防所第一支部,
牙防所第二支部, 牙防所第二支部,
牙防所第三支部, 牙防所第三支部,
牙防所第四支部 牙防所第四支部
...@@ -14,7 +15,7 @@ export enum BRANCHNAMETYPE { ...@@ -14,7 +15,7 @@ export enum BRANCHNAMETYPE {
/** /**
* 党内职务 Party positions * 党内职务 partyPositions
*/ */
export enum PARTYPOSITIONSICON { export enum PARTYPOSITIONSICON {
支部书记 = 1, 支部书记 = 1,
...@@ -27,8 +28,9 @@ export enum PARTYPOSITIONSICON { ...@@ -27,8 +28,9 @@ export enum PARTYPOSITIONSICON {
预备党员, 预备党员,
} }
/** /**
* 党内职务 Party positions * 党内职务 partyPositions
*/ */
export enum PARTYPOSITIONS { export enum PARTYPOSITIONS {
支部书记 = 1, 支部书记 = 1,
...@@ -40,6 +42,18 @@ export enum PARTYPOSITIONSICON { ...@@ -40,6 +42,18 @@ export enum PARTYPOSITIONSICON {
/** /**
* 行政职务 administrativePosition
*/
export enum ADMINISTRATIVEPOSITION {
职员 = 1,
护理部主任,
康健分所主任,
口腔颌面外科副主任,
医务科副科长
}
/**
* 名册录入类型 * 名册录入类型
*/ */
export enum ENTRYTYPE { export enum ENTRYTYPE {
...@@ -61,6 +75,7 @@ export enum ACTIVITYTYPE { ...@@ -61,6 +75,7 @@ export enum ACTIVITYTYPE {
三会一课 三会一课
} }
/** /**
* 党建资讯类型 * 党建资讯类型
*/ */
...@@ -71,6 +86,7 @@ export enum INFORMATIONTYPE { ...@@ -71,6 +86,7 @@ export enum INFORMATIONTYPE {
先进典型 先进典型
} }
/** /**
* 性别 * 性别
*/ */
...@@ -87,3 +103,65 @@ export enum CODETYPE { ...@@ -87,3 +103,65 @@ export enum CODETYPE {
修改密码 = 1, 修改密码 = 1,
} }
/**
* 文化程度
*/
export enum DEGREE {
初中 = 1,
高中,
大专,
本科,
硕士,
博士
}
/**
* 所属科室 department
*/
export enum DEDPARTMENT {
口腔科 = 1,
正畸科,
口腔恢复科,
颁面外科,
牙体牙髓科,
牙周科,
儿童口腔科
}
/**
* 党建先锋 荣誉类型 honorType
*/
export enum HONORTYPE {
支部先锋 = 1,
模范党员,
}
/**
* 党建先锋 荣誉类型 honorLevel
*/
export enum HONORLEVEL {
区级荣誉 = 1,
市级荣誉,
}
/**
* 党建先锋 模范类型 modelType
*/
export enum MODELTYPE {
支部先锋 = 1,
模范党员,
}
/**
* 党员状态 partyState
*/
export enum PARTYSTATE {
在党 = 1,
退党
}
\ No newline at end of file
...@@ -60,10 +60,71 @@ export const moveAboutInfoConfig = { ...@@ -60,10 +60,71 @@ export const moveAboutInfoConfig = {
* 场景: 选择党员 * 场景: 选择党员
* 备注: * 备注:
*/ */
export const organizationallifeConfig = {
id:{key:"id"},
name:{key:"姓名"},
entryType:{key:"名册录入类型"},
partyPositions:{key:"党内职务"},
color:{key:"颜色"},
}
/**
* 使用端: 小程序_党员入口
* 场景: 选择党员
* 备注:
*/
export const partyMemberConfig = { export const partyMemberConfig = {
id:{key:"id"}, id:{key:"id"},
name:{key:"姓名"}, name:{key:"姓名"},
entryType:{key: "党员类型"}, entryType:{key:"名册录入类型"},
partyPositions:{key:"党内职务"}, partyPositions:{key:"党内职务"},
partyStanding:{key: "党龄"},
department:{key:"所属科室"},
color:{key:"颜色"}, color:{key:"颜色"},
} }
\ No newline at end of file
/**
* 使用端: 小程序_党员入口
* 场景: 党员详情
* 备注:
*/
export const partyMemberDetailsConfig = {
id:{key:"id"},
entryType:{key:"名册录入类型"},
name:{key:"姓名"},
partyPositions:{key:"党内职务"},
partyStanding:{key: "党龄"},
department:{key:"所属科室"},
study:{key:"学习情况"},
sex:{key:"性别"},
birthDate:{key:"出生年月", changeDate:true},
phone:{key:"手机号码"},
levelOfEducation:{key:"文化程度"},
partyJoiningTime:{key:"入党时间", changeDate:true},
administrativePosition:{key:"行政职务"},
remarks:{key:"备注"},
partyState:{key:"党员状态"},
color:{key:"颜色"},
}
/**
* 使用端: 小程序_党员入口
* 场景: 党建先锋列表
* 备注:
*/
export const partyVanguardConfig = {
pvId:{key:"党建先锋id"},
honorType:{key:"荣誉类型"},
honorLevel:{key:"荣誉级别"},
honorName:{key:"荣誉名称"},
grantingUnit:{key:"授予单位"},
grantTime:{key:"授予时间"},
honorsIntroduction:{key:"荣誉简介"},
grantParty:{key:"授予党员"},
grantReason:{key:"授予原因"},
}
...@@ -11,4 +11,5 @@ export class ServerConfig { ...@@ -11,4 +11,5 @@ export class ServerConfig {
/**小程序相关配置 */ /**小程序相关配置 */
getOpenIdUrl:string; getOpenIdUrl:string;
appId:string; appId:string;
imgUrl:string;
} }
\ No newline at end of file
...@@ -17,12 +17,13 @@ export async function initConfig() { ...@@ -17,12 +17,13 @@ export async function initConfig() {
if (!configInfo || !configInfo.config) throw new BizError('xml中无配置'); if (!configInfo || !configInfo.config) throw new BizError('xml中无配置');
else { else {
let {port, mongodb, secret, getOpenIdUrl, appId, sms } = configInfo.config; let {port, mongodb, secret, getOpenIdUrl, appId, imgUrl } = configInfo.config;
systemConfig.port = parseInt(port[0]); systemConfig.port = parseInt(port[0]);
systemConfig.secret = secret[0]; systemConfig.secret = secret[0];
systemConfig.getOpenIdUrl = getOpenIdUrl[0]; systemConfig.getOpenIdUrl = getOpenIdUrl[0];
systemConfig.appId = appId[0]; systemConfig.appId = appId[0];
systemConfig.imgUrl = imgUrl[0];
const MongoPath = mongodb[0].path[0]; const MongoPath = mongodb[0].path[0];
const MongoPort = mongodb[0].port[0]; const MongoPort = mongodb[0].port[0];
......
...@@ -18,8 +18,7 @@ const organizationalLifeSchema = new Schema({ ...@@ -18,8 +18,7 @@ const organizationalLifeSchema = new Schema({
leavePartyMember:{type:[String], default:[]}, //请假党员 非必填 leavePartyMember:{type:[String], default:[]}, //请假党员 非必填
participatingPartyMember:{type:[String], default:[]}, //参与党员 participatingPartyMember:{type:[String], default:[]}, //参与党员
participationRecord:String, //活动记录 participationRecord:String, //活动记录
branchName: Number, //支部名称 branchName: {type:[Number], default:[]}, //支部名称
}) })
var organizationalLifeModel; var organizationalLifeModel;
...@@ -103,4 +102,5 @@ export async function deleteActivity(oId:number) { ...@@ -103,4 +102,5 @@ export async function deleteActivity(oId:number) {
*/ */
export async function groupFindActivityCount(param:object) { export async function groupFindActivityCount(param:object) {
return await organizationalLifeModel.find(param).countDocuments(); return await organizationalLifeModel.find(param).countDocuments();
} }
\ No newline at end of file
...@@ -11,7 +11,7 @@ const partyInformationSchema = new Schema({ ...@@ -11,7 +11,7 @@ const partyInformationSchema = new Schema({
pId: {type:Number, index:{unique: true}}, //自增的id pId: {type:Number, index:{unique: true}}, //自增的id
informationType: Number, //党建资讯类型 1:医院文化、2:精神文明、3:科普知识、4、先进典型 informationType: Number, //党建资讯类型 1:医院文化、2:精神文明、3:科普知识、4、先进典型
title: String, //资讯标题 title: String, //资讯标题
branchName: Number, //支部名称 branchName: {type:[Number], default:[]}, //支部名称
informationTime: Number, //资讯时间 informationTime: Number, //资讯时间
detailedInformation: String, //资讯详细 detailedInformation: String, //资讯详细
img: {type:String, data:Buffer}, //图片 img: {type:String, data:Buffer}, //图片
...@@ -56,10 +56,10 @@ export async function save(throwError=false) { ...@@ -56,10 +56,10 @@ export async function save(throwError=false) {
* @param branchName 支部id * @param branchName 支部id
* @returns * @returns
*/ */
export async function findPartyInformationListByType(informationType:number, branchName:number) { export async function findPartyInformationListByType(informationType:number, branchName) {
return await partyInformationModel.find({informationType, branchName}); return await partyInformationModel.find({informationType, branchName:{$in: branchName}});
} }
/** /**
* 创建党建资讯 * 创建党建资讯
......
...@@ -14,14 +14,17 @@ const partyMemberSchema = new Schema({ ...@@ -14,14 +14,17 @@ const partyMemberSchema = new Schema({
phone: String, //手机号码 phone: String, //手机号码
levelOfEducation: String, //文化程度 levelOfEducation: String, //文化程度
partyJoiningTime: Number, //入党时间 partyJoiningTime: Number, //入党时间
administrativePosition: Number, //行政职务 1 administrativePosition: {type:Number, default:1}, //行政职务 1:职员、2
remarks: String, //备注 remarks: String, //备注
entryType: Number, //名册录入类型 1:正式党员录入、2:入党积极分子录入、3:入党申请录入 entryType: Number, //名册录入类型 1:正式党员录入、2:入党积极分子录入、3:入党申请录入
partyPositions: [Number], //党内职务 多选 --正式党员录入 1:书记、2:副书记、3:纪检委员、4:组织委员、5:宣传委员 partyPositions: {type:[Number], default:[]}, //党内职务 多选 --正式党员录入 1:书记、2:副书记、3:纪检委员、4:组织委员、5:宣传委员
listedAsActivistsTime: Number, //列为积极份子时间 --入党积极份子录入 listedAsActivistsTime: Number, //列为积极份子时间 --入党积极份子录入
askForTime: Number, //申请入党时间 --入党积极份子录入、入党申请录入
talkTime: Number, //谈话时间 --入党申请录入 talkTime: Number, //谈话时间 --入党申请录入
branchName: Number, //支部名称 branchName: {type:[Number], default:[]}, //支部名称
department: {type:[Number], default:[]}, //所属科室 1:口腔科、2:正畸科、3:口腔修复科、4:颁面外科, 5:牙体牙髓科、6:牙周科、7儿童口腔科
partyState: Number,
/**-----用户相关----- */ /**-----用户相关----- */
loginId: {type: String, index: true}, //登录账号 loginId: {type: String, index: true}, //登录账号
pwd: String, //密码 pwd: String, //密码
...@@ -36,7 +39,7 @@ export function initModel(){ ...@@ -36,7 +39,7 @@ export function initModel(){
partyMemberSchema.plugin(autoIncrement.plugin, { partyMemberSchema.plugin(autoIncrement.plugin, {
model: 'partyMemberSchema', model: 'partyMemberSchema',
field: 'id', field: 'id',
startAt: 1, //初始化id从1开始 startAt: 1000, //初始化id从1开始
incrementBy: 1 //每次自增1 incrementBy: 1 //每次自增1
}); });
...@@ -98,8 +101,8 @@ export async function groupFindPartyMemberCount(param:object) { ...@@ -98,8 +101,8 @@ export async function groupFindPartyMemberCount(param:object) {
* @param partyPositions 党内职务 [1, 2] * @param partyPositions 党内职务 [1, 2]
* @returns * @returns
*/ */
export async function getBaseListByPartyPositions(partyPositions:[number], branchName:number) { export async function getBaseListByPartyPositions(partyPositions:[number], branchName) {
return await partyMemberModel.find({partyPositions:{$in: partyPositions }, branchName}); return await partyMemberModel.find({partyPositions:{$in: partyPositions }, branchName:{$in: branchName }});
} }
...@@ -130,3 +133,23 @@ export async function getPartyMemberListByEntryType(param:object) { ...@@ -130,3 +133,23 @@ export async function getPartyMemberListByEntryType(param:object) {
export async function createPartyMember(param:object) { export async function createPartyMember(param:object) {
return await partyMemberModel.create(param); return await partyMemberModel.create(param);
} }
/**
* 根据id获取符合条件的党员详情
* @param param 查询参数
* @returns
*/
export async function findPartyMemberById(id:number) {
return await partyMemberModel.find({id});
}
/**
* 删除党员
* @param id 党员id
* @returns
*/
export async function deletePartyMember(id:number) {
return await partyMemberModel.deleteOne({id}).exec();
}
\ No newline at end of file
...@@ -27,7 +27,7 @@ export class httpServer { ...@@ -27,7 +27,7 @@ export class httpServer {
// } // }
}); });
httpServer.use(express.static("./static") ); httpServer.use(express.static(path.join(__dirname, "../../img")) );
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 }));
......
...@@ -19,7 +19,11 @@ export function setRouter(httpServer) { ...@@ -19,7 +19,11 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function homeBase(req, res) { async function homeBase(req, res) {
let branchName = parseInt(req.headers.branchid); let branchidData = req.headers.branchid;
let branchName = [];
branchidData = branchidData.slice(1, branchidData.length-1);
branchName = branchidData.split(',');
let baseInfo = await baseBiz.homeData(branchName); let baseInfo = await baseBiz.homeData(branchName);
res.success(baseInfo); res.success(baseInfo);
} }
...@@ -31,7 +35,11 @@ async function homeBase(req, res) { ...@@ -31,7 +35,11 @@ async function homeBase(req, res) {
* @param res * @param res
*/ */
async function informationBase(req, res) { async function informationBase(req, res) {
let branchName = req.headers.branchid; let branchidData = req.headers.branchid;
let branchName = [];
branchidData = branchidData.slice(1, branchidData.length-1);
branchName = branchidData.split(',');
let reqConf = {informationType:'Number'}; let reqConf = {informationType:'Number'};
let {informationType} = eccReqParamater(reqConf, req.body); let {informationType} = eccReqParamater(reqConf, req.body);
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
import * as organizationalLifeBiz from '../../biz/applet/partyMember/organizationalLife'; import * as organizationalLifeBiz from '../../biz/applet/partyMember/organizationalLife';
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { eccReqParamater, testEccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
...@@ -26,7 +26,11 @@ export function setRouter(httpServer) { ...@@ -26,7 +26,11 @@ export function setRouter(httpServer) {
async function organizationalLifeList(req, res) { async function organizationalLifeList(req, res) {
let reqConf = {type:'Number', name:'Number'}; let reqConf = {type:'Number', name:'Number'};
let {type, name} = eccReqParamater(reqConf, req.body, ["name"]); let {type, name} = eccReqParamater(reqConf, req.body, ["name"]);
let branchName = req.headers.branchid;
let branchidData = req.headers.branchid;
let branchName = [];
branchidData = branchidData.slice(1, branchidData.length-1);
branchName = branchidData.split(',');
let result = await organizationalLifeBiz.getOrganizationalLifeList(type, name, branchName); let result = await organizationalLifeBiz.getOrganizationalLifeList(type, name, branchName);
res.success(result); res.success(result);
...@@ -41,7 +45,11 @@ async function organizationalLifeList(req, res) { ...@@ -41,7 +45,11 @@ async function organizationalLifeList(req, res) {
async function createOrganizationalLife(req, res) { async function createOrganizationalLife(req, res) {
let reqConf = {form: 'Object' }; let reqConf = {form: 'Object' };
let { form } = eccReqParamater(reqConf, req.body); let { form } = eccReqParamater(reqConf, req.body);
let branchName = req.headers.branchid;
let branchidData = req.headers.branchid;
let branchName = [];
branchidData = branchidData.slice(1, branchidData.length-1);
branchName = branchidData.split(',');
let result = await organizationalLifeBiz.createOrganizationalLife(branchName, form); let result = await organizationalLifeBiz.createOrganizationalLife(branchName, form);
res.success(result); res.success(result);
......
...@@ -8,10 +8,27 @@ ...@@ -8,10 +8,27 @@
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/partymember/partymember/create', checkAppletToken, asyncHandler(createPartyMenber)); httpServer.post('/partymember/partymember/partymembername', asyncHandler(getPartyMemberName));
httpServer.post('/partymember/partymember/create', asyncHandler(createPartyMenber));
httpServer.post('/partymember/partymember/detsils', asyncHandler(partyDetsils));
httpServer.post('/partymember/partymember/delete', asyncHandler(deletePartyMember));
} }
/**
* 党员名册
* @param req
* @param res
*/
async function getPartyMemberName(req, res) {
let branchidData = req.headers.branchid;
let branchName = [];
branchidData = branchidData.slice(1, branchidData.length-1);
branchName = branchidData.split(',');
let result = await partyMemberBiz.getPartyMemberName(branchName);
res.success(result);
}
/** /**
...@@ -20,9 +37,33 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -20,9 +37,33 @@ import { checkAppletToken } from '../../middleware/user';
* @param res * @param res
*/ */
async function createPartyMenber(req, res) { async function createPartyMenber(req, res) {
let reqConf = {form: 'Object' }; let reqConf = {form: 'Object', entryType: 'number'};
let { form } = eccReqParamater(reqConf, req.body); let { form, entryType } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.createPartyMember(form); let result = await partyMemberBiz.createPartyMember(form, entryType);
res.success(result); res.success(result);
} }
/**
* 党员详情
* @param req
* @param res
*/
async function partyDetsils(req, res) {
let reqConf = {id: 'Number'};
let {id} = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.partyMemberDetails(id);
res.success(result);
}
async function deletePartyMember(req, res) {
let reqConf = {id: 'Number'};
let {id} = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.deletePartyMember(id);
res.success(result);
}
\ No newline at end of file
...@@ -12,6 +12,11 @@ export function setRouter(httpServer) { ...@@ -12,6 +12,11 @@ export function setRouter(httpServer) {
httpServer.post('/public/entrytype', asyncHandler(entryType)); httpServer.post('/public/entrytype', asyncHandler(entryType));
httpServer.post('/public/activitytype', asyncHandler(activityType)); httpServer.post('/public/activitytype', asyncHandler(activityType));
httpServer.post('/public/informationtype', asyncHandler(informationType)); httpServer.post('/public/informationtype', asyncHandler(informationType));
httpServer.post('/public/sex', asyncHandler(sexType));
httpServer.post('/public/degree', asyncHandler(degreeType));
httpServer.post('/public/administrativeposition', asyncHandler(administrativePosition));
httpServer.post('/public/department', asyncHandler(department));
httpServer.post('/public/degreetype', asyncHandler(degreeType));
} }
...@@ -21,14 +26,7 @@ export function setRouter(httpServer) { ...@@ -21,14 +26,7 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
function partyPositions(req, res) { function partyPositions(req, res) {
let dataList = []; let dataList = getEnumList(configEnum.PARTYPOSITIONS);
for (let key in configEnum.PARTYPOSITIONS) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:configEnum.PARTYPOSITIONS[key]});
}
}
res.success(dataList); res.success(dataList);
} }
...@@ -39,14 +37,7 @@ function partyPositions(req, res) { ...@@ -39,14 +37,7 @@ function partyPositions(req, res) {
* @param res * @param res
*/ */
function type(req, res) { function type(req, res) {
let dataList = []; let dataList = getEnumList(clientConfigEnum.TYPE);
for (let key in clientConfigEnum.TYPE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:clientConfigEnum.TYPE[key]});
}
}
res.success(dataList); res.success(dataList);
} }
...@@ -57,14 +48,7 @@ function partyPositions(req, res) { ...@@ -57,14 +48,7 @@ function partyPositions(req, res) {
* @param res * @param res
*/ */
function entryType(req, res) { function entryType(req, res) {
let dataList = []; let dataList = getEnumList(clientConfigEnum.ENTRYTYPE);
for (let key in configEnum.ENTRYTYPE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:configEnum.ENTRYTYPE[key]});
}
}
res.success(dataList); res.success(dataList);
} }
...@@ -75,14 +59,7 @@ function partyPositions(req, res) { ...@@ -75,14 +59,7 @@ function partyPositions(req, res) {
* @param res * @param res
*/ */
function activityType(req, res) { function activityType(req, res) {
let dataList = []; let dataList = getEnumList(configEnum.ACTIVITYTYPE);
for (let key in configEnum.ACTIVITYTYPE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:configEnum.ACTIVITYTYPE[key]});
}
}
res.success(dataList); res.success(dataList);
} }
...@@ -93,14 +70,64 @@ function partyPositions(req, res) { ...@@ -93,14 +70,64 @@ function partyPositions(req, res) {
* @param res * @param res
*/ */
function informationType(req, res) { function informationType(req, res) {
let dataList = []; let dataList = getEnumList(configEnum.INFORMATIONTYPE);
for (let key in configEnum.INFORMATIONTYPE) { res.success(dataList);
}
/**
* 性别类型
* @param req
* @param res
*/
function sexType(req, res) {
let dataList = getEnumList(configEnum.SEX);
res.success(dataList);
}
/**
* 文化程度类型
* @param req
* @param res
*/
function degreeType(req, res) {
let dataList = getEnumList(configEnum.DEGREE);
res.success(dataList);
}
/**
* 行政职务类型
* @param req
* @param res
*/
function administrativePosition(req, res) {
let dataList = getEnumList(configEnum.ADMINISTRATIVEPOSITION);
res.success(dataList);
}
/**
* 所属科室类型
* @param req
* @param res
*/
function department(req, res) {
let dataList = getEnumList(configEnum.DEDPARTMENT);
res.success(dataList);
}
function getEnumList(enumData) {
let dataList= [];
for (let key in enumData) {
let anyKey:any = key; let anyKey:any = key;
if (isNaN(anyKey)) { if (isNaN(anyKey)) {
let keyStr = key; let keyStr = key;
dataList.push({key:keyStr, value:configEnum.INFORMATIONTYPE[key]}); dataList.push({key:keyStr, value:enumData[key]});
} }
} }
res.success(dataList);
}
return dataList;
}
\ No newline at end of file
...@@ -30,23 +30,27 @@ import { BizError } from "./bizError"; ...@@ -30,23 +30,27 @@ import { BizError } from "./bizError";
* @returns true 无需关注返回 * @returns true 无需关注返回
*/ */
export function eccFormParam(name:string, keyTypeConf:object, param:object) { export function eccFormParam(name:string, keyTypeConf:object, param:object) {
/**校验多余字段 */
for (let key in param) {
if (!keyTypeConf[key]) throw new BizError(ERRORENUM.参数错误, `多余${key}字段`);
}
/**校验已填参数 */
for (let key in keyTypeConf ) { for (let key in keyTypeConf ) {
let {type, notMustHave} = keyTypeConf[key]; let {type, notMustHave} = keyTypeConf[key];
let isError = false; //校验是否异常 let isError = false; //校验是否异常
let errorStr = "";//异常说明 let errorStr = "";//异常说明
if ( (typeof param[key] != 'boolean' && !param[key] ) ) { let value = param[key];
if (!notMustHave) { let valueType = typeof value;
isError = true;
errorStr = `缺失${key}字段`; if ( value == null || value == undefined ) {
} if (!notMustHave) throw new BizError(ERRORENUM.参数错误, `缺失${key}字段`);
} else if (param[key]) { } else {
let paramType = typeof param[key]; switch(type) {
let confType = keyTypeConf[key].type;
switch(confType) {
case 'Number': case 'Number':
if ( paramType != 'number' ) { if ( type.toLowerCase() != valueType ) {
isError = true; isError = true;
} else { } else {
if ((""+param[key]).indexOf('.') > -1) { if ((""+param[key]).indexOf('.') > -1) {
...@@ -55,10 +59,8 @@ import { BizError } from "./bizError"; ...@@ -55,10 +59,8 @@ import { BizError } from "./bizError";
} }
break; break;
case 'String': case 'String':
if ( paramType != 'string' ) isError = true;
break;
case 'Boolean': case 'Boolean':
if ( paramType != 'boolean' ) isError = true; if ( type.toLowerCase() != valueType ) isError = true;
break; break;
case '[Number]': case '[Number]':
if ( !Array.isArray(param[key]) ) isError = true; if ( !Array.isArray(param[key]) ) isError = true;
...@@ -70,16 +72,6 @@ import { BizError } from "./bizError"; ...@@ -70,16 +72,6 @@ import { BizError } from "./bizError";
} }
} }
break; break;
case '[String]':
if ( !Array.isArray(param[key]) ) isError = true;
for (let i =0; i < param[key].length; i++) {
let item = param[key][i];
if ( typeof item != 'string' ) {
isError = true;
errorStr = `${key}应是string型数组其中下标${i}${typeof item}`;
}
}
break;
case '[Object]': case '[Object]':
if ( !Array.isArray(param[key]) ) isError = true; if ( !Array.isArray(param[key]) ) isError = true;
for (let i =0; i < param[key].length; i++) { for (let i =0; i < param[key].length; i++) {
...@@ -121,18 +113,14 @@ import { BizError } from "./bizError"; ...@@ -121,18 +113,14 @@ import { BizError } from "./bizError";
nullIndex = i; nullIndex = i;
} }
} }
break; break;
} }
errorStr = isError && errorStr == "" ? `${key}应该是${type}型 而不是${paramType}`: errorStr; errorStr = isError && errorStr == "" ? `${key}应该是${type}型 而不是${valueType}`: errorStr;
if ( isError ) throw new BizError(ERRORENUM.表单校验失败, name, errorStr);
} }
if ( isError ) throw new BizError(ERRORENUM.表单校验失败, name, errorStr);
}
/**判断多余的参数 */
for (let key in param) {
if (!keyTypeConf[key]) throw new BizError(ERRORENUM.表单校验失败, name, `多余${key}字段`);
} }
return true; return true;
} }
...@@ -145,33 +133,41 @@ import { BizError } from "./bizError"; ...@@ -145,33 +133,41 @@ import { BizError } from "./bizError";
* @param skipKeys []不必填的字段 * @param skipKeys []不必填的字段
*/ */
export function eccReqParamater(conf:object, param, skipKeys?) { export function eccReqParamater(conf:object, param, skipKeys?) {
skipKeys = skipKeys || []; skipKeys = skipKeys || [];
for (let key in conf) {
let type = conf[key];
let value = param[key];
let isError = false; //校验是否异常 let skipMap = {};
let errorStr = "";//异常说明 skipKeys.forEach(keyName => {
skipMap[keyName] = 1;
});
if ( (type != 'Boolean') && !value ) { /**校验多余字段 */
if (skipKeys.indexOf(key) < 0 ) { for (let key in param) {
isError = true; if (!conf[key]) throw new BizError(ERRORENUM.参数错误, `多余${key}字段`);
errorStr = `缺少 ${key} 字段`; }
}
} else if(param[key]) { /**校验必填和缺失字段 */
let paramType = typeof param[key]; for (let key in conf) {
switch(conf[key]) { let confType = conf[key];
let value = param[key];
let valueType = typeof value;
if ( value == null || value == undefined ) {
if (!skipMap[key]) throw new BizError(ERRORENUM.参数错误, `缺失${key}字段`);
} else {
let isError = false;
let errorStr = "";
switch(confType) {
case 'Number': case 'Number':
if ( paramType != 'number' ) { if ( confType.toLowerCase() != valueType ) isError = true;
isError = true; else {
if ((""+param[key]).indexOf('.') > -1) {
param[key] = parseInt(`${param[key] *100}`)/100;
}
} }
break; break;
case 'String': case 'String':
if ( paramType != 'string' ) isError = true;
break;
case 'Boolean': case 'Boolean':
if ( paramType != 'boolean' ) isError = true; if ( confType.toLowerCase() != valueType ) isError = true;
break; break;
case '[Number]': case '[Number]':
if ( !Array.isArray(param[key]) ) isError = true; if ( !Array.isArray(param[key]) ) isError = true;
...@@ -193,27 +189,45 @@ export function eccReqParamater(conf:object, param, skipKeys?) { ...@@ -193,27 +189,45 @@ export function eccReqParamater(conf:object, param, skipKeys?) {
} }
} }
break; break;
case 'Address':
/**地址类型 基本数据类型为数组字符串但是要判断层级关系 */
if ( !Array.isArray(param[key]) ) {
isError = true;
errorStr = `${key}应是数组形`;
}
if ( param[key].length != 4) {
isError = true;
errorStr = `${key}超过特定长度4 目前长度 ${param[key].length}`;
}
for (let i =0; i < param[key].length; i++) {
let item = param[key][i];
if ( typeof item != 'string' ) {
isError = true;
errorStr = `${key}应是string型数组其中下标${i}${typeof item}`;
}
}
/** 不符合规则的 */
let nullIndex = -1;
for (let i = 0; i < param[key].length; i++) {
if (nullIndex != -1) {//出现过空 第一次出现后的位置 都不能有值
if (param[key]) {
//做一个特化
throw new BizError(ERRORENUM.地址数据不完整, `${key} 下标 ${nullIndex} 为空 `);
}
}
if (nullIndex == -1 && !param[key][i]) {
/**按顺序第一次赋值 */
nullIndex = i;
}
}
break;
} }
errorStr = isError && errorStr == "" ? `${key}应该是${type}型 而不是${paramType}`: errorStr; errorStr = isError && errorStr == "" ? `${key}应该是${confType}型 而不是${valueType}`: errorStr;
if (isError) throw new BizError(ERRORENUM.参数错误, errorStr);
} }
if (isError) throw new BizError(ERRORENUM.参数错误, errorStr);
}
for (let key in param) {
if (!conf[key]) throw new BizError(ERRORENUM.参数错误, `多余${key}字段`);
}
return param;
}
export function testEccReqParamater(conf:object, param, skipKeys?) {
skipKeys = skipKeys || [];
let confKey = [];
for (let key in conf) {
confKey.push(key);
} }
return param; return param;
} }
\ 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