Skip to content
create.ts 5.9 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams, ToastController} from 'ionic-angular';
wangqinghua's avatar
wangqinghua committed
import {EditPage} from "../edit/edit";
wangqinghua's avatar
wangqinghua committed
import {AppService} from "../../../../service/appHttpService";
wangqinghua's avatar
wangqinghua committed
import {message} from "../../../../app/main";
wangqinghua's avatar
wangqinghua committed


@IonicPage()
@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'page-create',
    templateUrl: 'create.html',
wangqinghua's avatar
wangqinghua committed
})
export class CreatePage {

wangqinghua's avatar
wangqinghua committed
    //编辑
    editTemp;
    editIndex;

wangqinghua's avatar
wangqinghua committed
    qType;  //题目类型
wangqinghua's avatar
wangqinghua committed
    temp;  //问卷信息
wangqinghua's avatar
wangqinghua committed
    title;  //标题
wangqinghua's avatar
wangqinghua committed
    index = 0;  //序号
wangqinghua's avatar
wangqinghua committed
    isAns = 2;   //是否必答
wangqinghua's avatar
wangqinghua committed
    quesDescList = [];
wangqinghua's avatar
wangqinghua committed
    set = {   //设置
        lastchange: '1',
        morechange: '1',
        isAns: '',
        more: '100'
    };
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(public navCtrl: NavController, public navParams: NavParams,
                public appService: AppService, public toastCtrl: ToastController) {
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ionViewDidLoad() {
wangqinghua's avatar
wangqinghua committed
        this.temp = this.navParams.get('temp');    //问卷信息
wangqinghua's avatar
wangqinghua committed
        if (this.navParams.get('edit')) {      //编辑
wangqinghua's avatar
wangqinghua committed
            this.editTemp = this.navParams.get('edit');
wangqinghua's avatar
wangqinghua committed
            this.editIndex = this.navParams.get('index');
wangqinghua's avatar
wangqinghua committed
            this.qType = this.editTemp[this.editIndex].quesType;
            this.title = this.editTemp[this.editIndex].title;
wangqinghua's avatar
wangqinghua committed
            this.isAns = this.editTemp[this.editIndex].isAns;
wangqinghua's avatar
wangqinghua committed
            this.quesDescList = this.editTemp[this.editIndex].quesDesc;
wangqinghua's avatar
wangqinghua committed
            console.log(this.editTemp[this.editIndex]);
        } else {     //新增
wangqinghua's avatar
wangqinghua committed
            this.qType = this.navParams.get('type');   //题目类型
        }
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    addOption() {
        const option = {
            option_title: '',  //选项文字
            canFill: 2, // 1是 2否
            isNeed: 1,  // 1是 2否
wangqinghua's avatar
wangqinghua committed
            index: this.index
wangqinghua's avatar
wangqinghua committed
        }; //序号
wangqinghua's avatar
wangqinghua committed
        this.index++;
wangqinghua's avatar
wangqinghua committed
        this.quesDescList.push(option);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    removeOption(i) {
        this.quesDescList.splice(i, 1);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //是否必答
    isAnsChange(type){
        this.isAns = type;
    }

wangqinghua's avatar
wangqinghua committed
    //提交编辑问卷
wangqinghua's avatar
wangqinghua committed
    submitEdit() {
        if (!this.check()) {
wangqinghua's avatar
wangqinghua committed
            return false;
        }
        let newArr = [];
        this.editTemp[this.editIndex].title = this.title;
wangqinghua's avatar
wangqinghua committed
        this.editTemp[this.editIndex].isAns = this.isAns;
wangqinghua's avatar
wangqinghua committed
        for (let i = 0; i < this.editTemp.length; i++) {
            const arr = {
                questionId: this.temp.id,
                isAns: this.editTemp[i].isAns,
                quesType: this.editTemp[i].quesType,
                title: this.editTemp[i].title,
                limit: this.editTemp[i].limit,    //问答的字数限制
                quesDesc: this.editTemp[i].quesDesc,
                minOps: this.editTemp[i].minOps,
                maxOps: this.editTemp[i].maxOps,
                index: this.editTemp[i].index  //序号
            };
            newArr.push(arr);
        }
        const data = {
            array: JSON.stringify(newArr),
            id: this.temp.id
        };
        console.log(newArr);
        const toast = this.toastCtrl.create(message);
        this.appService.ObserverHttpPost('/wisdomgroup/modules/question/saveQuestion', data)
            .subscribe(
                (res) => {
                    toast.setMessage('编辑成功');
                    toast.present();
                    setTimeout((res) => {
                        this.navCtrl.push('EditPage', {
                            temp: this.temp
                        });
                    }, 1000)
                }
            )
    }

    //提交问卷
wangqinghua's avatar
wangqinghua committed
    submit() {
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
        if (!this.check()) {
wangqinghua's avatar
wangqinghua committed
            return false;
        }

wangqinghua's avatar
wangqinghua committed
        if (this.qType == 1) {
wangqinghua's avatar
wangqinghua committed
            const option1 = {
                option_title: '',  //选项文字
                canFill: 2, // 1是 2否
                isNeed: 1,  // 1是 2否
                index: 0
            }; //序号
            const option2 = {
                option_title: '',  //选项文字
                canFill: 2, // 1是 2否
                isNeed: 1,  // 1是 2否
wangqinghua's avatar
wangqinghua committed
                index: 1
wangqinghua's avatar
wangqinghua committed
            }; //序号
            this.quesDescList.push(option1);
            this.quesDescList.push(option2);
        }
wangqinghua's avatar
wangqinghua committed
        const arr = [
            {
wangqinghua's avatar
wangqinghua committed
                questionId: this.temp.id,
                isAns: 1,
                quesType: this.qType,
wangqinghua's avatar
wangqinghua committed
                title: this.title,
wangqinghua's avatar
wangqinghua committed
                limit: 1000,    //问答的字数限制
                quesDesc: this.quesDescList,
                minOps: 0,
                maxOps: 0,
                index: 0  //序号
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        ];
        const data = {
wangqinghua's avatar
wangqinghua committed
            array: JSON.stringify(arr)
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        console.log(this.temp);
        const toast = this.toastCtrl.create(message);
        this.appService.ObserverHttpPost('/wisdomgroup/modules/question/saveQuestion', data)
wangqinghua's avatar
wangqinghua committed
            .subscribe(
wangqinghua's avatar
wangqinghua committed
                (res) => {
                    toast.setMessage('添加成功');
                    toast.present();
                    setTimeout((res) => {
                        this.navCtrl.push('EditPage', {
                            temp: this.temp
                        });
                    }, 2000)
wangqinghua's avatar
wangqinghua committed
                }
            )
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //校验
wangqinghua's avatar
wangqinghua committed
    check() {
        if (!this.title) {
            this.appService.popToastView('请输入标题', 'middle', 1000);
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if (this.qType == 2 || this.qType == 3) {
            if (this.quesDescList.length == 0) {
                this.appService.popToastView('请输入选项', 'middle', 1000);
wangqinghua's avatar
wangqinghua committed
                return false;
wangqinghua's avatar
wangqinghua committed
            } else {
wangqinghua's avatar
wangqinghua committed
                let index = 0;
wangqinghua's avatar
wangqinghua committed
                this.quesDescList.forEach((res) => {
                    if (res.option_title.length == '') {
                        index++;
wangqinghua's avatar
wangqinghua committed
                    }
                });
wangqinghua's avatar
wangqinghua committed
                if (index > 0) {
                    this.appService.popToastView('请输入选项', 'middle', 1000);
wangqinghua's avatar
wangqinghua committed
                    return false;
                }

            }
        }
        return true;
    }

wangqinghua's avatar
wangqinghua committed
}