123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /**
- * 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: 0, 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: 0, message: '', data: null};
- let data = JSON.parse(req.body.data);
- let user_id = req.session.sessionUser.id,
- compilation_id = req.session.sessionCompilation._id,
- optsType = data.optsType,
- opts = data.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;
|