Skip to content
survey-write.ts 3.31 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {AppService} from "../../../../service/appHttpService";
wangqinghua's avatar
wangqinghua committed


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

wangqinghua's avatar
wangqinghua committed
    isans;
wangqinghua's avatar
wangqinghua committed
    item;
    temp;
    ansArr = [];
wangqinghua's avatar
wangqinghua committed

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

    ionViewDidLoad() {
        this.item = this.navParams.get('item');
        this.getDetail();
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    getDetail() {
        const id = '';
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpGetAdd('/wisdomgroup/modules/question/edit/', this.item.id)
wangqinghua's avatar
wangqinghua committed
            .subscribe((res) => {
wangqinghua's avatar
wangqinghua committed
                this.temp = res.json().data.ques.datalist;
wangqinghua's avatar
wangqinghua committed
                for (let i = 0; i < this.temp.length; i++) {
                    const data = {
                        'questionId': this.temp[i].questionId,
                        'questionQueId': this.temp[i].id,
                        'answerdesc': '',
                        'quesType': this.temp[i].quesType,
                        'title': this.temp[i].title,
                        'quesDesc': JSON.parse(this.temp[i].quesDesc),
                        'isAns': this.temp[i].isAns
                    };
                    this.ansArr.push(data);
                }
                console.log(this.ansArr);
            })
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //多选
    mutiSelect(i, index) {
        if (this.ansArr[i].answerdesc.indexOf(index) != -1) {
            this.ansArr[i].answerdesc = this.ansArr[i].answerdesc.replace(',' + index, '');
        } else {
            this.ansArr[i].answerdesc += "," + index;
        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    confirm(){
        this.appService.alert('确定提交问卷?',res=>{
            this.submit();
        });
    }

wangqinghua's avatar
wangqinghua committed
    submit() {

        if (!this.check()) {
            return false;
        }

        let arrData = [];
wangqinghua's avatar
wangqinghua committed
        if(this.isans){
            this.isans = 1;
        }else{
            this.isans = 2;
        }
wangqinghua's avatar
wangqinghua committed
        for (let i = 0; i < this.ansArr.length; i++) {
            if (this.ansArr[i].quesType == 3) {
                let length = this.ansArr[i].answerdesc.length;
                this.ansArr[i].answerdesc = this.ansArr[i].answerdesc.substr(1, length - 1);
            }
            const data = {
                'questionId': this.ansArr[i].questionId,
                'questionQueId': this.ansArr[i].questionQueId,
                'answerdesc': this.ansArr[i].answerdesc,
wangqinghua's avatar
wangqinghua committed
                'isans': this.isans
wangqinghua's avatar
wangqinghua committed
            };
            arrData.push(data);
        }
        const qData = {
            'array': JSON.stringify(arrData)
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpPost('/wisdomgroup/modules/question/create/quesuser', qData)
            .subscribe((res) => {
wangqinghua's avatar
wangqinghua committed
                this.navCtrl.pop();
            })
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    check() {
        let count = 0;
        for (let i = 0; i < this.ansArr.length; i++) {
            if (this.ansArr[i].isAns == 1) {
                if (this.ansArr[i].answerdesc == "") {
                    this.appService.popToastView('有必答题未答', 'middle', 1500);
                    count++;
                    break;
                }
            }
        }

        if (count > 0) {
            return false;
        }

        return true;
    }

wangqinghua's avatar
wangqinghua committed
}