123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- var info,
- code,
- sendAmount;
- mui.init();
- mui.plusReady(function(){
- var self = plus.webview.currentWebview();
- info = self.info;
- code = self.code;
- sendAmount = self.amount;
- fillInfo();
- bindEvents();
- sqlite.open('MyData','1.0','My Database', 1024*100);
- createTemplateTable();
- createTable();
- console.log(info)
- });
- function fillInfo(){
- var summary = info.summary_info,
- questions = info.question_info,
- survey_target = info.surveyTarget;
-
- $("#sendAmount").text(sendAmount);
- $(".sex").text(survey_target.sexText);
- $(".disease").text(survey_target.diseaseText);
- $(".service").text(survey_target.serviceText);
- $(".health").text(survey_target.healthText);
-
- $(".survey_title").text(summary.name);
- $(".comment").text(summary.comment);
- var labelTmp = template("label_tmp", {list: summary.label});
- $("#label_panel").append(labelTmp);
-
- var question_list = _.map(questions, function(o){
- if(!o.optionArr){
- o.optionArr = o.options;
- }
- return o;
- });
- var questionTmp = template("question_tmp", {list: question_list});
- $("#question_panel").append(questionTmp);
- }
- template.helper("setType", function(str){
- var value = "";
- switch(str){
- case 0 :
- value = "单选";
- break;
- case 1 :
- value = "多选";
- break;
- case 2:
- value = "填空";
- break;
- }
- return value;
- });
- function bindEvents(){
- $("#submit_btn").on('click', function(){
- dialog({
- content: "是否确认将编辑的问卷发送给选定的"+sendAmount+"人?发送后无法修改",
- okValue: "立即发送",
- ok: function(){
- sendRequest();
- },
- cancelValue: "我再看看",
- cancel: function(){}
- }).showModal();
- });
- }
- function sendRequest(){
- plus.nativeUI.showWaiting();
- var questions = [];
- for(i=0; i<info.question_info.length; i++){
- var item = info.question_info[i],
- obj={};
- obj.title = item.title;
- obj.comment = item.comment || "";
- obj.type = item.type;
- obj.qstCode = item.code || item.qstCode || getUUID();
- obj.isRequired = item.isRequired;
- obj.sort = i+1;
- obj.minOptions = item.minNum || parseInt(item.minOptions) || "";
- obj.maxOptions = item.maxNum || parseInt(item.maxOptions) || "";
- // obj.nextQuestion = item.nextQuestion || "";
- if(isNaN(parseInt(item.nextQuestion))){
- obj.nextQuestion = "";
- }else{
- obj.nextQuestion = parseInt(item.nextQuestion);
- }
- obj.options = [];
- if(item.optionArr){
- for(j=0; j<item.optionArr.length; j++){
- var op = item.optionArr[j];
- var nextCode = "";
- if(parseInt(op.nextQuestion)>=0){
- nextCode = op.nextQuestion;
- }
- obj.options.push({
- content: op.content,
- haveComment: op.haveComment,
- isRequired: op.isRequired,
- nextQuestion: nextCode,
- sort: j+1,
- optCode: op.optCode
- });
- }
- }
- questions.push(obj);
- }
- var label = [];
- for(i=0; i<info.summary_info.label.length; i++){
- var id = info.summary_info.label[i].id;
- label.push(parseInt(id));
- }
- var surveyTarget = {
- sex: info.surveyTarget.sexArr,
- disease: info.surveyTarget.diseaseArr,
- healthCondition: info.surveyTarget.healthArr,
- service: info.surveyTarget.serviceArr
- };
- var url="/doctor/questionnaire/createSurvey",
- params = {
- send: 1,
- surveyName: info.summary_info.name,
- comment: info.summary_info.comment,
- label: label,
- surveyTarget: surveyTarget,
- templateCode: code || "",
- questions: questions
- };
- sendPost(url, {jsonData:JSON.stringify(params)}, null, function(res){
- if(res.status == 200){
- plus.nativeUI.closeWaiting();
- //将数据库数据清空,并将自增列置0
- clearTableData();
- var surveyCode = res.surveyCode;
- //判断模板是否被修改了
- /*屏蔽保存功能*/
- var isEdit = plus.storage.getItem("isEdit");
- var content = "是否将问卷保存为新模板?";
- if(code){
- content = "是否将修改保存到模板中?";
- }
- if(isEdit == "1"){
- dialog({
- content: content,
- okValue: "立即保存",
- ok: function(){
- saveAsTemplate(surveyCode);
- plus.storage.setItem("isEdit", "0");
- },
- cancelValue: "不了,谢谢",
- cancel: function(){
- var self = plus.webview.currentWebview();
- backToListPage(self);
- }
- }).showModal();
- }else{
- var self = plus.webview.currentWebview();
- backToListPage(self);
- }
- }else{
- plus.nativeUI.closeWaiting();
- mui.toast(res.msg);
- }
- }, 'POST', '', true);
- }
- function saveAsTemplate(surveyCode, title){
- plus.nativeUI.showWaiting();
- var url = "doctor/questionnaire/savaSurveyAsTemplate",
- params = {code: surveyCode};
- if(title){
- params.title = title;
- }
- if(code){
- params.templateCode = code;
- }
- sendGet(url, params, null, function(res){
- if(res.status == 200){
- plus.nativeUI.closeWaiting();
- var self = plus.webview.currentWebview();
- backToListPage(self);
- }else{
- //处理标题名称重复的问题
- plus.nativeUI.closeWaiting();
- if(res.data.errorCode == "001"){ //标题重复时返回给前端的错误码
- var num = parseInt(res.data.number) > 10 ? (parseInt(res.data.number)+1) : "0"+(parseInt(res.data.number)+1);
- var newTitle = info.summary_info.name + (new Date().format("ddMMyy"))+num;
- dialog({
- title: '模板标题重复,请重新填写标题',
- content: '<input id="newTitle" type="text" autofocus value="'+newTitle+'"/>',
- okValue: "确定",
- ok: function(){
- var title = $("#newTitle").val();
- if($.trim(title).length == 0){
- dialog({
- content: "请输入标题",
- contentType: "tipsbox",
- skin: 'bk-popup',
- closeTime: 2000
- }).show();
- }else{
- saveAsTemplate(surveyCode, title);
- }
- }
- }).showModal();
- }else{
- mui.toast(res.msg);
- }
- }
- plus.nativeUI.closeWaiting();
- }, true);
- }
- function clearTableData(){
- var tables = ["template", "questions2"];
- sqlite.db.transaction(function(tx){
- for(i=0; i<tables.length; i++){
- tx.executeSql( "delete from "+tables[i], [], function(tx,rs){
- console.log("表清空数据成功");
- sqlite.executeSql("update sqlite_sequence SET seq = 0 where name IN ('template','questions2')",[],
- function(tx,rs){
- console.log("自增列置0成功");
- }, function(tx,rs){
- console.log("自增列置0失败");
- });
- }, function(tx, rs){
- console.log(tables[i]+"表清空数据失败");
- });
- }
- });
- }
- var closeList = [];
- function backToListPage(wv){
- if(wv.id == "survey_list"){
- var self = plus.webview.currentWebview();
- mui.fire(wv, "refresh");
- wv.show();
- mui.later(function(){
- for(i=0; i<closeList.length; i++){
- closeList[i].close();
- }
- self.close();
- }, 500);
- return false;
- }else{
- var opener = wv.opener();
- if(opener.id != "survey_list"){
- closeList.push(opener);
- }
- backToListPage(opener);
- }
-
- }
- function createTemplateTable(){
- sqlite.executeSql("create table if not exists template "+
- "(id INTEGER PRIMARY KEY, name TEXT, comment TEXT, label TEXT)",[],
- function(tx, rs){
- console.log("tempale 表创建成功");
- },
- function(tx, rs){
- console.error(rs)
- alert("创建缓存空间失败!");
- }
- )
- }
- function createTable(){
- sqlite.executeSql("create table if not exists questions2" +
- " (id INTEGER PRIMARY KEY AUTOINCREMENT, index1 INTEGER, code text, template_id INTEGER, comment TEXT, title TEXT,"+
- " type INTEGER, isRequired INTEGER, options TEXT, updateTime TEXT, sort INTEGER )", [],
- function(tx, rs){
- console.log("questions2创建存储空间成功");
- },
- function(tx, rs){
- console.error("questions2创建失败");
- console.error(rs)
- alert("创建缓存空间失败!");
- });
- }
- function getUUID(){//生成全局唯一标识符
- var d = new Date().getTime();
- var uuid = 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
- var r = (d + Math.random()*16)%16 | 0;
- d = Math.floor(d/16);
- return (c=='x' ? r : (r&0x3|0x8)).toString(16);
- });
- return uuid;
- }
|