1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date 2018/7/9
- * @version
- */
- module.exports = options => {
- /**
- * 标段选择中间件
- *
- * @param {function} next - 中间件继续执行的方法
- * @return {void}
- */
- return function* tenderSelect(next) {
- try {
- if (this.request.query.tenderId) {
- const tenderId = parseInt(this.request.query.tenderId);
- const tender = yield this.service.tender.getDataById(tenderId);
- this.session.sessionUser.tenderId = tender.id;
- this.session.sessionUser.tenderName = tender.name;
- this.redirect(this.urlInfo.pathname);
- } else {
- this.tenderList = yield this.service.tender.getList();
- for (const tender of this.tenderList) {
- tender.url = this.request.url + '?tenderId=' + tender.id;
- }
- let tenderId = this.session.sessionUser.tenderId;
- if (!tenderId) {
- // 根据标段列表获取默认tenderId
- if (this.tenderList && this.tenderList.length > 0) {
- tenderId = this.tenderList[0].id;
- this.session.sessionUser.tenderId = tenderId;
- this.session.sessionUser.tenderName = this.tenderList[0].name;
- } else {
- throw '项目无标段数据';
- }
- }
- this.tenderData = yield this.service.tender.getDataById(tenderId);
- yield next;
- }
- } catch (err) {
- this.helper.log(err);
- this.redirect(this.menuList.dashboard.url);
- }
- };
- };
|