1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /**
- * Created by Zhong on 2017/9/28.
- */
- import BaseController from '../../common/base/base_controller';
- import OptionsDao from '../models/optionsModel';
- import optionsTypes from '../models/optionTypes';
- let optionsDao = new OptionsDao();
- class OptionController extends BaseController {
- //获得所有选项类型的选项
- async getOptions(req, res){
- let resJson = {error: null, message: '', data: []};
- let user_id = req.session.sessionUser.id,
- compilation_id = req.session.sessionCompilation._id;
- let defaultOpts = {
- GENERALOPTS: {
- rationQuanACToBillsQuan: true,//自动根据清单工程量填写定额工程量
- rationQuanACToRationUnit: true//自动根据定额单位转换定额工程量
- }
- };
- try{
- resJson.data = await optionsDao.getOptions(user_id, compilation_id);
- if(!resJson.data){
- resJson.data = await optionsDao.saveOptions(user_id, compilation_id, optionsTypes.GENERALOPTS, defaultOpts.GENERALOPTS);
- }
- }
- catch (err){
- resJson.error = true;
- resJson.message = '获取失败';
- resJson.data = null;
- }
- res.json(resJson);
- }
- //获得特定选项类型的选项
- async getOptionsByType(req, res){
- let resJson = {error: null, message: '', data: null};
- let user_id = req.session.sessionUser.id,
- compilation_id = req.session.sessionCompilation._id,
- optsType = req.body.optsType;
- try{
- let hasThisOpts = false;
- for(let i in optionsTypes){
- if(optionsTypes[i] === optsType){
- hasThisOpts = true;
- break;
- }
- }
- if(!hasThisOpts) throw '不存在此选项类';
- resJson.data = await optionsDao.getOptionsByType(user_id, compilation_id, optsType);
- }
- catch (err){
- resJson.error = true;
- resJson.message = '获取失败';
- resJson.data = null;
- }
- res.json(resJson);
- }
- async saveOptions(req, res){
- let resJson = {error: null, message: '', data: null};
- let user_id = req.session.sessionUser.id,
- compilation_id = req.session.sessionCompilation._id,
- optsType = req.body.optsType,
- opts = JSON.parse(req.body.opts);
- try{
- let hasThisOpts = false;
- for(let i in optionsTypes){
- if(optionsTypes[i] == optsType){
- hasThisOpts = true;
- break;
- }
- }
- if(!hasThisOpts) throw '不存在此选项类';
- resJson.data = await optionsDao.saveOptions(user_id, compilation_id, optsType, opts);
- }
- catch (err){
- resJson.error = true;
- resJson.message = '保存失败';
- resJson.data = null;
- }
- res.json(resJson);
- }
- }
- export default OptionController;
|