1. 名词介绍
-
question(问卷)
- name (问卷名称)
- code (问卷编号)
- desc (问卷说明)
- type (分类)
- sendData (发送数据)
- data (答卷数据)
- createDate(创建时间)
- state (状态)
- isPublic (发布状态)
- op (操作)
- OnClickLinkAddQuestion (跳转问卷添加页面)
- OnClickSaveQuestion (更新问卷信息)
- OnClickEditQuestion (编辑问卷信息)
interface
- OnClickEditSubject (编辑问卷详情)
- OnClickPreviewQuestion (预览问卷)
OnClickLinkCountQuestion (统计问卷)interface
- OnClickStopQuestion (停用问卷)
interface
- OnClickDeleteQuestion (删除问卷)
interface
- OnSort() (问卷排序)
- OnClickSearchQuestion (问卷查询)
interface
- searchQuestionKey (问卷查询标题)
- OnClickSearchSubjectByQuestion(问卷编辑查询相关题目)
interface
- searchSearchSubjectByQuestionKey
- OnClickSaveSubjectByQuestion (问卷编辑保存相关题目)
interface
- OnClickLinkPreviewSave (问题预览保存)
- OnClickPreviewStartTest (问卷预览开始测试)
- OnClickPreviewEndTest (问卷预览结束测试)
- OnClickPublicQuestion (发布问卷)
interface
-
subject(题库)
title (题目标题)
code (题目编号)
answer{} (题目答案)
tip (填写提示)
type (题目类型
单选
、多选
)state (题目状态)
count (题目数量)
isAnswer (题目是否可以不答)
_index (题目索引)
_isTop (是否为第一题)
_isBottom (是否为最后一题)
OnNext() (平移到上一题)
OnPrev() (平移到下一题)
OnTop() (平移到第一题)
OnBottom() (平移到最后一题)
OnSort() (题目排序)
OnDeleteSelf() (删除此题)
OnClickChangeState (启用、停用)
interface
OnClickAddSubject (添加题目)
OnClickSaveSubject (更新题目)
interface
-
OnClickSearchSubject (题目查询)
interface
- searchCode (查询编号)
- searchTitle (查询标题)
OnClickAddAnswer (添加答案)
- answer(答案)
- title (答案标题)
- type (答案类型)
- score (答案分数)
- skipSubject[subject] (跳题目集合)
- isSkipSubject (是否可跳题)
- selectedSkipSubject (选择的跳题)
- _index (答案索引)
- _isTop (是否为第一题)
- _isBottom (是否为最后一题)
- OnNext() (平移到上一题)
- OnPrev() (平移到下一题)
- OnTop() (平移到第一题)
- OnBottom() (平移到最后一题)
- OnSort() (题目排序)
- OnDeleteSelf() (删除此题)
2.功能ViewModel
2.1 问卷题库
$scope.vm = {
searchCollection:{ // 1. 查询原型
params:{ // 1.1 题库查询条件
searchCode: "", // 1.1.1 查询编号
searchTitle: "", // 1.1.2 查询标题
searchState:{ // 1.1.3. 排序原型
data: [{ text: "全部状态", value: "" }, { text: "启用", value: true }, { text: "禁用", value: false }],
count: 3,
selectItem: "" // 1.1.3.1 选择的排序值
},
},
_validSearch: function () { // 1.2 题库查询验证
return false;
},
GetQuestionList: function () { // 1.3 获取题库结果集
},
OnClickSearchSubject: function(){ // 1.4 题库查询操作
}
},
subjectCollection: { // 2. 题库原型 {subject}
data:[ // 2.1 原始数据
],
count:0, // 2.2 原始数据数量
current: { // 2.3 当前添加的题目
_isAdd: false,
_typeTip: "单选题",
id: 0, // (编号)
title: "单选题",
code: "",
tipCheck: false,
tip: "",
type: 1,
changeType: function (typeValue) { // 2.3.1 改变状态
},
state: false,
answerCollection: { // 2.3.2 答案列表 {answer}
data: [],
count: 2,
OnNext: function (item){ // 2.3.2.1 下移答案
},
OnPrev: function (item){ // 2.3.2.2 上移答案
},
OnDeleteSelf: function (item){ // 2.3.2.3 删除答案
},
OnAdd: function (){ // 2.3.2.4 添加答案
}
}
}
OnOpen: function(){ // 2.4 添加题目
},
OnClose: function(){ // 2.5 关闭题目
},
OnReset: function(){ // 2.6 重置题目
},
OnSubmit: function(){ // 2.7 提交答案
},
OpenStateDialog: function(){ // 2.8 打开状态对话框
},
OnChangeState: function(){ // 2.9 启用或停用题目
}
},
Init: function(){ // 3. 初始化
}
}
2.2 问卷调查列表
$scope.vm = {
searchCollection: { // 1. 查询原型
params: { // 1.1 问卷查询条件
questionName: ""
},
_validSearch: function () { // 1.2 问卷查询验证
return false;
},
GetQuestionList: function () { // 1.3 获取问卷结果集
},
OnClickSearchQuestion: function () { // 1.4 查询获取问卷结果集
},
},
sortCollection: { // 2. 排序原型
data: [{ text: "从新到旧", value: "asc" }, { text: "从旧到新", value: "desc" }],
count: 2,
selectItem: "asc",
OnSort: function () { // 2.1 排序方法
}
},
questionCollection:{ // 3. 问卷列表原型
data:[ // 3.1 原始数据 {question}
// {
// id, // (编号)
// name,// (问卷名称)
// code,// (问卷编号)
// desc,// (问卷说明)
// type,// (分类)
// sendData,// (发送数据)
// data,// (答卷数据)
// createDate,//(创建时间)
// state,// (状态)
// isPublic// (发布状态)
// }
// ...
],
viewData:[ // 3.2 展示数据
// {
// id, // (编号)
// name,// (问卷名称)
// code,// (问卷编号)
// desc,// (问卷说明)
// type,// (分类)
// sendData,// (发送数据)
// data,// (答卷数据)
// createDate,//(创建时间)
// state,// (状态)
// isPublic// (发布状态)
// }
// ...
],
count:0, // 3.3 原始数据数量
viewCount: 0, // 3.4 展示数据数量
current:{ // 3.5 当前编辑问卷 {question}
// id, // (编号)
// name,// (问卷名称)
// code,// (问卷编号)
// desc// (问卷说明)
},
OnClickEditQuestion: function(){ // 3.6 编辑问卷信息
},
OnClickEditSubject: function(){ // 3.7 编辑问卷详情
},
// OnClickPreviewQuestion: function(){ // 预览问卷
// },
// OnClickLinkCountQuestion: function(){ // 统计问卷
// },
OnClickStopQuestion : function(){ // 3.8 停用问卷
},
OnClickDeleteQuestion : function(){ // 3.9 删除问卷
}
},
Init: function(){ // 4. 初始化
}
}
2.3 添加问卷
$scope.vm = {
AddQuestion:{ // 添加问卷
entity:{
id, // (编号)
name,// (问卷名称)
code,// (问卷编号)
desc// (问卷说明)
},
OnClickSaveQuestion: function(){ // 添加问卷
},
NextPage: function(){ // 下一步
},
Init: function(){ // 初始化
}
},
EditQuestion:{ // 编辑问卷
searchSearchSubjectByQuestionKey: "",
entity:{
id, // (编号)
name,// (问卷名称)
desc// (问卷说明)
},
searchSubjectCollection:{
data:[ // {subject}
{
id, // (编号)
title,// (题目标题)
code,// (题目编号)
isAnswer,// (题目是否可以不答)
_index,// (题目索引)
_isTop,// (是否为第一题)
_isBottom,// (是否为最后一题)
answerCollection:{
data:[ //{answer}
{
id, // (编号)
title,// (答案标题)
type,// (答案类型)
score,// (答案分数)
skipSubject:[ //(是否可跳到的题目集合){subject}
{
id, // (编号)
title// (答案标题)
}
// ...
],
isSkipSubject:false, //是否选择跳题目录
selectedSkipSubject:{ // {subject}
id, // (编号)
title// (答案标题)
}
}
],
count:0
}
}
// ...
],
count:0,
selected:[ // {subject}
{
id, // (编号)
title,// (题目标题)
code,// (题目编号)
isAnswer,// (题目是否可以不答)
_index,// (题目索引)
_isTop,// (是否为第一题)
_isBottom,// (是否为最后一题)
answerCollection:{
data:[ //{answer}
{
id, // (编号)
title,// (答案标题)
type,// (答案类型)
score,// (答案分数)
skipSubject:[ //(是否可跳到的题目集合){subject}
{
id, // (编号)
title// (答案标题)
}
// ...
],
isSkipSubject:false, //是否选择跳题目录
selectedSkipSubject:{ // {subject}
id, // (编号)
title// (答案标题)
}
}
],
count:0
}
}
// ...
],
current:{ // {subject}
id, // (编号)
title,// (题目标题)
code,// (题目编号)
isAnswer,// (题目是否可以不答)
_index,// (题目索引)
_isTop,// (是否为第一题)
_isBottom,// (是否为最后一题)
answerCollection:{
data:[ //{answer}
id, // (编号)
title,// (答案标题)
type,// (答案类型)
score,// (答案分数)
skipSubject:[ //(是否可跳到的题目集合){subject}
{
id, // (编号)
title// (答案标题)
}
// ...
],
isSkipSubject:false, //是否选择跳题目录
selectedSkipSubject:{ // {subject}
id, // (编号)
title// (答案标题)
}
],
count:0
}
},
selectedCount:0,
FindByIndex: function(index){
},
OnNext: function(){ // (平移到上一题)
viewModel.OnResetSkipSubject();
// ......
},
OnPrev: function(){ // (平移到下一题)
viewModel.OnResetSkipSubject();
// ......
},
OnTop: function(){ // (平移到第一题)
viewModel.OnResetSkipSubject();
// ......
},
OnBottom: function(){ // (平移到最后一题)
viewModel.OnResetSkipSubject();
// ......
},
OnDeleteSelf: function(){ // (删除此题)
viewModel.OnResetSkipSubject();
// ......
},
OnResetSkipSubject: function(){ // 重置跳转的题目
},
OnClickSearch: function(){ // 查看结果确认
viewModel.OnResetSkipSubject();
// ......
}
},
OnClickSearchSubjectByQuestion: function(){ // 问卷编辑查询相关题目
},
PrevPage: function(){ // 上一步
},
NextPage: function(){ // 下一步
},
Init: function(){ // 初始化
}
},
PreviewQuestion:{ // 预览问卷
questionCollection:{
data:[ // {subject}
{
id, // (编号)
title,// (题目标题)
_index,// (题目索引)
_isTop,// (是否为第一题)
_isBottom,// (是否为最后一题)
answerCollection:{
data:[ // {answer} 数据
{
id, // (编号)
title,// (答案标题)
type,// (答案类型)
score,// (答案分数)
}
// ...
],
count:0,
selected:{
id, // (编号)
title,// (答案标题)
type,// (答案类型)
score,// (答案分数)
}
}
}
// ...
],
count:0,
OnNext: function(){ // (跳到上一题)
},
OnPrev: function(){ // (跳到下一题)
}
},
OnClickLinkPreviewSave : function(){ // 问题预览保存
},
OnClickPreviewStartTest: function(){ // 问卷预览开始测试
},
OnClickPreviewEndTest: function(){ // 提交问卷
},
PrevPage: function(){ // 上一步
},
NextPage: function(){ // 下一步
},
Init: function(){ // 初始化
}
},
PublicQuestion:{ // 发布问卷
OnClickPublicQuestion: function(){ // 发布问卷
},
PrevPage: function(){ // 上一步
},
Init: function(){ // 初始化
}
},
Init: function(){ // 初始化
}
}
2.4 结果统计
$scope.vm = {
Init: function(){ // 初始化
}
}
2.5 数据位移
var arr = [0,1,2,3,4,5,6,7,8,9];
console.dir(arr);
// 后移 3=>4,4=>3
var index=3;
arr.splice(index,2,arr[index+1],arr[index]);
console.dir(arr);
// 前移 1=>0,0=>1
index=1;
arr.splice(index-1,2,arr[index],arr[index-1]);
console.dir(arr);
99. 接口
99.1 问卷题库接口
- 查询题库接口
- 停用、启用接口 GET Question/{id}/{status}
- 保存题目和选项接口 POST Question
99.2 问卷调查接口
- 查询问卷接口 GET Questions/{codetitle}
- 编辑问卷信息接口 POST Questionnaire/{id}/{name}/{code}/{description}
- 预览问卷接口
- 停用问卷接口 Questionnaire/{id}/Enable/{isEnabled}
- 删除问卷接口 DELETE Questionnaire/{id}
99.3 添加问卷接口
- 添加问卷基本信息接口 POST Questionnaire/{name}/{code}/{description}
- 查询题库接口 POST Questionnaire
- 添加问卷题目接口 POST Questionnaire/Submit
- 发布问卷接口 POST Questionnaire/{id}/Publish/{isPublished}