Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wenHuaBu_adminServer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
wenHuaBu_adminServer
Commits
0c9f1af1
You need to sign in or sign up before continuing.
Commit
0c9f1af1
authored
Apr 28, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
9e9ce195
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
316 additions
and
129 deletions
+316
-129
mail.ts
src/biz/mail.ts
+1
-0
examine.ts
src/biz/member/examine.ts
+2
-2
costVerification.ts
src/biz/member/finance/costVerification.ts
+12
-3
homePage.ts
src/biz/member/homePage.ts
+110
-11
member.ts
src/biz/member/member.ts
+34
-21
user.ts
src/biz/member/user.ts
+3
-1
officialWebsite.ts
src/biz/officialWebsite.ts
+37
-11
register.ts
src/biz/register.ts
+5
-1
serverConfig.ts
src/config/serverConfig.ts
+2
-1
model.ts
src/data/models/model.ts
+7
-2
router.ts
src/routers/member/router.ts
+102
-76
router.ts
src/routers/order/router.ts
+1
-0
No files found.
src/biz/mail.ts
View file @
0c9f1af1
...
...
@@ -145,6 +145,7 @@ function getModel(name, type) {
* @returns
*/
export
async
function
sendMail
({
id
,
type
})
{
return
;
eccEnumValue
(
"发送邮件"
,
"邮件类型"
,
CLIENTMAILTYPE
,
type
);
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
[
"userId"
,
"name"
,
"unitName"
,
"memberType"
,
"mail"
]);
...
...
src/biz/member/examine.ts
View file @
0c9f1af1
...
...
@@ -507,8 +507,8 @@ export async function batchAdopt({idList, session}) {
userRegisterState
:
USERREGISTERSTATE
.
通过
,
session
:
session
,
paymentStatus
:
PAYMENTSTATUS
.
未支付
,
lifespanStartTime
:
NowMs
,
lifespanEndTime
:
NowMs
+
1000
,
lifespanStartTime
:
joinTime
,
lifespanEndTime
:
joinTime
+
1000
,
memberLevel
:
MEMBERLEVEL
.
普通会员
,
memberState
:
MEMBERSTATE
.
异常
,
memberNum
...
...
src/biz/member/finance/costVerification.ts
View file @
0c9f1af1
...
...
@@ -32,7 +32,7 @@ import { systemSendMail } from "../../mail";
* @param costType 会费类别
* @param pageNumber 当前页
*/
export
async
function
paidList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
session
,
joinEndTime
,
memberLevel
,
payType
,
paymentNum
,
pageSize
,
pageNumber
,
examineState
})
{
export
async
function
paidList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
session
,
joinEndTime
,
memberLevel
,
payType
,
paymentNum
,
pageSize
,
pageNumber
,
examineState
,
backgroundUpload
})
{
if
(
payType
!=
1
&&
payType
!=
2
&&
payType
!=
3
)
throw
new
BizError
(
ERRORENUM
.
参数错误
);
// eccEnumValue("财务核对列表", "会费类别", COSTTYPE, costType );
...
...
@@ -40,11 +40,15 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
state
:
ORDERSTATE
.
已支付
};
if
(
payType
==
1
)
{
findParam
.
paymentMethod
=
PAYMENTTYPE
.
微信支付
;
}
else
if
(
payType
==
2
)
{
if
(
backgroundUpload
==
null
)
{
findParam
.
paymentMethod
=
{
"$ne"
:
PAYMENTTYPE
.
微信支付
};
}
else
{
if
(
backgroundUpload
==
STATE
.
是
)
findParam
.
paymentMethod
=
PAYMENTTYPE
.
后台上传
;
else
if
(
backgroundUpload
==
STATE
.
否
)
findParam
.
paymentMethod
=
PAYMENTTYPE
.
银行转账
;
}
}
if
(
examineState
)
{
...
...
@@ -132,7 +136,13 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
operationTime
=
moment
(
info
.
payTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
info
.
memberCategory
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
info
.
paymentMethod
);
if
(
payType
==
2
)
{
if
(
info
.
paymentMethod
==
PAYMENTTYPE
.
后台上传
)
itemData
.
backgroundUpload
=
"是"
;
if
(
info
.
paymentMethod
==
PAYMENTTYPE
.
银行转账
)
itemData
.
backgroundUpload
=
"否"
;
}
itemData
.
costType
=
info
.
isFirst
==
COSTTYPE
.
首次
?
"首次"
:
"续费"
;
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY"
)}
`
...
...
@@ -155,7 +165,6 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
itemData
.
session
=
getEdition
(
parseInt
(
`
${
userInfo
.
session
/
100
}
`
),
parseInt
(
`
${
userInfo
.
session
%
100
}
`
)
);
itemData
.
state
=
info
.
confirmReceipt
==
RECEIPTCONFIRMATION
.
收款确认
?
"已审批"
:
"待审批"
;
itemData
.
invoiceStatus
=
info
.
invoiceStatus
==
INVOICESTATUS
.
已开发票
?
"已开"
:
"未开"
;
dataList
.
push
(
itemData
);
}
...
...
src/biz/member/homePage.ts
View file @
0c9f1af1
...
...
@@ -264,6 +264,25 @@ export async function getSheng ({userId}) {
let
msg
=
'会员注册尚未审核通过,无法下载证书'
;
//判断是否审批通过
if
(
userInfo
.
userRegisterState
==
USERREGISTERSTATE
.
通过
)
{
let
addresStr
=
""
;
if
(
getCityNameByCode
(
userInfo
.
sheng
))
{
addresStr
+=
`
${
getCityNameByCode
(
userInfo
.
sheng
)}
`
;
if
(
getCityNameByCode
(
userInfo
.
shi
))
{
if
(
getCityNameByCode
(
userInfo
.
sheng
)
!=
getCityNameByCode
(
userInfo
.
shi
))
{
addresStr
+=
`
${
getCityNameByCode
(
userInfo
.
shi
)}
`
;
}
if
(
getCityNameByCode
(
userInfo
.
qu
))
{
addresStr
+=
`
${
getCityNameByCode
(
userInfo
.
qu
)}
`
;
}
}
}
// if (getCityNameByCode(userInfo.sheng) == getCityNameByCode(userInfo.shi)) {
// addresStr = `${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}`;
// } else {
// addresStr = `${getCityNameByCode(userInfo.sheng)}${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}`;
// }
if
(
userInfo
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
//个人会员已支付可下载
if
(
userInfo
.
individualMemberType
==
INDIVIDUALMEMBERTYPE
.
普通会员
&&
userInfo
.
paymentStatus
!=
PAYMENTSTATUS
.
未支付
)
certificate
=
true
;
...
...
@@ -272,7 +291,7 @@ export async function getSheng ({userId}) {
if
(
certificate
)
{
cefaInfo
=
{
name
:
userInfo
.
name
,
area
:
getCityNameByCode
(
userInfo
.
sheng
)
,
area
:
addresStr
,
documentId
:
userInfo
.
documentId
,
memberNum
:
userInfo
.
memberNum
,
session
:
getEdition
(
Math
.
floor
(
userInfo
.
session
/
100
),
userInfo
.
session
%
100
),
...
...
@@ -290,12 +309,11 @@ export async function getSheng ({userId}) {
certificate
=
true
;
}
if
(
certificate
)
{
let
addresStr
=
""
;
if
(
getCityNameByCode
(
userInfo
.
sheng
)
==
getCityNameByCode
(
userInfo
.
shi
))
{
addresStr
=
`
${
getCityNameByCode
(
userInfo
.
shi
)}${
getCityNameByCode
(
userInfo
.
qu
)}${
userInfo
.
addres
}
`
;
}
else
{
addresStr
=
`
${
getCityNameByCode
(
userInfo
.
sheng
)}${
getCityNameByCode
(
userInfo
.
shi
)}${
getCityNameByCode
(
userInfo
.
qu
)}${
userInfo
.
addres
}
`
;
}
// if (getCityNameByCode(userInfo.sheng) == getCityNameByCode(userInfo.shi)) {
// addresStr = `${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}${userInfo.addres}`;
// } else {
// addresStr = `${getCityNameByCode(userInfo.sheng)}${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}${userInfo.addres}`;
// }
cefaInfo
=
{
unitName
:
userInfo
.
unitName
,
addres
:
addresStr
,
...
...
@@ -430,6 +448,25 @@ export async function getApply({userId}) {
/**
* 职务申请是否审批中
* @param param0
* @returns
*/
export
async
function
getChangeApplyType
({
userId
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
},
[
"changeApplyType"
]);
let
changeApplyType
=
false
;
if
(
userInfo
.
changeApplyType
==
CHANGEAPPLYTYPE
.
待审批
)
changeApplyType
=
false
;
else
changeApplyType
=
true
;
return
{
changeApplyType
};
}
/**
* 变更理事申请,职位未发生变更不需要走当前流程
* @param memberLevel 变更理事
* @param userId 登录的userid
...
...
@@ -483,10 +520,16 @@ export async function isNeedSupplement({userId}) {
// };
/**资料变更 */
// const DwRequiredConf = {
// "基本信息": ["unitName", "sheng", "shi", "qu", "addres", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson",
// "contactPersonDuties", "phone", "uusinessLicenseUrl", "applicationForm"],
// "单位信息": ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
// "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
// "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
// };
const
DwRequiredConf
=
{
"基本信息"
:
[
"unitName"
,
"sheng"
,
"shi"
,
"qu"
,
"addres"
,
"uscc"
,
"legalPerson"
,
"legalPersonPhone"
,
"legalPersonMail"
,
"contactPerson"
,
"contactPersonDuties"
,
"phone"
,
"uusinessLicenseUrl"
,
"applicationForm"
],
"单位信息"
:
[
"unitMemberType"
,
"yuanXiaoBanXueLeiXing"
,
"yuanXiaoZhuGuanBuMen"
,
"yuanXiaoFuZeRen"
,
"yuanXiaoFuZeRenZhiWu"
,
"基本信息"
:
[
"sheng"
,
"shi"
,
"qu"
,
"addres"
,
"contactPerson"
,
"contactPersonDuties"
,
"phone"
,
"applicationForm"
],
"单位信息"
:
[
"yuanXiaoZhuGuanBuMen"
,
"yuanXiaoFuZeRen"
,
"yuanXiaoFuZeRenZhiWu"
,
"yuanXiaoFuZeRenDianHua"
,
"yuanXiaoBanGongFuZeRen"
,
"yuanXiaoBanGongFuZeRenDianHua"
,
"ZhuYaoFuZeRenYouXiang"
,
"yuanXiaoKeYanFuZeRen"
,
"yuanXiaoKeYanFuZeRenDianHua"
,
"jiaoXueFuZeRenXinMing"
,
"jiaoXueFuZeRenDianHua"
]
};
...
...
@@ -494,6 +537,10 @@ export async function isNeedSupplement({userId}) {
const
Dwshzycj
=
{
"单位所获主要成绩及科研成果"
:
[
"startTime"
,
"endTime"
,
"describe"
]
};
// const Gzsqb = {
// "盖章申请表": ["applicationForm"]
// };
let
dwshzycjInfo
=
await
findOnce
(
TABLEENUM
.
单位所获得科研成果表
,
{
userId
});
...
...
@@ -539,8 +586,17 @@ export async function isNeedSupplement({userId}) {
infoCompleteData
[
"单位所获主要成绩及科研成果"
]
=
true
;
}
}
}
// for (let i = 0; i < Gzsqb["盖章申请表"].length; i++) {
// if(!oldInfo[Gzsqb["盖章申请表"][i]]) {
// infoCompleteData["盖章申请表"] = false;
// changeApplyType = CHANGEAPPLYTYPE.注册信息待补充;
// break;
// } else {
// infoCompleteData["盖章申请表"] = true;
// }
// }
}
let
infoComplete
=
[];
...
...
@@ -573,6 +629,7 @@ export async function isZwbgtxzd({userId}) {
if
(
!
oldInfo
[
ZyRequiredConf
[
key
][
i
]])
{
isZwbgtxzd
=
false
;
changeApplyType
=
CHANGEAPPLYTYPE
.
注册信息待补充
break
;
}
else
{
isZwbgtxzd
=
true
;
}
...
...
@@ -695,6 +752,48 @@ export async function applyReason({applyStr, userId}) {
/**
* 变更理事申请理由-单位会员 2025-04-22 单位会员新增理事申请字段需要与个人会员区分方法
* @param applyStr 变更申请理由
* @param userId 登录的userid
* @returns
*/
export
async
function
applyReasonMember
({
applyName
,
applySex
,
applyDuties
,
applyPhone
,
applyStr
,
userId
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
const
Now
=
new
Date
().
valueOf
();
let
applyId
=
generateSystemId
(
TABLEENUM
.
理事变更审批历史表
,
userId
);
let
param
=
{
applyStr
,
changeApplyType
:
CHANGEAPPLYTYPE
.
待审批
,
applyApplicationTime
:
Now
,
applyId
,
}
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
param
);
/**添加审批历史 */
let
applyInfo
:
any
=
{
applyId
,
userId
,
applyMemberLevel
:
oldInfo
.
applyMemberLevel
,
beforeChange
:
oldInfo
.
beforeChange
,
changeApplyType
:
CHANGEAPPLYTYPE
.
待审批
,
applyApplicationTime
:
Now
,
applyName
,
applySex
,
applyDuties
,
applyPhone
,
applyStr
,
};
await
addOneData
(
TABLEENUM
.
理事变更审批历史表
,
applyInfo
);
return
successResult
();
}
/**
* 资料变更
* @param param0
* @returns
...
...
src/biz/member/member.ts
View file @
0c9f1af1
...
...
@@ -40,8 +40,19 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
isBlackUser
:
STATE
.
否
};
if
(
unitName
)
selectParam
.
unitName
=
{
"$regex"
:
unitName
};
if
(
mail
)
selectParam
.
mail
=
mail
;
if
(
phone
)
selectParam
.
phone
=
phone
;
if
(
mail
)
{
selectParam
.
mail
=
mail
;
selectParam
.
legalPersonMail
=
mail
;
//法人邮箱
selectParam
.
ZhuYaoFuZeRenYouXiang
=
mail
;
//主要负责人邮箱
}
if
(
phone
)
{
selectParam
.
phone
=
phone
;
selectParam
.
legalPersonPhone
=
phone
;
//法人联系电话
selectParam
.
yuanXiaoFuZeRenDianHua
=
phone
;
//院校主要负责人电话
selectParam
.
yuanXiaoBanGongFuZeRenDianHua
=
phone
;
//院校办公负责人电话
selectParam
.
yuanXiaoKeYanFuZeRenDianHua
=
phone
;
//院校科研负责人电话
selectParam
.
jiaoXueFuZeRenDianHua
=
phone
;
//教学负责人电话
}
if
(
joinStartTime
)
{
selectParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
...
...
@@ -166,14 +177,14 @@ export async function unitMemberDetails({userId, id}) {
* @returns
*/
export
async
function
unitMemberUpdate
({
form
,
keyanForm
,
id
})
{
const
keyanFormItemConfig
=
{
startTime
:
'Number'
,
endTime
:
'Number'
,
describe
:
'String'
};
keyanForm
.
forEach
(
item
=>
{
eccFormParam
(
"单位会员修改"
,
keyanFormItemConfig
,
item
);
});
//
const keyanFormItemConfig = {
//
startTime: 'Number',
//
endTime: 'Number',
//
describe: 'String'
//
};
//
keyanForm.forEach(item => {
//
eccFormParam("单位会员修改", keyanFormItemConfig, item );
//
});
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
id
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
...
...
@@ -181,15 +192,17 @@ export async function unitMemberUpdate({form, keyanForm, id}) {
/**校验枚举 */
const
EccFuncName
=
'单位会员修改'
;
/**校验入参 */
eccCityCode
(
form
.
sheng
,
form
.
shi
,
form
.
qu
);
eccEnumValue
(
EccFuncName
,
'性别'
,
SEX
,
form
.
sex
);
eccEnumValue
(
EccFuncName
,
'证件类型'
,
DOCUMENTTYPE
,
form
.
documentType
);
eccEnumValue
(
EccFuncName
,
'民族'
,
NATION
,
form
.
nation
);
eccEnumValue
(
EccFuncName
,
'专业类别'
,
PROFCATEGORY
,
form
.
profCategory
);
if
(
form
.
sheng
&&
form
.
shi
&&
form
.
qu
)
eccCityCode
(
form
.
sheng
,
form
.
shi
,
form
.
qu
);
if
(
form
.
sex
)
eccEnumValue
(
EccFuncName
,
'性别'
,
SEX
,
form
.
sex
);
if
(
form
.
documentType
)
eccEnumValue
(
EccFuncName
,
'证件类型'
,
DOCUMENTTYPE
,
form
.
documentType
);
if
(
form
.
nation
)
eccEnumValue
(
EccFuncName
,
'民族'
,
NATION
,
form
.
nation
);
if
(
form
.
profCategory
)
eccEnumValue
(
EccFuncName
,
'专业类别'
,
PROFCATEGORY
,
form
.
profCategory
);
/**修改会员用户信息 */
let
distinctMailInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
mail
:
form
.
mail
},
[
"userId"
]);
if
(
distinctMailInfo
&&
distinctMailInfo
.
userId
&&
distinctMailInfo
.
userId
!=
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
邮箱重复
,
oldInfo
.
loginId
,
oldInfo
.
mail
);
if
(
distinctMailInfo
&&
distinctMailInfo
.
userId
&&
distinctMailInfo
.
userId
!=
oldInfo
.
userId
)
{
// throw new BizError(ERRORENUM.邮箱重复, oldInfo.loginId, oldInfo.mail );
}
form
.
mail
=
form
.
mail
;
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
form
);
...
...
@@ -369,12 +382,12 @@ export async function individualMemberDetails({userId, id}) {
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
/**校验入参 */
eccCityCode
(
form
.
sheng
,
form
.
shi
,
form
.
qu
);
let
EccFuncName
=
"个人会员修改"
;
eccEnumValue
(
EccFuncName
,
'性别'
,
SEX
,
form
.
sex
);
eccEnumValue
(
EccFuncName
,
'证件类型'
,
DOCUMENTTYPE
,
form
.
documentType
);
eccEnumValue
(
EccFuncName
,
'民族'
,
NATION
,
form
.
nation
);
eccEnumValue
(
EccFuncName
,
'专业类别'
,
PROFCATEGORY
,
form
.
profCategory
);
if
(
form
.
sheng
&&
form
.
shi
&&
form
.
qu
)
eccCityCode
(
form
.
sheng
,
form
.
shi
,
form
.
qu
);
if
(
form
.
sex
)
eccEnumValue
(
EccFuncName
,
'性别'
,
SEX
,
form
.
sex
);
if
(
form
.
documentType
)
eccEnumValue
(
EccFuncName
,
'证件类型'
,
DOCUMENTTYPE
,
form
.
documentType
);
if
(
form
.
nation
)
eccEnumValue
(
EccFuncName
,
'民族'
,
NATION
,
form
.
nation
);
if
(
form
.
profCategory
)
eccEnumValue
(
EccFuncName
,
'专业类别'
,
PROFCATEGORY
,
form
.
profCategory
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
form
);
return
successResult
();
...
...
src/biz/member/user.ts
View file @
0c9f1af1
...
...
@@ -55,6 +55,8 @@ export async function login({loginId, pwd}) {
if
(
userInfo
.
memberState
>=
MEMBERSTATE
.
冻结
)
{
throw
new
BizError
(
ERRORENUM
.
该账号已被冻结
);
}
let
isPass
=
false
;
if
(
userInfo
.
userRegisterState
==
USERREGISTERSTATE
.
通过
)
isPass
=
true
;
let
dataInfo
=
{
isAdmin
:
userInfo
.
isAdmin
==
STATE
.
是
,
...
...
@@ -63,7 +65,7 @@ export async function login({loginId, pwd}) {
token
:
token
,
adminLv
:
userInfo
.
adminLv
,
timeMs
:
Now
,
isPass
:
userInfo
.
userRegisterState
==
USERREGISTERSTATE
.
通过
,
isPass
,
memberType
:
userInfo
.
memberType
,
isInput
:(
userInfo
.
isInput
&&
!
userInfo
.
inputUserChangePwd
),
phone
:
userInfo
.
phone
...
...
src/biz/officialWebsite.ts
View file @
0c9f1af1
...
...
@@ -3,7 +3,7 @@
*/
import
moment
=
require
(
"moment"
);
import
{
ARTICLEPOSITION
,
BANNERPOSITION
,
BRANCHPOSITION
,
CODPARTICIPANT
,
DANGJIANVIDEO
,
DONGTAIZIXUNSUBTYPE
,
IMGEDITFUNENUM
,
INDIVIDUALMEMBERTYPE
,
MEMBERTYPE
,
PARTYBUILDSUBTYPEENUM
,
PARTYBUILDTYPEENUM
,
PAYMENTSTATUS
,
STATE
,
TONGZHIGONGGAO
,
UNITMEMBERTYPE
,
USERREGISTERSTATE
,
XUEHUILINGDAOZHIWEI
}
from
"../config/enum"
;
import
{
ARTICLEPOSITION
,
BANNERPOSITION
,
BRANCHPOSITION
,
CODPARTICIPANT
,
DANGJIANVIDEO
,
DONGTAIZIXUNSUBTYPE
,
IMGEDITFUNENUM
,
INDIVIDUALMEMBERTYPE
,
MEMBER
LEVEL
,
MEMBER
TYPE
,
PARTYBUILDSUBTYPEENUM
,
PARTYBUILDTYPEENUM
,
PAYMENTSTATUS
,
STATE
,
TONGZHIGONGGAO
,
UNITMEMBERTYPE
,
USERREGISTERSTATE
,
XUEHUILINGDAOZHIWEI
}
from
"../config/enum"
;
import
{
TABLEENUM
}
from
"../data/models/model"
;
import
{
find
,
findCount
,
findOnce
,
findToPage
,
findToSort
,
findToSortToPage
}
from
"../data/select"
;
import
{
extractData
}
from
"../util/piecemeal"
;
...
...
@@ -856,7 +856,11 @@ export async function xueXiYuanDiShiPinType() {
// }
/**
* 证书查询
* @param param0
* @returns
*/
export
async
function
zhengShuChaXun
({
memberType
,
name
,
carId
})
{
eccEnumValue
(
"证书查询"
,
"会员类型"
,
MEMBERTYPE
,
memberType
);
let
selectParam
=
{};
...
...
@@ -872,19 +876,40 @@ export async function zhengShuChaXun({memberType, name, carId}) {
let
msg
=
'会员注册尚未审核通过,无法下载证书'
;
//判断是否审批通过
if
(
userInfo
.
userRegisterState
==
USERREGISTERSTATE
.
通过
)
{
let
addresStr
=
``
;
if
(
getCityNameByCode
(
userInfo
.
sheng
))
{
addresStr
+=
`
${
getCityNameByCode
(
userInfo
.
sheng
)}
`
;
if
(
getCityNameByCode
(
userInfo
.
shi
))
{
if
(
getCityNameByCode
(
userInfo
.
sheng
)
!=
getCityNameByCode
(
userInfo
.
shi
))
{
addresStr
+=
`
${
getCityNameByCode
(
userInfo
.
shi
)}
`
;
}
if
(
getCityNameByCode
(
userInfo
.
qu
))
{
addresStr
+=
`
${
getCityNameByCode
(
userInfo
.
qu
)}
`
;
}
}
}
// if (getCityNameByCode(userInfo.sheng) == getCityNameByCode(userInfo.shi) || !getCityNameByCode(userInfo.qu)) {
// addresStr = `${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}`;
// } else {
// addresStr = `${getCityNameByCode(userInfo.sheng)}${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}`;
// }
if
(
userInfo
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
//个人会员已支付可下载
if
(
userInfo
.
individualMemberType
==
INDIVIDUALMEMBERTYPE
.
普通会员
&&
userInfo
.
paymentStatus
!=
PAYMENTSTATUS
.
未支付
)
certificate
=
true
;
//个人会员专家无需支付可下载
if
(
userInfo
.
individualMemberType
==
INDIVIDUALMEMBERTYPE
.
专家会员
)
certificate
=
true
;
if
(
certificate
)
{
cefaInfo
=
{
name
:
userInfo
.
name
,
area
:
getCityNameByCode
(
userInfo
.
sheng
)
,
area
:
addresStr
,
documentId
:
userInfo
.
documentId
,
memberNum
:
userInfo
.
memberNum
,
session
:
getEdition
(
Math
.
floor
(
userInfo
.
session
/
100
),
userInfo
.
session
%
100
),
lifespanTime
:
`
${
moment
(
userInfo
.
lifespanStartTime
).
format
(
"YYYY年MM月DD日"
)}
至
${
moment
(
userInfo
.
lifespanEndTime
).
format
(
"YYYY年MM月DD日"
)}
`
lifespanTime
:
`
${
moment
(
userInfo
.
lifespanStartTime
).
format
(
"YYYY年MM月DD日"
)}
至
${
moment
(
userInfo
.
lifespanEndTime
).
format
(
"YYYY年MM月DD日"
)}
`
,
memberLevel
:
userInfo
.
memberLevel
,
memberLevelStr
:
changeEnumValue
(
MEMBERLEVEL
,
userInfo
.
memberLevel
),
}
msg
=
``
;
}
else
{
...
...
@@ -898,18 +923,19 @@ export async function zhengShuChaXun({memberType, name, carId}) {
certificate
=
true
;
}
if
(
certificate
)
{
let
addresStr
=
""
;
if
(
getCityNameByCode
(
userInfo
.
sheng
)
==
getCityNameByCode
(
userInfo
.
shi
))
{
addresStr
=
`
${
getCityNameByCode
(
userInfo
.
shi
)}${
getCityNameByCode
(
userInfo
.
qu
)}${
userInfo
.
addres
}
`
;
}
else
{
addresStr
=
`
${
getCityNameByCode
(
userInfo
.
sheng
)}${
getCityNameByCode
(
userInfo
.
shi
)}${
getCityNameByCode
(
userInfo
.
qu
)}${
userInfo
.
addres
}
`
;
}
// if (getCityNameByCode(userInfo.sheng) == getCityNameByCode(userInfo.shi)) {
// addresStr = `${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}${userInfo.addres}`;
// } else {
// addresStr = `${getCityNameByCode(userInfo.sheng)}${getCityNameByCode(userInfo.shi)}${getCityNameByCode(userInfo.qu)}${userInfo.addres}`;
// }
cefaInfo
=
{
unitName
:
userInfo
.
unitName
,
addres
:
addresStr
,
memberNum
:
userInfo
.
memberNum
,
session
:
getEdition
(
Math
.
floor
(
userInfo
.
session
/
100
),
userInfo
.
session
%
100
),
lifespanTime
:
`
${
moment
(
userInfo
.
lifespanStartTime
).
format
(
"YYYY年MM月DD日"
)}
至
${
moment
(
userInfo
.
lifespanEndTime
).
format
(
"YYYY年MM月DD日"
)}
`
lifespanTime
:
`
${
moment
(
userInfo
.
lifespanStartTime
).
format
(
"YYYY年MM月DD日"
)}
至
${
moment
(
userInfo
.
lifespanEndTime
).
format
(
"YYYY年MM月DD日"
)}
`
,
memberLevel
:
userInfo
.
memberLevel
,
memberLevelStr
:
changeEnumValue
(
MEMBERLEVEL
,
userInfo
.
memberLevel
),
}
if
(
userInfo
.
unitMemberType
==
UNITMEMBERTYPE
.
院校
)
{
let
diffYearNum
=
moment
().
diff
(
moment
(
userInfo
.
lifespanStartTime
),
'years'
);
...
...
src/biz/register.ts
View file @
0c9f1af1
...
...
@@ -333,7 +333,7 @@ export async function registerFlowType({id}) {
* @param phone
* @returns
*/
export
async
function
memberRegisterSendCode
({
phone
})
{
export
async
function
memberRegisterSendCode
({
phone
,
verifyType
})
{
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
phone
},
[
"userId"
]);
if
(
userInfo
&&
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
该手机号已被注册
);
const
NowMs
=
new
Date
().
valueOf
();
...
...
@@ -460,7 +460,11 @@ export async function unitMemberNotSaved({form, keyanForm, id}) {
// await updateOneData(TABLEENUM.用户表, {userId:id, saveUnsubmitted:STATE.否}, form);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
form
);
/**删除对应userId科研成果 */
let
oldKeYanList
=
await
find
(
TABLEENUM
.
单位所获得科研成果表
,
{
userId
:
id
});
if
(
oldKeYanList
&&
oldKeYanList
.
length
)
{
await
deleteManyData
(
TABLEENUM
.
单位所获得科研成果表
,
{
userId
:
id
});
}
let
addList
=
[];
for
(
let
i
=
0
;
i
<
keyanForm
.
length
;
i
++
)
{
let
{
startTime
,
endTime
,
describe
}
=
keyanForm
[
i
];
...
...
src/config/serverConfig.ts
View file @
0c9f1af1
...
...
@@ -26,7 +26,8 @@ export const SessionTimeMsConfig = {
"6_10"
:{
activTime
:
'2022-12-27 08:00:00'
,
timeMs
:
new
Date
(
'2022-12-27 08:00:00'
).
valueOf
()},
"7_1"
:{
activTime
:
'2023-6-10 08:00:00'
,
timeMs
:
new
Date
(
'2023-6-10 08:00:00'
).
valueOf
()},
"7_2"
:{
activTime
:
'2023-11-13 08:00:00'
,
timeMs
:
new
Date
(
'2023-11-13 08:00:00'
).
valueOf
()},
"7_3"
:{
activTime
:
'2024-5-11 08:00:00'
,
timeMs
:
new
Date
(
'2024-5-11 08:00:00'
).
valueOf
()}
"7_3"
:{
activTime
:
'2024-5-22 08:00:00'
,
timeMs
:
new
Date
(
'2024-5-22 08:00:00'
).
valueOf
()},
//2025年4月15日 高老师说要统一7届3次的入会时间为2024年5月22日
"7_4"
:{
activTime
:
'2024-12-11 08:00:00'
,
timeMs
:
new
Date
(
'2024-12-11 08:00:00'
).
valueOf
()},
}
const
ConfigName
=
"serverConfig.xml"
;
...
...
src/data/models/model.ts
View file @
0c9f1af1
...
...
@@ -650,11 +650,17 @@ const ModelArray = [
userId
:{
type
:
'String'
,
index
:
true
},
//用户id 外键
applyMemberLevel
:
'Number'
,
//申请变更的职位
beforeChange
:
'Number'
,
//会员等级、职务 枚举 MEMBERLEVEL 【变更申请前的职位】
applyStr
:
'String'
,
//变更理事申请理由
changeApplyType
:
'Number'
,
//变更审批状态
applyApplicationTime
:
'Number'
,
//变更理事申请时间
applyReviewTime
:
'Number'
,
//变更理事审核时间
rejectRemarks
:
'String'
,
//变更理事驳回理由
/**2025-04-18新增字段 -start */
applyName
:
'String'
,
//变更理事负责人姓名
applySex
:
'Number'
,
//变更理事负责人性别
applyDuties
:
'String'
,
//变更理事负责人职务
applyPhone
:
'String'
,
//变更理事负责人电话
/**-------------------end */
applyStr
:
'String'
,
//变更理事申请理由
}
},
{
...
...
@@ -695,7 +701,6 @@ const ModelArray = [
session
:
'Number'
,
//届次【规则:五年一届半年一次(10次一届)】 数据库保存格式:200801【年月(YYYYMM)】
joinTime
:
'Number'
,
//入会时间 届次绑定入会时间,旧的时间线对应届次按照之前的配置来,新届次对应入会时间按照新届次第一次被审核时间
}
}
];
...
...
src/routers/member/router.ts
View file @
0c9f1af1
...
...
@@ -173,7 +173,8 @@ export const Config = {
notMiddleware
:
true
,
subUrl
:
'/memberdb/registersendcode'
,
param
:[
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"联系人手机号"
}
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"联系人手机号"
},
// {key:"verifyType", type:"Number", desc:"接收验证码类型:1:手机号码、2:邮箱"}
],
bindBiz
:
registerBiz
.
memberRegisterSendCode
},
...
...
@@ -469,6 +470,12 @@ export const Config = {
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"绑定手机号"
}
],
bindBiz
:
userBiz
.
memberChangePwdSendCode
},
{
apiName
:
"获取个人基础信息"
,
subUrl
:
'/memberdb/systembase'
,
param
:[],
bindBiz
:
memberBiz
.
systemBase
}
],
"会员库"
:[
...
...
@@ -544,33 +551,33 @@ export const Config = {
key
:
"form"
,
type
:
"Object"
,
sub
:
{
/**基本信息 */
unitName
:{
type
:
'String'
,
desc
:
'单位名称'
},
addres
:{
type
:
'String'
,
desc
:
'通信地址'
},
legalPerson
:{
type
:
'String'
,
desc
:
'法人代表'
},
legalPersonPhone
:{
type
:
'String'
,
desc
:
'法人联系电话'
},
legalPersonMail
:{
type
:
'String'
,
desc
:
'法人邮箱'
},
mail
:{
type
:
'String'
,
desc
:
'单位电子邮箱'
},
contactPerson
:{
type
:
'String'
,
desc
:
'日常联系人'
},
contactPersonDuties
:{
type
:
'String'
,
desc
:
'日常联系人职务'
},
phone
:{
type
:
'String'
,
desc
:
'日常联系人电话'
},
sheng
:{
type
:
'String'
,
desc
:
'省'
},
shi
:{
type
:
'String'
,
desc
:
'市'
},
qu
:{
type
:
'String'
,
desc
:
'区'
},
uusinessLicenseUrl
:{
type
:
'String'
,
desc
:
'营业执照'
},
unitName
:{
type
:
'String'
,
desc
:
'单位名称'
,
notMustHave
:
true
},
addres
:{
type
:
'String'
,
desc
:
'通信地址'
,
notMustHave
:
true
},
legalPerson
:{
type
:
'String'
,
desc
:
'法人代表'
,
notMustHave
:
true
},
legalPersonPhone
:{
type
:
'String'
,
desc
:
'法人联系电话'
,
notMustHave
:
true
},
legalPersonMail
:{
type
:
'String'
,
desc
:
'法人邮箱'
,
notMustHave
:
true
},
mail
:{
type
:
'String'
,
desc
:
'单位电子邮箱'
,
notMustHave
:
true
},
contactPerson
:{
type
:
'String'
,
desc
:
'日常联系人'
,
notMustHave
:
true
},
contactPersonDuties
:{
type
:
'String'
,
desc
:
'日常联系人职务'
,
notMustHave
:
true
},
phone
:{
type
:
'String'
,
desc
:
'日常联系人电话'
,
notMustHave
:
true
},
sheng
:{
type
:
'String'
,
desc
:
'省'
,
notMustHave
:
true
},
shi
:{
type
:
'String'
,
desc
:
'市'
,
notMustHave
:
true
},
qu
:{
type
:
'String'
,
desc
:
'区'
,
notMustHave
:
true
},
uusinessLicenseUrl
:{
type
:
'String'
,
desc
:
'营业执照'
,
notMustHave
:
true
},
/**单位信息 */
unitMemberType
:{
type
:
'Number'
,
desc
:
'单位类型'
},
yuanXiaoBanXueLeiXing
:{
type
:
'Number'
,
desc
:
'办学类型'
},
yuanXiaoZhuGuanBuMen
:{
type
:
'String'
,
desc
:
'主管部门'
},
yuanXiaoFuZeRen
:{
type
:
'String'
,
desc
:
'主要负责人姓名'
},
yuanXiaoFuZeRenZhiWu
:{
type
:
'String'
,
desc
:
'主要负责人职位'
},
yuanXiaoFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'主要负责人电话'
},
ZhuYaoFuZeRenYouXiang
:{
type
:
'String'
,
desc
:
'主要负责人邮箱'
},
yuanXiaoBanGongFuZeRen
:{
type
:
'String'
,
desc
:
'办公负责人姓名'
},
yuanXiaoBanGongFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'办公负责人电话'
},
yuanXiaoKeYanFuZeRen
:{
type
:
'String'
,
desc
:
'科研负责人姓名'
},
yuanXiaoKeYanFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'科研负责人电话'
},
jiaoXueFuZeRenXinMing
:{
type
:
'String'
,
desc
:
'教学负责人姓名'
},
jiaoXueFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'教学负责人电话'
},
unitMemberType
:{
type
:
'Number'
,
desc
:
'单位类型'
,
notMustHave
:
true
},
yuanXiaoBanXueLeiXing
:{
type
:
'Number'
,
desc
:
'办学类型'
,
notMustHave
:
true
},
yuanXiaoZhuGuanBuMen
:{
type
:
'String'
,
desc
:
'主管部门'
,
notMustHave
:
true
},
yuanXiaoFuZeRen
:{
type
:
'String'
,
desc
:
'主要负责人姓名'
,
notMustHave
:
true
},
yuanXiaoFuZeRenZhiWu
:{
type
:
'String'
,
desc
:
'主要负责人职位'
,
notMustHave
:
true
},
yuanXiaoFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'主要负责人电话'
,
notMustHave
:
true
},
ZhuYaoFuZeRenYouXiang
:{
type
:
'String'
,
desc
:
'主要负责人邮箱'
,
notMustHave
:
true
},
yuanXiaoBanGongFuZeRen
:{
type
:
'String'
,
desc
:
'办公负责人姓名'
,
notMustHave
:
true
},
yuanXiaoBanGongFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'办公负责人电话'
,
notMustHave
:
true
},
yuanXiaoKeYanFuZeRen
:{
type
:
'String'
,
desc
:
'科研负责人姓名'
,
notMustHave
:
true
},
yuanXiaoKeYanFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'科研负责人电话'
,
notMustHave
:
true
},
jiaoXueFuZeRenXinMing
:{
type
:
'String'
,
desc
:
'教学负责人姓名'
,
notMustHave
:
true
},
jiaoXueFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'教学负责人电话'
,
notMustHave
:
true
},
kaishezhuanYe
:{
type
:
'String'
,
desc
:
'开设专业'
,
notMustHave
:
true
},
danWeiJianJie
:{
type
:
'String'
,
desc
:
'单位简介'
,
notMustHave
:
true
}
},
...
...
@@ -579,9 +586,9 @@ export const Config = {
{
key
:
"keyanForm"
,
type
:
"[Object]"
,
sub
:
{
startTime
:{
type
:
'Number'
,
desc
:
'开始时间'
},
endTime
:{
type
:
'Number'
,
desc
:
'结束时间'
},
describe
:{
type
:
'String'
,
desc
:
'科研描述'
},
startTime
:{
type
:
'Number'
,
desc
:
'开始时间'
,
notMustHave
:
true
},
endTime
:{
type
:
'Number'
,
desc
:
'结束时间'
,
notMustHave
:
true
},
describe
:{
type
:
'String'
,
desc
:
'科研描述'
,
notMustHave
:
true
},
},
desc
:
"单位所获得科研成果表单"
},
...
...
@@ -599,36 +606,36 @@ export const Config = {
key
:
"form"
,
type
:
"Object"
,
sub
:
{
/**基本信息 */
name
:{
type
:
'String'
,
desc
:
'真实姓名'
},
sex
:{
type
:
'Number'
,
desc
:
'性别'
},
nation
:{
type
:
'Number'
,
desc
:
'民族'
},
birth
:{
type
:
'Number'
,
desc
:
'出身年月'
},
documentType
:{
type
:
'Number'
,
desc
:
'证件类型'
},
documentId
:{
type
:
'String'
,
desc
:
'证件号码'
},
sheng
:{
type
:
'String'
,
desc
:
'省'
},
shi
:{
type
:
'String'
,
desc
:
'市'
},
qu
:{
type
:
'String'
,
desc
:
'区'
},
phone
:{
type
:
'String'
,
desc
:
'手机号码'
},
mail
:{
type
:
'String'
,
desc
:
'电子邮箱'
},
addres
:{
type
:
'String'
,
desc
:
'通信地址'
},
photoUrl
:{
type
:
'String'
,
desc
:
'蓝底证件照'
},
education
:{
type
:
'Number'
,
desc
:
'学历'
},
name
:{
type
:
'String'
,
desc
:
'真实姓名'
,
notMustHave
:
true
},
sex
:{
type
:
'Number'
,
desc
:
'性别'
,
notMustHave
:
true
},
nation
:{
type
:
'Number'
,
desc
:
'民族'
,
notMustHave
:
true
},
birth
:{
type
:
'Number'
,
desc
:
'出身年月'
,
notMustHave
:
true
},
documentType
:{
type
:
'Number'
,
desc
:
'证件类型'
,
notMustHave
:
true
},
documentId
:{
type
:
'String'
,
desc
:
'证件号码'
,
notMustHave
:
true
},
sheng
:{
type
:
'String'
,
desc
:
'省'
,
notMustHave
:
true
},
shi
:{
type
:
'String'
,
desc
:
'市'
,
notMustHave
:
true
},
qu
:{
type
:
'String'
,
desc
:
'区'
,
notMustHave
:
true
},
phone
:{
type
:
'String'
,
desc
:
'手机号码'
,
notMustHave
:
true
},
mail
:{
type
:
'String'
,
desc
:
'电子邮箱'
,
notMustHave
:
true
},
addres
:{
type
:
'String'
,
desc
:
'通信地址'
,
notMustHave
:
true
},
photoUrl
:{
type
:
'String'
,
desc
:
'蓝底证件照'
,
notMustHave
:
true
},
education
:{
type
:
'Number'
,
desc
:
'学历'
,
notMustHave
:
true
},
/**专业信息 */
unitName
:{
type
:
'String'
,
desc
:
'工作单位'
},
duties
:{
type
:
'String'
,
desc
:
'职务'
},
workTitle
:{
type
:
'String'
,
desc
:
'职称'
},
profCategory
:{
type
:
'[Number]'
,
desc
:
'专业类别'
},
studyResume
:{
type
:
'String'
,
desc
:
'学习简历'
},
workResume
:{
type
:
'String'
,
desc
:
'工作简历'
},
profAchievement
:{
type
:
'String'
,
desc
:
'教研成果'
},
otherEMP
:{
type
:
'String'
,
desc
:
'其他组织任职情况'
},
otherPROF
:{
type
:
'String'
,
desc
:
'其他情况'
},
unitName
:{
type
:
'String'
,
desc
:
'工作单位'
,
notMustHave
:
true
},
duties
:{
type
:
'String'
,
desc
:
'职务'
,
notMustHave
:
true
},
workTitle
:{
type
:
'String'
,
desc
:
'职称'
,
notMustHave
:
true
},
profCategory
:{
type
:
'[Number]'
,
desc
:
'专业类别'
,
notMustHave
:
true
},
studyResume
:{
type
:
'String'
,
desc
:
'学习简历'
,
notMustHave
:
true
},
workResume
:{
type
:
'String'
,
desc
:
'工作简历'
,
notMustHave
:
true
},
profAchievement
:{
type
:
'String'
,
desc
:
'教研成果'
,
notMustHave
:
true
},
otherEMP
:{
type
:
'String'
,
desc
:
'其他组织任职情况'
,
notMustHave
:
true
},
otherPROF
:{
type
:
'String'
,
desc
:
'其他情况'
,
notMustHave
:
true
},
/**其他附件 */
cardUrlJust
:{
type
:
'String'
,
desc
:
'个人身份证扫描件正面'
},
cardUrlBack
:{
type
:
'String'
,
desc
:
'个人身份证扫描件反面'
},
academicCERTUrl
:{
type
:
'String'
,
desc
:
'个人学历证明扫描件'
},
professionalCERTUrl
:{
type
:
'String'
,
desc
:
'个人工作证明扫描件'
},
auxiliaryMaterial
:{
type
:
'[String]'
,
desc
:
'论文发表或成绩材料'
},
cardUrlJust
:{
type
:
'String'
,
desc
:
'个人身份证扫描件正面'
,
notMustHave
:
true
},
cardUrlBack
:{
type
:
'String'
,
desc
:
'个人身份证扫描件反面'
,
notMustHave
:
true
},
academicCERTUrl
:{
type
:
'String'
,
desc
:
'个人学历证明扫描件'
,
notMustHave
:
true
},
professionalCERTUrl
:{
type
:
'String'
,
desc
:
'个人工作证明扫描件'
,
notMustHave
:
true
},
auxiliaryMaterial
:{
type
:
'[String]'
,
desc
:
'论文发表或成绩材料'
,
notMustHave
:
true
},
}
},
{
...
...
@@ -637,12 +644,12 @@ export const Config = {
],
bindBiz
:
memberBiz
.
individualMemberUpdate
},
{
apiName
:
"获取个人基础信息"
,
subUrl
:
'/memberdb/systembase'
,
param
:[],
bindBiz
:
memberBiz
.
systemBase
}
//
{
//
apiName:"获取个人基础信息",
//
subUrl:'/memberdb/systembase',
//
param:[],
//
bindBiz:memberBiz.systemBase
//
}
],
"审批管理"
:[
{
...
...
@@ -1102,8 +1109,8 @@ export const Config = {
sheng
:{
type
:
'String'
,
desc
:
'省'
},
shi
:{
type
:
'String'
,
desc
:
'市'
},
qu
:{
type
:
'String'
,
desc
:
'区'
},
// phone:{type:'String', desc:'手机号码'},
// mail:{type:'String', desc:'电子邮箱'},
phone
:{
type
:
'String'
,
desc
:
'手机号码'
,
notMustHave
:
true
},
//页面这个字段已去除
mail
:{
type
:
'String'
,
desc
:
'电子邮箱'
,
notMustHave
:
true
},
//页面这个字段已去除
addres
:{
type
:
'String'
,
desc
:
'通信地址'
},
photoUrl
:{
type
:
'String'
,
desc
:
'蓝底证件照'
},
education
:{
type
:
'Number'
,
desc
:
'学历'
},
...
...
@@ -1121,8 +1128,8 @@ export const Config = {
cardUrlJust
:{
type
:
'String'
,
desc
:
'个人身份证扫描件正面'
},
cardUrlBack
:{
type
:
'String'
,
desc
:
'个人身份证扫描件反面'
},
academicCERTUrl
:{
type
:
'String'
,
desc
:
'个人学历证明扫描件'
},
professionalCERTUrl
:{
type
:
'String'
,
desc
:
'个人工作证明扫描件'
},
auxiliaryMaterial
:{
type
:
'[String]'
,
desc
:
'论文发表或成绩材料'
},
professionalCERTUrl
:{
type
:
'String'
,
desc
:
'个人工作证明扫描件'
,
notMustHave
:
true
},
auxiliaryMaterial
:{
type
:
'[String]'
,
desc
:
'论文发表或成绩材料'
,
notMustHave
:
true
},
}
}
],
...
...
@@ -1176,6 +1183,13 @@ export const Config = {
bindBiz
:
homePageBiz
.
getApply
},
{
apiName
:
"职务申请是否审批中"
,
subUrl
:
'/homepage/getchangeapplytype'
,
param
:[
],
bindBiz
:
homePageBiz
.
getChangeApplyType
},
{
apiName
:
"变更职位"
,
subUrl
:
'/homepage/memberlevelupdate'
,
param
:[
...
...
@@ -1274,20 +1288,19 @@ export const Config = {
shi
:{
type
:
'String'
,
desc
:
'市'
,
notMustHave
:
false
},
qu
:{
type
:
'String'
,
desc
:
'区'
,
notMustHave
:
false
},
addres
:{
type
:
'String'
,
desc
:
'通信地址'
,
notMustHave
:
false
},
uscc
:{
type
:
'String'
,
desc
:
'单位信用代码'
,
notMustHave
:
false
},
legalPerson
:{
type
:
'String'
,
desc
:
'法人代表'
,
notMustHave
:
false
},
legalPersonPhone
:{
type
:
'String'
,
desc
:
'法人联系电话'
,
notMustHave
:
false
},
legalPersonMail
:{
type
:
'String'
,
desc
:
'法人邮箱'
,
notMustHave
:
false
},
//
uscc:{type:'String', desc:'单位信用代码', notMustHave:false},
//
legalPerson:{type:'String', desc:'法人代表', notMustHave:false},
//
legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:false},
//
legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:false},
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson
:{
type
:
'String'
,
desc
:
'日常联系人'
,
notMustHave
:
false
},
contactPersonDuties
:{
type
:
'String'
,
desc
:
'日常联系人职务'
,
notMustHave
:
false
},
phone
:{
type
:
'String'
,
desc
:
'日常联系人手机'
,
notMustHave
:
false
},
mail
:{
type
:
'String'
,
desc
:
'日常联系人邮箱'
,
notMustHave
:
false
},
uusinessLicenseUrl
:{
type
:
'String'
,
desc
:
'营业执照复印件'
,
notMustHave
:
false
},
applicationForm
:{
type
:
'String'
,
desc
:
'申请表'
,
notMustHave
:
false
},
//2025.2.26日加上
// uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false},
/**单位信息 */
unitMemberType
:{
type
:
'Number'
,
desc
:
'单位信息类型,枚举'
,
notMustHave
:
false
},
yuanXiaoBanXueLeiXing
:{
type
:
'Number'
,
desc
:
'院校办学类型,枚举'
,
notMustHave
:
false
},
//
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:false},
//
yuanXiaoBanXueLeiXing:{type:'Number', desc:'院校办学类型,枚举', notMustHave:false},
yuanXiaoZhuGuanBuMen
:{
type
:
'String'
,
desc
:
'院校主管部门'
,
notMustHave
:
false
},
yuanXiaoFuZeRen
:{
type
:
'String'
,
desc
:
'院校主要负责人'
,
notMustHave
:
false
},
yuanXiaoFuZeRenZhiWu
:{
type
:
'String'
,
desc
:
'院校主要负责人职务'
,
notMustHave
:
false
},
...
...
@@ -1303,6 +1316,7 @@ export const Config = {
jiaoXueFuZeRenDianHua
:{
type
:
'String'
,
desc
:
'教学负责人电话'
,
notMustHave
:
false
},
kaishezhuanYe
:{
type
:
'String'
,
desc
:
'开设专业'
,
notMustHave
:
true
},
danWeiJianJie
:{
type
:
'String'
,
desc
:
'单位简介'
,
notMustHave
:
true
},
// applicationForm:{type:'String', desc:'申请表', notMustHave:false}, //2025.2.26日加上
},
desc
:
"表单"
},
...
...
@@ -1326,6 +1340,18 @@ export const Config = {
],
bindBiz
:
homePageBiz
.
applyReason
},
{
apiName
:
"变更申请理由"
,
subUrl
:
'/homepage/applyreasonmember'
,
param
:[
{
key
:
"applyName"
,
type
:
"String"
,
desc
:
"变更申请负责人"
},
{
key
:
"applySex"
,
type
:
"Number"
,
desc
:
"变更申请人性别"
},
{
key
:
"applyDuties"
,
type
:
"String"
,
desc
:
"变更申请人职务"
},
{
key
:
"applyPhone"
,
type
:
"String"
,
desc
:
"变更申请人电话"
},
{
key
:
"applyStr"
,
type
:
"String"
,
desc
:
"变更申请理由"
}
],
bindBiz
:
homePageBiz
.
applyReasonMember
},
],
"oss授权"
:[
{
...
...
src/routers/order/router.ts
View file @
0c9f1af1
...
...
@@ -57,6 +57,7 @@ export const Config = {
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"分页-当前页面"
},
{
key
:
"pageSize"
,
type
:
"Number"
,
desc
:
"分页-当前页大小"
},
{
key
:
"session"
,
type
:
"Number"
,
desc
:
"届次"
,
isNull
:
true
},
{
key
:
"backgroundUpload"
,
type
:
"Number"
,
desc
:
"是否后台上传"
,
isNull
:
true
},
],
bindBiz
:
costVerificationBiz
.
paidList
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment