提交 db11c2ba 编写于 作者: doc_wei's avatar doc_wei

默认添加矩阵单选题完成

上级 89c96f08
因为 它太大了无法显示 source diff 。你可以改为 查看blob
......@@ -224,4 +224,20 @@ public class DwSurveyDirectoryController {
dwSurveyDirectoryService.addQuParagraphMation(inputObject, outputObject);
}
/**
*
* @Title: addQuChenMation
* @Description: 添加矩阵单选题
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@RequestMapping("/post/DwSurveyDirectoryController/addQuChenMation")
@ResponseBody
public void addQuChenMation(InputObject inputObject, OutputObject outputObject) throws Exception{
dwSurveyDirectoryService.addQuChenMation(inputObject, outputObject);
}
}
......@@ -56,4 +56,8 @@ public interface DwSurveyDirectoryDao {
public int addQuestionMultiFillblankMationList(List<Map<String, Object>> quMultiFillblank) throws Exception;
public int addQuestionColumnMationList(List<Map<String, Object>> quColumn) throws Exception;
public int addQuestionRowMationList(List<Map<String, Object>> quRow) throws Exception;
}
......@@ -31,4 +31,6 @@ public interface DwSurveyDirectoryService {
public void addQuParagraphMation(InputObject inputObject, OutputObject outputObject) throws Exception;
public void addQuChenMation(InputObject inputObject, OutputObject outputObject) throws Exception;
}
......@@ -127,6 +127,9 @@ public class DwSurveyDirectoryServiceImpl implements DwSurveyDirectoryService{
|| quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())) {// 矩阵单选,矩阵多选,矩阵填空题,复合矩阵单选
List<Map<String, Object>> questionChenRow = dwSurveyDirectoryDao.queryQuestionChenRowListByQuestionId(question);//获取行选项
List<Map<String, Object>> questionChenColumn = dwSurveyDirectoryDao.queryQuestionChenColumnListByQuestionId(question);//获取列选项
for(Map<String, Object> bean : questionChenRow){
bean.put("questionChenColumn", questionChenColumn);
}
question.put("questionChenRow", questionChenRow);
question.put("questionChenColumn", questionChenColumn);
if(quType.equals(QuType.COMPCHENRADIO.getActionName())){//如果是复合矩阵单选题, 则还有题选项
......@@ -689,5 +692,97 @@ public class DwSurveyDirectoryServiceImpl implements DwSurveyDirectoryService{
}
outputObject.setBean(map);
}
/**
*
* @Title: addQuChenMation
* @Description: 添加矩阵单选题
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@Override
public void addQuChenMation(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
map.put("quType", QuType.CHENRADIO.getIndex());
String quId = "";
if(ToolUtil.isBlank(map.get("quId").toString())){
quId = ToolUtil.getSurFaceId();
map.put("id", quId);
map.put("quTag", 1);
map.put("visibility", 1);
map.put("createTime", ToolUtil.getTimeAndToString());
dwSurveyDirectoryDao.addQuestionMation(map);
}else{
}
JSONArray column = JSONArray.fromObject(map.get("column").toString());//获取模板绑定信息
if(column.size() > 0){
List<Map<String, Object>> quColumn = new ArrayList<>();
Map<String, Object> user = inputObject.getLogParams();
for(int i = 0; i < column.size(); i++){
JSONObject object = (JSONObject) column.get(i);
Map<String, Object> bean = new HashMap<>();
bean.put("optionId", object.getString("optionId"));
bean.put("orderById", object.getString("key"));
bean.put("optionName", object.getString("optionValue"));
bean.put("quId", quId);
bean.put("visibility", 1);
bean.put("id", ToolUtil.getSurFaceId());
bean.put("createId", user.get("id"));
bean.put("createTime", ToolUtil.getTimeAndToString());
quColumn.add(bean);
}
dwSurveyDirectoryDao.addQuestionColumnMationList(quColumn);
map.put("quColumnItems", quColumn);
}
JSONArray row = JSONArray.fromObject(map.get("row").toString());//获取模板绑定信息
if(row.size() > 0){
List<Map<String, Object>> quRow = new ArrayList<>();
Map<String, Object> user = inputObject.getLogParams();
for(int i = 0; i < row.size(); i++){
JSONObject object = (JSONObject) row.get(i);
Map<String, Object> bean = new HashMap<>();
bean.put("optionId", object.getString("optionId"));
bean.put("orderById", object.getString("key"));
bean.put("optionName", object.getString("optionValue"));
bean.put("quId", quId);
bean.put("visibility", 1);
bean.put("id", ToolUtil.getSurFaceId());
bean.put("createId", user.get("id"));
bean.put("createTime", ToolUtil.getTimeAndToString());
quRow.add(bean);
}
dwSurveyDirectoryDao.addQuestionRowMationList(quRow);
map.put("quRowItems", quRow);
}
JSONArray array = JSONArray.fromObject(map.get("logic").toString());//获取模板绑定信息
if(array.size() > 0){
List<Map<String, Object>> quLogics = new ArrayList<>();
Map<String, Object> user = inputObject.getLogParams();
for(int i = 0; i < array.size(); i++){
JSONObject object = (JSONObject) array.get(i);
Map<String, Object> bean = new HashMap<>();
bean.put("quLogicId", object.getString("quLogicId"));
bean.put("cgQuItemId", object.getString("cgQuItemId"));
bean.put("skQuId", object.getString("skQuId"));
bean.put("visibility", object.getString("visibility"));
bean.put("logicType", object.getString("logicType"));
bean.put("title", object.getString("key"));
bean.put("id", ToolUtil.getSurFaceId());
bean.put("createId", user.get("id"));
bean.put("createTime", ToolUtil.getTimeAndToString());
quLogics.add(bean);
}
dwSurveyDirectoryDao.addQuestionLogicsMationList(quLogics);
map.put("quLogics", quLogics);
}
outputObject.setBean(map);
}
}
......@@ -385,4 +385,22 @@
</foreach>
</insert>
<insert id="addQuestionColumnMationList" parameterType="java.util.Map">
insert into dw_qu_chen_column
(id, qu_id, option_id, option_name, order_by_id, visibility, create_id, create_time)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id}, #{item.quId}, #{item.optionId}, #{item.optionName}, #{item.orderById}, #{item.visibility}, #{item.createId}, #{item.createTime})
</foreach>
</insert>
<insert id="addQuestionRowMationList" parameterType="java.util.Map">
insert into dw_qu_chen_row
(id, qu_id, option_id, option_name, order_by_id, visibility, create_id, create_time)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id}, #{item.quId}, #{item.optionId}, #{item.optionName}, #{item.orderById}, #{item.visibility}, #{item.createId}, #{item.createTime})
</foreach>
</insert>
</mapper>
\ No newline at end of file
......@@ -145,6 +145,20 @@
<property id="cellCount" name="cellCount" ref="required,num" var="按列显示时,列数"/>
<property id="logic" name="logic" ref="" var="逻辑设置json串"/>
</url>
<url id="dwsurveydirectory014" path="/post/DwSurveyDirectoryController/addQuChenMation" val="添加矩阵单选题" allUse="1">
<property id="quId" name="quId" ref="" var="问题id"/>
<property id="belongId" name="belongId" ref="required" var="问卷id"/>
<property id="quTitle" name="quTitle" ref="required" var="问题标题"/>
<property id="orderById" name="orderById" ref="required,num" var="序号"/>
<property id="tag" name="tag" ref="" var="表示题目是问卷题还是题库中题"/>
<property id="isRequired" name="isRequired" ref="required,num" var="是否必选"/>
<property id="hv" name="hv" ref="required,num" var="1水平显示 2垂直显示"/>
<property id="randOrder" name="randOrder" ref="required,num" var="选项随机排列 1随机排列 0不随机排列"/>
<property id="cellCount" name="cellCount" ref="required,num" var="按列显示时,列数"/>
<property id="column" name="column" ref="" var="矩阵列选项td json串"/>
<property id="row" name="row" ref="" var="矩阵行选项td json串"/>
<property id="logic" name="logic" ref="" var="逻辑设置json串"/>
</url>
<!-- 问卷调查结束 -->
</controller>
\ No newline at end of file
......@@ -2634,123 +2634,115 @@ layui.config({
/** 矩阵单选题 **/
/**
** 新保存矩阵单选题
* 新保存矩阵单选题
**/
function saveChen(quItemBody, callback) {
var saveTag = quItemBody.find("input[name='saveTag']").val();
if(saveTag == 0) {
var url = reqBasePath + "/design/qu-chen!ajaxSave.action";
var quType = quItemBody.find("input[name='quType']").val();
var quId = quItemBody.find("input[name='quId']").val();
var orderById = quItemBody.find("input[name='orderById']").val();
var isRequired = quItemBody.find("input[name='isRequired']").val();
var hv = quItemBody.find("input[name='hv']").val();
var randOrder = quItemBody.find("input[name='randOrder']").val();
var cellCount = quItemBody.find("input[name='cellCount']").val();
var data = "belongId=" + questionBelongId + "&orderById=" + orderById + "&tag=" + svTag + "&quType=" + quType + "&quId=" + quId;
data += "&isRequired=" + isRequired + "&hv=" + hv + "&randOrder=" + randOrder + "&cellCount=" + cellCount;
var data = {
belongId: parent.rowId,
orderById: quItemBody.find("input[name='orderById']").val(),
tag: svTag,
quId: quItemBody.find("input[name='quId']").val(),
isRequired: quItemBody.find("input[name='isRequired']").val(),
hv: quItemBody.find("input[name='hv']").val(),
randOrder: quItemBody.find("input[name='randOrder']").val(),
cellCount: quItemBody.find("input[name='cellCount']").val(),
quTitle: '',
};
var quTitleSaveTag = quItemBody.find("input[name='quTitleSaveTag']").val();
if(quTitleSaveTag == 0) {
var quTitle = quItemBody.find(".quCoTitleEdit").html();
quTitle = escape(encodeURIComponent(quTitle));
data += "&quTitle=" + quTitle;
data.quTitle = encodeURI(quTitle);
}
//矩阵列选项td
var quColumnOptions = quItemBody.find(".quCoItem table.quCoChenTable tr td.quChenColumnTd");
var column = [];
$.each(quColumnOptions, function(i) {
var optionValue = $(this).find("label.quCoOptionEdit").html();
var optionId = $(this).find(".quItemInputCase input[name='quItemId']").val();
var quItemSaveTag = $(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
if(quItemSaveTag == 0) {
optionValue = escape(encodeURIComponent(optionValue));
data += "&columnValue_" + i + "=" + optionValue;
data += "&columnId_" + i + "=" + optionId;
var s = {
optionValue: encodeURI($(this).find("label.quCoOptionEdit").html()),
optionId: $(this).find(".quItemInputCase input[name='quItemId']").val(),
key: i,
};
column.push(s);
}
//更新 字母 title标记到选项上.
$(this).addClass("quColumnOption_" + i);
});
data.column = JSON.stringify(column);
//矩阵行选项td
var quColumnOptions = quItemBody.find(".quCoItem table.quCoChenTable tr td.quChenRowTd");
var row = [];
$.each(quColumnOptions, function(i) {
var optionValue = $(this).find("label.quCoOptionEdit").html();
var optionId = $(this).find(".quItemInputCase input[name='quItemId']").val();
var quItemSaveTag = $(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
if(quItemSaveTag == 0) {
optionValue = escape(encodeURIComponent(optionValue));
data += "&rowValue_" + i + "=" + optionValue;
data += "&rowId_" + i + "=" + optionId;
var s = {
optionValue: encodeURI($(this).find("label.quCoOptionEdit").html()),
optionId: $(this).find(".quItemInputCase input[name='quItemId']").val(),
key: i,
};
row.push(s);
}
//更新 字母 title标记到选项上.
$(this).addClass("quRowOption_" + i);
});
data.row = JSON.stringify(row);
//逻辑选项
var quLogicItems = quItemBody.find(".quLogicItem");
var list = [];
$.each(quLogicItems, function(i) {
var thClass = $(this).attr("class");
thClass = thClass.replace("quLogicItem quLogicItem_", "");
var quLogicId = $(this).find("input[name='quLogicId']").val();
var cgQuItemId = $(this).find("input[name='cgQuItemId']").val();
var skQuId = $(this).find("input[name='skQuId']").val();
var logicSaveTag = $(this).find("input[name='logicSaveTag']").val();
var visibility = $(this).find("input[name='visibility']").val();
var logicType = $(this).find("input[name='logicType']").val();
var itemIndex = thClass;
if(logicSaveTag == 0) {
data += "&quLogicId_" + itemIndex + "=" + quLogicId;
data += "&cgQuItemId_" + itemIndex + "=" + cgQuItemId;
data += "&skQuId_" + itemIndex + "=" + skQuId;
data += "&visibility_" + itemIndex + "=" + visibility;
data += "&logicType_" + itemIndex + "=" + logicType;
}
});
$.ajax({
url: url,
data: data,
type: 'post',
success: function(msg) {
if(msg != "error") {
var jsons = eval("(" + msg + ")");
//alert(jsons);
var quId = jsons.id;
quItemBody.find("input[name='quId']").val(quId);
//列选项
var quColumnItems = jsons.quColumnItems;
$.each(quColumnItems, function(i, item) {
var quItemOption = quItemBody.find(".quColumnOption_" + item.title);
quItemOption.find("input[name='quItemId']").val(item.id);
quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
});
//行选项
var quRowItems = jsons.quRowItems;
$.each(quRowItems, function(i, item) {
var quItemOption = quItemBody.find(".quRowOption_" + item.title);
quItemOption.find("input[name='quItemId']").val(item.id);
quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
});
//同步logic Id信息
var quLogics = jsons.quLogics;
$.each(quLogics, function(i, item) {
var logicItem = quItemBody.find(".quLogicItem_" + item.title);
logicItem.find("input[name='quLogicId']").val(item.id);
logicItem.find("input[name='logicSaveTag']").val(1);
});
quItemBody.find("input[name='saveTag']").val(1);
quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
//执行保存下一题
saveQus(quItemBody.next(), callback);
//同步-更新题目排序号
quCBNum2++;
exeQuCBNum();
}
var s = {
quLogicId: $(this).find("input[name='quLogicId']").val(),
cgQuItemId: $(this).find("input[name='cgQuItemId']").val(),
skQuId: $(this).find("input[name='skQuId']").val(),
visibility: $(this).find("input[name='visibility']").val(),
logicType: $(this).find("input[name='logicType']").val(),
key: $(this).attr("class").replace("quLogicItem quLogicItem_", ""),
};
list.push(s);
}
});
data.logic = JSON.stringify(list);
AjaxPostUtil.request({url:reqBasePath + "dwsurveydirectory014", params:data, type:'json', callback:function(json){
if(json.returnCode == 0){
var quId = json.bean.id;
quItemBody.find("input[name='saveTag']").val(1);
quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
quItemBody.find("input[name='quId']").val(quId);
//列选项
var quColumnItems = json.bean.quColumnItems;
$.each(quColumnItems, function(i, item) {
var quItemOption = quItemBody.find(".quColumnOption_" + item.title);
quItemOption.find("input[name='quItemId']").val(item.id);
quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
});
//行选项
var quRowItems = json.bean.quRowItems;
$.each(quRowItems, function(i, item) {
var quItemOption = quItemBody.find(".quRowOption_" + item.title);
quItemOption.find("input[name='quItemId']").val(item.id);
quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
});
//同步logic Id信息
var quLogics = json.bean.quLogics;
$.each(quLogics, function(i, item) {
var logicItem = quItemBody.find(".quLogicItem_" + item.title);
logicItem.find("input[name='quLogicId']").val(item.id);
logicItem.find("input[name='logicSaveTag']").val(1);
});
//执行保存下一题
saveQus(quItemBody.next(), callback);
//同步-更新题目排序号
quCBNum2++;
exeQuCBNum();
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
} else {
saveQus(quItemBody.next(), callback);
}
......
......@@ -761,20 +761,20 @@
<table class="quCoChenTable">
<tr>
<td></td>
{{#each columns}}
{{#each questionChenColumn}}
<td class="quChenColumnTd"><label class="editAble quCoOptionEdit">{{optionName}}</label>
<div class="quItemInputCase"><input type="hidden" name="quItemId" value="{{id}}"><input type="hidden" name="quItemSaveTag" value="1"></div>
</td>
{{/each}}
</tr>
{{#each rows1}}
{{#each questionChenRow}}
<tr class="quChenRowTr">
<td class="quChenRowTd"><label class="editAble quCoOptionEdit">{{optionName}}</label>
<div class="quItemInputCase"><input type="hidden" name="quItemId" value="{{id}}"><input type="hidden" name="quItemSaveTag" value="1"></div>
</td>
<c:forEach items="{{columns}}" var="columnItem">
{{#each questionChenColumn}}
<td><input type="radio"> </td>
</c:forEach>
{{/each}}
</tr>
{{/each}}
</table>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册