|
@@ -12,10 +12,18 @@ class ExpertService extends CrudService {
|
|
}
|
|
}
|
|
|
|
|
|
async query({ skip = 0, limit = 10, ...condition } = {}) {
|
|
async query({ skip = 0, limit = 10, ...condition } = {}) {
|
|
- const { code, status } = condition;
|
|
|
|
|
|
+ condition = this.ctx.service.util.util.dealQuery(condition);
|
|
|
|
+ const { code, status, company, name, phone } = condition;
|
|
const query = {};
|
|
const query = {};
|
|
if (code) query.code = code;
|
|
if (code) query.code = code;
|
|
if (status) query['expert.status'] = status;
|
|
if (status) query['expert.status'] = status;
|
|
|
|
+ if (name)query.name = name;
|
|
|
|
+ if (phone) query.phone = phone;
|
|
|
|
+ if (company) {
|
|
|
|
+ if (company === '中科系') query['expert.company'] = { $in: [ '中科院长春分院', '中国科学院东北地理与农业生态研究所', '中国科学院长春应用化学研究所', '中科院长春光学精密机械与物理研究所' ] };
|
|
|
|
+ else if (company === '其他')query['expert.company'] = { $nin: [ '中科院长春分院', '中国科学院东北地理与农业生态研究所', '中国科学院长春应用化学研究所', '中科院长春光学精密机械与物理研究所', '吉林大学', '长春工业大学' ] };
|
|
|
|
+ else query['expert.company'] = company;
|
|
|
|
+ }
|
|
let data = await this.personal.aggregate([
|
|
let data = await this.personal.aggregate([
|
|
{ $match: { is_expert: true } },
|
|
{ $match: { is_expert: true } },
|
|
{ $project: { name: 1, phone: 1, email: 1, code: 1, expert: 1 } },
|
|
{ $project: { name: 1, phone: 1, email: 1, code: 1, expert: 1 } },
|