|
@@ -0,0 +1,925 @@
|
|
|
+test=function (element,id) {
|
|
|
+ var data = $(event.target).val();
|
|
|
+ $('#namelist'+id).html(getSpanHtml(getData(data)))
|
|
|
+ // console.log(getData(data))
|
|
|
+}
|
|
|
+/*<![CDATA[*/
|
|
|
+getData = function (str) {
|
|
|
+ var arr=str.split(";");
|
|
|
+ var res = new Array();
|
|
|
+ var tempArr;
|
|
|
+ var tempStart
|
|
|
+ var tempEnd
|
|
|
+ for(var i =0;i<arr.length;i++){
|
|
|
+ if(arr[i].indexOf("~")>=0){
|
|
|
+ tempArr = arr[i].split("~");
|
|
|
+ var tempStart = new Number(tempArr[0]);
|
|
|
+ var tempEnd = new Number(tempArr[1]);
|
|
|
+ for ( var ii =tempStart;ii<tempEnd;ii++){
|
|
|
+ res.push(ii+"");
|
|
|
+ }
|
|
|
+ res.push(tempEnd+"");
|
|
|
+ }else{
|
|
|
+ res.push(arr[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+}
|
|
|
+
|
|
|
+getSpanHtml = function(data){
|
|
|
+ var res = '';
|
|
|
+ for(var i =0;i<data.length;i++){
|
|
|
+ res+='<span class="badge bg-green">'+data[i]+'</span>'
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+}
|
|
|
+
|
|
|
+getRealData = function(str){
|
|
|
+ var arr = str.split("~");
|
|
|
+ var start = new Number(arr[0]);
|
|
|
+ var end = new Number(arr[1]);
|
|
|
+ var res = new Array();
|
|
|
+ for ( var i =start;i<end;i++){
|
|
|
+ res.push(i+"");
|
|
|
+ }
|
|
|
+ res.push(end+"");
|
|
|
+ return res;
|
|
|
+}
|
|
|
+
|
|
|
+addNewOption = function () {
|
|
|
+ $('#maincontent').append('\n' +
|
|
|
+ ' <div class="box box-info rule" id="rule' +ruleId+
|
|
|
+ '">\n' +
|
|
|
+ ' <div class="box-header with-border">\n' +
|
|
|
+ ' <h3 class="box-title">定制审查选项</h3>\n' +
|
|
|
+ ' <button type="submit" onclick="addCheck(' +ruleId+
|
|
|
+ ')" class="btn btn-success pull-right">新建多选框</button>\n' +
|
|
|
+ ' <button type="submit" onclick="addRatio(' +ruleId+
|
|
|
+ ')" class="btn btn-success pull-right">新建单选框</button>\n' +
|
|
|
+ ' <button type="submit" onclick="addSingleCheck(' +ruleId+
|
|
|
+ ')" class="btn btn-success pull-right">新建单复选框</button>\n' +
|
|
|
+ ' <button type="submit" onclick="addText(' +ruleId+
|
|
|
+ ')" class="btn btn-success pull-right">新建文本框</button>\n' +
|
|
|
+ ' <button type="submit" onclick="addUpload(' +ruleId+
|
|
|
+ ')" class="btn btn-success pull-right">新建文件上传</button>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' <!-- /.box-header -->\n' +
|
|
|
+ ' <!-- form start -->\n' +
|
|
|
+ ' <div class="form-horizontal">\n' +
|
|
|
+ ' <div class="box-body">\n' +
|
|
|
+ ' <div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">适用报告列表</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' +
|
|
|
+ ' <input onchange="test(this,' + ruleId + ')" class="form-control" id="fitlist' + ruleId+
|
|
|
+ '" placeholder="请输入编号并用;分割,可用~输入连续的试题名称"/>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">已选报告列表</label>\n' +
|
|
|
+ ' <div class="col-sm-10" id="namelist' +ruleId+
|
|
|
+ '" >\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ '\n' +
|
|
|
+ ' <div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">审查项</label>\n' +
|
|
|
+ ' <div class="col-sm-10 ">\n' +
|
|
|
+ ' <table class="table" id="table' + ruleId+
|
|
|
+ '">\n' +
|
|
|
+ '<tr>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' 示例\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' 标签\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' 数据说明\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' 操作\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' </tr>'+
|
|
|
+ '\n' +
|
|
|
+ ' </table>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' <div class="box-footer">\n' +
|
|
|
+ ' <button type="button" onclick="deleteRule(' +ruleId+
|
|
|
+ ')" class="btn btn-default">删除</button>\n' +
|
|
|
+ ' <button type="button" class="btn btn-default" onclick="showModal(' +ruleId+
|
|
|
+ ')">\n' +
|
|
|
+ ' 本地预览\n' +
|
|
|
+ ' </button>\n' +
|
|
|
+ ' <button type="button" onclick="addNewOption()" class="btn btn-info pull-right">继续添加</button>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>');
|
|
|
+ ruleId++;
|
|
|
+}
|
|
|
+
|
|
|
+addRatio = function (id) { // 添加单选框
|
|
|
+ var table = $('#table'+id);
|
|
|
+ var index = getNewRatioIndex();
|
|
|
+ table.append('<tr type="ratio">\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <div class="form-group">\n' +
|
|
|
+ ' <div class="radio">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="radio" name="optionsRadios' + index+
|
|
|
+ '" value="option1" checked="checked"/>\n' +
|
|
|
+ ' Option one\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' <div class="radio">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="radio" name="optionsRadios' +index+
|
|
|
+ '" value="option2"/>\n' +
|
|
|
+ ' Option two\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' <div class="radio">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="radio" name="optionsRadios' +index+
|
|
|
+ '" value="option3" />\n' +
|
|
|
+ ' Option three\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleRatioByLabel(this)" type="text" class="form-control" placeholder="选项说明"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleRatio(this)" type="text" class="form-control" placeholder="选项数据 请用;将选项分隔"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <button onclick="upTr(this)" class="btn btn-default">上移</button>\n' +
|
|
|
+ ' <button onclick="downTr(this,' +id+
|
|
|
+ ')" class="btn btn-default">下移</button>\n' +
|
|
|
+ ' <button onclick="deleteTr(this)" class="btn btn-warning">删除</button>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' </tr>')
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+addText = function (id) { // 添加文字
|
|
|
+ var table = $('#table'+id);
|
|
|
+ table.append('<tr type="text">\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input type="text" class="form-control" placeholder="选项说明"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleText(this)" type="text" class="form-control" placeholder="选项数据"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <button onclick="upTr(this)" class="btn btn-default">上移</button>\n' +
|
|
|
+ ' <button onclick="downTr(this,' +id+
|
|
|
+ ')" class="btn btn-default">下移</button>\n' +
|
|
|
+ ' <button onclick="deleteTr(this)" class="btn btn-warning">删除</button>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' </tr>')
|
|
|
+}
|
|
|
+
|
|
|
+addUpload = function(id){// add upload input
|
|
|
+ var table = $('#table'+id); //
|
|
|
+
|
|
|
+ table.append('<tr type="file">\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ '<div class="form-group">\n' +
|
|
|
+ ' <label for="exampleFile' +id+
|
|
|
+ '">File input</label>\n' +
|
|
|
+ ' <input type="file" id="exampleFile' +id+
|
|
|
+ '">\n' +
|
|
|
+ ' </div>'+
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleFile(this)" type="text" class="form-control" placeholder="请输入说明文字"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <button onclick="upTr(this)" class="btn btn-default">上移</button>\n' +
|
|
|
+ ' <button onclick="downTr(this,' +id+
|
|
|
+ ')" class="btn btn-default">下移</button>\n' +
|
|
|
+ ' <button onclick="deleteTr(this)" class="btn btn-warning">删除</button>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' </tr>')
|
|
|
+}
|
|
|
+
|
|
|
+addSingleCheck = function (id) { // 添加多选框
|
|
|
+ var table = $('#table'+id);
|
|
|
+ table.append('<tr type="singleCheck">\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <div class="form-group">\n' +
|
|
|
+ ' <div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +
|
|
|
+ ' Checkbox 1\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleSingleByLabel(this)" type="text" class="form-control" placeholder="选项说明"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleSingle(this)" type="text" class="form-control" placeholder="选项数据"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <button onclick="upTr(this)" class="btn btn-default">上移</button>\n' +
|
|
|
+ ' <button onclick="downTr(this,' +id+
|
|
|
+ ')" class="btn btn-default">下移</button>\n' +
|
|
|
+ ' <button onclick="deleteTr(this)" class="btn btn-warning">删除</button>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' </tr>')
|
|
|
+}
|
|
|
+
|
|
|
+addCheck = function (id) {
|
|
|
+ var table = $('#table'+id);
|
|
|
+ table.append('<tr type="check">\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <div class="form-group">\n' +
|
|
|
+ ' <div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +
|
|
|
+ ' Checkbox 1\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ '\n' +
|
|
|
+ ' <div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +
|
|
|
+ ' Checkbox 2\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ '\n' +
|
|
|
+ ' <div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox" />\n' +
|
|
|
+ ' Checkbox disabled\n' +
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleCheckByLabel(this)" type="text" class="form-control" placeholder="选项说明"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <input onchange="showExampleCheck(this)" type="text" class="form-control" placeholder="选项数据 请用;将选项分隔"/>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' <td>\n' +
|
|
|
+ ' <button onclick="upTr(this)" class="btn btn-default">上移</button>\n' +
|
|
|
+ ' <button onclick="downTr(this,' +id +
|
|
|
+ ')" class="btn btn-default">下移</button>\n' +
|
|
|
+ ' <button onclick="deleteTr(this)" class="btn btn-warning">删除</button>\n' +
|
|
|
+ ' </td>\n' +
|
|
|
+ ' </tr>')
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+deleteTr = function(element){
|
|
|
+ element.parentNode.parentNode.remove();
|
|
|
+}
|
|
|
+
|
|
|
+upTr = function(element){
|
|
|
+ var $tr = $(element).parents("tr");
|
|
|
+ if ($tr.index() != 1) {
|
|
|
+ $tr.prev().before($tr);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+downTr = function (element,id) {
|
|
|
+ var length = $('#table'+id +' tr').length;
|
|
|
+ var $tr = $(element).parents("tr");
|
|
|
+ if ($tr.index() != length - 1) {
|
|
|
+ $tr.next().after($tr);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+deleteRule = function (id) {
|
|
|
+ $('#rule'+id).remove()
|
|
|
+}
|
|
|
+
|
|
|
+showModal = function (id) {
|
|
|
+ var body = $('#formBody');
|
|
|
+ var myTable = document.getElementById("table"+id);
|
|
|
+ body.html("");
|
|
|
+ var da1 = $('#fitlist'+id).val();
|
|
|
+ var selectedData = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">适用试题</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' +
|
|
|
+ getSpanHtml(getData(da1))+
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ body.append(selectedData);
|
|
|
+ var rowNum = myTable.rows.length;
|
|
|
+ var tempdata = [];
|
|
|
+ var td0;
|
|
|
+ var tr;
|
|
|
+ var type;
|
|
|
+ for(var i = 0;i<rowNum;i++){
|
|
|
+ tr = myTable.rows[i];
|
|
|
+ type=tr.getAttribute("type");
|
|
|
+ if(type=="singleCheck"){
|
|
|
+ var singleCheckTip = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ var singleCheckData = myTable.rows[i].cells[2].children[0].value;
|
|
|
+ console.log(singleCheckData,singleCheckTip)
|
|
|
+ var singleCheckTemp = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">' +singleCheckTip+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' ;
|
|
|
+
|
|
|
+ singleCheckTemp+='<div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +singleCheckData+
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>';
|
|
|
+
|
|
|
+ singleCheckTemp+=
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ body.append(singleCheckTemp);
|
|
|
+ }else if(type=="check"){
|
|
|
+ var checkTip = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ var checkData = myTable.rows[i].cells[2].children[0].value;
|
|
|
+ var checkArr = checkData.split(';');
|
|
|
+ var checkTemp = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">' +checkTip+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' ;
|
|
|
+ for( var checkJ = 0;checkJ<checkArr.length;checkJ++){
|
|
|
+ checkTemp+='<div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +checkArr[checkJ]+
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>';
|
|
|
+ }
|
|
|
+ checkTemp+=
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ body.append(checkTemp);
|
|
|
+ }else if(type=="ratio"){
|
|
|
+ var ratioTip = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ var ratioData = myTable.rows[i].cells[2].children[0].value;
|
|
|
+ var ratioArr = ratioData.split(';');
|
|
|
+ var ratioTemp = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">' +ratioTip+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' ;
|
|
|
+
|
|
|
+ for( var ratioJ = 0;ratioJ<ratioArr.length;ratioJ++){
|
|
|
+ ratioTemp+='<div class="radio">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="radio" name="optionsRadios' + i+
|
|
|
+ '" value="' +ratioArr[ratioJ]+
|
|
|
+ '"/>\n' +ratioArr[ratioJ]+
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>';
|
|
|
+ }
|
|
|
+ ratioTemp+=
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ body.append(ratioTemp);
|
|
|
+ }else if(type=="text"){
|
|
|
+ var textData = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ body.append('<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-2 control-label">' +textData+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' +
|
|
|
+ '<input class="form-control" placeholder="请输入"/>'+
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>')
|
|
|
+ }else if( type == "file"){
|
|
|
+ // when the check item is file upload input
|
|
|
+ var fileData = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ body.append('<div class="form-group">\n' +
|
|
|
+ ' <label for="testApplication" class="col-sm-2 control-label">'+fileData+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-10">\n' +
|
|
|
+ ' <input type="file" />\n' +
|
|
|
+ ' <!-- <p class="help-block">Example block-level help text here.</p>-->\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $('#modal-default').modal('show');
|
|
|
+}
|
|
|
+
|
|
|
+showModalAlert = function () {
|
|
|
+ var name = $('#name').val();
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+checkNum = function (event) {
|
|
|
+ var num = event.target.value;
|
|
|
+ console.log(num)
|
|
|
+ if(!isNaN(num)&&num.length!=0){
|
|
|
+ console.log(event.target.parentElement.parentElement)
|
|
|
+ event.target.parentElement.parentElement.setAttribute("class","form-group has-success")
|
|
|
+ if(event.target.nextSibling!=null){
|
|
|
+ event.target.nextSibling.remove();
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ var newNode = document.createElement("span");
|
|
|
+ newNode.setAttribute("class","help-block")
|
|
|
+ newNode.innerHTML =" 请输入数字 ";
|
|
|
+ if(event.target.nextSibling!=null){
|
|
|
+ event.target.nextSibling.remove();
|
|
|
+ }
|
|
|
+ event.target.parentNode.insertBefore(newNode,event.target.nextSibling)
|
|
|
+
|
|
|
+ // if(event.target.nextSibling!=null){
|
|
|
+ // }else{
|
|
|
+ // event.target.parentNode.insertBefore(newNode,event.target.nextSibling)
|
|
|
+ // }
|
|
|
+ event.target.parentElement.parentElement.setAttribute("class","form-group has-error")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+str2number = function(data){
|
|
|
+ // refer : https://blog.csdn.net/u010865136/article/details/49336255
|
|
|
+ return parseInt(data)
|
|
|
+}
|
|
|
+
|
|
|
+checkNull = function (event) {
|
|
|
+ var num = event.target.value;
|
|
|
+ console.log(num)
|
|
|
+ if(num!=null&&num.length!=0){
|
|
|
+ console.log(event.target.parentElement.parentElement)
|
|
|
+ event.target.parentElement.parentElement.setAttribute("class","form-group has-success")
|
|
|
+ if(event.target.nextSibling!=null){
|
|
|
+ event.target.nextSibling.remove();
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ var newNode = document.createElement("span");
|
|
|
+ newNode.setAttribute("class","help-block")
|
|
|
+ newNode.innerHTML =" 请填写 ";
|
|
|
+ if(event.target.nextSibling==null){
|
|
|
+ event.target.parentNode.insertBefore(newNode,event.target.nextSibling)
|
|
|
+ }
|
|
|
+ event.target.parentElement.parentElement.setAttribute("class","form-group has-error")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+showExampleFile = function (element) {
|
|
|
+ var td = $(element).parents("td").prev("td"); // 获取示例
|
|
|
+ var data = $(element).val();
|
|
|
+ td.html('<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-3 control-label">' + data +
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-9">\n' +
|
|
|
+ ' <input type="file" />\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>')
|
|
|
+}
|
|
|
+showExampleText = function (element) {
|
|
|
+ var $tr = $(element).parents("td").prev("td"); // 获取上一个元素
|
|
|
+ var data = $(element).val();
|
|
|
+ $tr.html('<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-3 control-label">' +data+
|
|
|
+ '</label>\n' +
|
|
|
+ '\n' +
|
|
|
+ ' <div class="col-sm-9">\n' +
|
|
|
+ ' <input type="text" class="form-control" placeholder="请输入">\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>')
|
|
|
+}
|
|
|
+showExampleRatio = function (element) { // xuanxiang shuju
|
|
|
+ // 显示单选框
|
|
|
+ var dataRatio = $(element).parents("td").prev("td").prev("td"); // 获取展示的元素
|
|
|
+ var data = $(element).val();
|
|
|
+ var label = $(element).parents("td").prev("td").children("input").val();
|
|
|
+ dataRatio.html(getExampleRatioHtml(label,data));
|
|
|
+}
|
|
|
+//show example ratio by label ;
|
|
|
+showExampleRatioByLabel = function(element){
|
|
|
+ // 显示单选框
|
|
|
+ var dataRatio = $(element).parents("td").prev("td"); // 获取展示的元素
|
|
|
+ var label = $(element).val();
|
|
|
+ var data = $(element).parents("td").next("td").children("input").val();
|
|
|
+ dataRatio.html(getExampleRatioHtml(label,data));
|
|
|
+}
|
|
|
+getExampleRatioHtml = function(label,data){
|
|
|
+ var index = getNewRatioIndex();
|
|
|
+ var ratioArr = data.split(';');
|
|
|
+ var ratioTemp = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-3 control-label">' +label+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-9">\n' ;
|
|
|
+
|
|
|
+ for( var ratioJ = 0;ratioJ<ratioArr.length;ratioJ++){
|
|
|
+ ratioTemp+='<div class="radio">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="radio" name="optionsRadios' + index+
|
|
|
+ '" value="' +ratioArr[ratioJ]+
|
|
|
+ '"/>\n' +ratioArr[ratioJ]+
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>';
|
|
|
+ }
|
|
|
+ ratioTemp+=
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ return ratioTemp;
|
|
|
+}
|
|
|
+showExampleSingle = function(element){
|
|
|
+ //单复选框
|
|
|
+ var dataRatio = $(element).parents("td").prev("td").prev("td"); // 获取展示的元素
|
|
|
+ var data = $(element).val();
|
|
|
+ var label = $(element).parents("td").prev("td").children("input").val();
|
|
|
+ dataRatio.html(getExampleSingleHtml(label,data));
|
|
|
+}
|
|
|
+showExampleSingleByLabel = function(element){
|
|
|
+ //单复选框
|
|
|
+ var dataRatio = $(element).parents("td").prev("td"); // 获取展示的元素
|
|
|
+ var label = $(element).val();
|
|
|
+ var data = $(element).parents("td").next("td").children("input").val();
|
|
|
+ dataRatio.html(getExampleSingleHtml(label,data));
|
|
|
+}
|
|
|
+getExampleSingleHtml = function(label,data ){
|
|
|
+ var singleCheckTip = label;
|
|
|
+ var singleCheckData = data;
|
|
|
+ var singleCheckTemp = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-3 control-label">' +singleCheckTip+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-9">\n' ;
|
|
|
+
|
|
|
+ singleCheckTemp+='<div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +singleCheckData+
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>';
|
|
|
+
|
|
|
+ singleCheckTemp+=
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ return singleCheckTemp;
|
|
|
+}
|
|
|
+showExampleCheck = function(element){
|
|
|
+ //复选框
|
|
|
+ var dataRatio = $(element).parents("td").prev("td").prev("td"); // 获取展示的元素
|
|
|
+ var data = $(element).val();
|
|
|
+ var label = $(element).parents("td").prev("td").children("input").val();
|
|
|
+ dataRatio.html(getExampleCheckHtml(label,data));
|
|
|
+}
|
|
|
+showExampleCheckByLabel = function( element ){
|
|
|
+ //复选框
|
|
|
+ var dataRatio = $(element).parents("td").prev("td"); // 获取展示的元素
|
|
|
+ var label = $(element).val();
|
|
|
+ var data = $(element).parents("td").next("td").children("input").val();
|
|
|
+ dataRatio.html(getExampleCheckHtml(label,data));
|
|
|
+}
|
|
|
+getExampleCheckHtml = function(label,data){
|
|
|
+ // ---
|
|
|
+ var checkTip = label;
|
|
|
+ var checkData = data;
|
|
|
+ var checkArr = checkData.split(';');
|
|
|
+ var checkTemp = '<div class="form-group">\n' +
|
|
|
+ ' <label class="col-sm-3 control-label">' +checkTip+
|
|
|
+ '</label>\n' +
|
|
|
+ ' <div class="col-sm-9">\n' ;
|
|
|
+ for( var checkJ = 0;checkJ<checkArr.length;checkJ++){
|
|
|
+ checkTemp+='<div class="checkbox">\n' +
|
|
|
+ ' <label>\n' +
|
|
|
+ ' <input type="checkbox"/>\n' +checkArr[checkJ]+
|
|
|
+ ' </label>\n' +
|
|
|
+ ' </div>';
|
|
|
+ }
|
|
|
+ checkTemp+=
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>';
|
|
|
+ return checkTemp;
|
|
|
+}
|
|
|
+
|
|
|
+getDataSplit = function ( str ) {
|
|
|
+ var arr=str.split(";");
|
|
|
+ var res = new Array();
|
|
|
+ for(var i =0;i<arr.length;i++){
|
|
|
+ res.push(arr[i]);
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+}
|
|
|
+//获取在本页面不会重复的ratio
|
|
|
+getNewRatioIndex = function () {
|
|
|
+ ratioIndex++;
|
|
|
+ return ratioIndex;
|
|
|
+}
|
|
|
+
|
|
|
+generateJson = function( paperId, type ){
|
|
|
+ // 遍历页面上的数据,生成json数据。
|
|
|
+ var data = new Object();
|
|
|
+ data.description = $('#description').val();
|
|
|
+ data.name = $('#name').val();
|
|
|
+ // data.time = $('#reservationtime').val();
|
|
|
+ data.type = $('#testType').val();
|
|
|
+ data.application_url = $('#testApplication').attr('value')==null?'':$('#testApplication').attr('value');
|
|
|
+ data.requirement_url = $('#testRequirement').attr('value')==null?'':$('#testRequirement').attr('value');
|
|
|
+ data.report_num = str2number( $('#reportNum').val() );
|
|
|
+ data.create_time = $('#createTime').val();
|
|
|
+ // data.worker_num = str2number( $('#auditNum').val() );
|
|
|
+ var item_group_list = new Array();
|
|
|
+ $('.rule').each(function () {
|
|
|
+ // every item information
|
|
|
+ var element = $(this);
|
|
|
+ var temp = new Object();
|
|
|
+ var reportTemp = new Object()
|
|
|
+ var ruleIndex = element.attr("id").charAt(4); // index is 4 (like)
|
|
|
+ // temp.index = ruleIndex;
|
|
|
+ var examples = $('#namelist'+ruleIndex).children();
|
|
|
+ var tempExample ;
|
|
|
+ var report_list = new Array();
|
|
|
+ for ( var i =0;i<examples.length;i++){
|
|
|
+ tempExample = examples[i];
|
|
|
+ // reportTemp = new Object();
|
|
|
+ // reportTemp.report_index = tempExample.innerHTML;
|
|
|
+ report_list.push(str2number(tempExample.innerHTML));
|
|
|
+ }
|
|
|
+ temp.report_list = report_list
|
|
|
+ temp.origin_report_list = $('#fitlist'+ruleIndex).val();
|
|
|
+ // bianli biao
|
|
|
+ var myTable = document.getElementById("table"+ruleIndex) ; //
|
|
|
+ var rowNum = myTable.rows.length;
|
|
|
+ var tr;
|
|
|
+ var type;
|
|
|
+ var item_list = new Array();
|
|
|
+ var itemTemp ;
|
|
|
+ for(var i = 1;i<rowNum;i++){
|
|
|
+ itemTemp = new Object()
|
|
|
+ tr = myTable.rows[i];
|
|
|
+ type=tr.getAttribute("type");
|
|
|
+ itemTemp.index = (i-1);
|
|
|
+ itemTemp.is_required = true;
|
|
|
+ var options = new Array()
|
|
|
+ if(type=="singleCheck"){
|
|
|
+ var singleCheckTip = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ var singleCheckData = myTable.rows[i].cells[2].children[0].value;
|
|
|
+ itemTemp.description = singleCheckTip
|
|
|
+ // itemTemp.is_multiple ="0"
|
|
|
+ itemTemp.type="Multiple"
|
|
|
+ // var optionS = new Object();
|
|
|
+ // optionS.option = singleCheckData
|
|
|
+ itemTemp.originTip = singleCheckTip;
|
|
|
+ itemTemp.originData = singleCheckTip;
|
|
|
+ itemTemp.originType = "singleCheck"
|
|
|
+ options.push(singleCheckData)
|
|
|
+ }else if(type=="check"){
|
|
|
+ var checkTip = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ var checkData = myTable.rows[i].cells[2].children[0].value;
|
|
|
+ itemTemp.description = checkTip;
|
|
|
+ // itemTemp.is_multiple = "1"
|
|
|
+ itemTemp.type="Multiple"
|
|
|
+ itemTemp.originType = "multiple"
|
|
|
+ itemTemp.originTip = checkTip;
|
|
|
+ itemTemp.originData = checkData;
|
|
|
+ var optionC ;
|
|
|
+ var checkArr = checkData.split(';');
|
|
|
+ for( var checkJ = 0;checkJ<checkArr.length;checkJ++){
|
|
|
+ // optionC = new Object();
|
|
|
+ // optionC.option = checkArr[checkJ]
|
|
|
+ options.push(checkArr[checkJ])
|
|
|
+ }
|
|
|
+ }else if(type=="ratio"){
|
|
|
+ var ratioTip = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ var ratioData = myTable.rows[i].cells[2].children[0].value;
|
|
|
+ var ratioArr = ratioData.split(';');
|
|
|
+ itemTemp.description = ratioTip;
|
|
|
+ // itemTemp.is_multiple = "0"
|
|
|
+ itemTemp.type="Single"
|
|
|
+ itemTemp.originTip = ratioTip;
|
|
|
+ itemTemp.originData = ratioData;
|
|
|
+ var optionR ;
|
|
|
+ for( var ratioJ = 0;ratioJ<ratioArr.length;ratioJ++){
|
|
|
+ // optionR = new Object();
|
|
|
+ // optionR.option = ratioArr[ratioJ]
|
|
|
+ options.push(ratioArr[ratioJ])
|
|
|
+ }
|
|
|
+ }else if(type=="text"){
|
|
|
+ var textData = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ itemTemp.description = textData;
|
|
|
+ // itemTemp.is_multiple = "0"
|
|
|
+ itemTemp.type="Description"
|
|
|
+ itemTemp.originData = textData;
|
|
|
+ // var optionT = new Object();
|
|
|
+ // optionT.option = ""
|
|
|
+ // options.push("")
|
|
|
+
|
|
|
+ }else if( type == "file"){
|
|
|
+ var fileData = myTable.rows[i].cells[1].children[0].value;
|
|
|
+ itemTemp.description = fileData;
|
|
|
+ // itemTemp.is_multiple = "0"
|
|
|
+ itemTemp.type="File"
|
|
|
+ itemTemp.originData=fileData;
|
|
|
+ // var optionF = new Object();
|
|
|
+ // optionF.option = ""
|
|
|
+ // options.push("")
|
|
|
+ }
|
|
|
+ itemTemp.options= options
|
|
|
+ item_list.push(itemTemp)
|
|
|
+ }
|
|
|
+ temp.item_list=item_list
|
|
|
+ item_group_list.push(temp)
|
|
|
+ // console.log(JSON.stringify(temp))
|
|
|
+ })
|
|
|
+ data.item_group_list = item_group_list
|
|
|
+ data.report_list = getReportInfo()
|
|
|
+ // data.group_list = getDeliverInfo()
|
|
|
+ console.log(JSON.stringify(data));
|
|
|
+ // 提交
|
|
|
+
|
|
|
+ //check
|
|
|
+ // $.ajax({
|
|
|
+ // url: 'http://10.0.0.29:8090/Bug/api/extra/uploadJob',
|
|
|
+ // data: {
|
|
|
+ // 'jobJson': JSON.stringify(data)
|
|
|
+ // },
|
|
|
+ // type: 'POST',
|
|
|
+ // success: function (result) {
|
|
|
+ // var obj = eval('(' + result + ')');
|
|
|
+ // console.log(obj)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // return ;
|
|
|
+ // 发送请求
|
|
|
+ $.ajax({
|
|
|
+ url: 'http://47.99.140.117:9090/Bug/api/paper/updatePaper',
|
|
|
+ data:{
|
|
|
+ 'paperId':paperId,
|
|
|
+ 'paperJson':JSON.stringify(data)
|
|
|
+ },
|
|
|
+ type: 'POST',
|
|
|
+ success: function (result) {
|
|
|
+ // alert(result);
|
|
|
+ console.log(result);
|
|
|
+ var obj = eval('(' + result + ')');
|
|
|
+ console.log(obj)
|
|
|
+ console.log(obj["id"])
|
|
|
+ console.log(obj['status']);
|
|
|
+ if(obj['status'] == 'fail'){
|
|
|
+ $.notify({
|
|
|
+ // options
|
|
|
+ message: obj['message']
|
|
|
+ },{
|
|
|
+ // settings
|
|
|
+ delay: 100,
|
|
|
+ timer: 1000,
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ // success
|
|
|
+ var jobId = obj['paperId'];
|
|
|
+ if ( type == 1 ){
|
|
|
+ // var workid = getOneWorker();
|
|
|
+ // console.log("worke")
|
|
|
+ // console.log(workid)
|
|
|
+ window.open('http://47.99.140.117:9090/report/review/paper/'+paperId)
|
|
|
+ // window.open('http://47.99.140.117:9090/report/job/'+jobId+'/'+workid+'/0/1');
|
|
|
+ }else{
|
|
|
+ $.notify({
|
|
|
+ // options
|
|
|
+ message: '添加成功,paperid为'+jobId
|
|
|
+ },{
|
|
|
+ // settings
|
|
|
+ delay: 100,
|
|
|
+ timer: 3000,
|
|
|
+ type: 'success'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+showyu = function (){
|
|
|
+
|
|
|
+ generateJson(paperId,1)
|
|
|
+}
|
|
|
+
|
|
|
+savePaper = function(){
|
|
|
+
|
|
|
+ generateJson(paperId,0)
|
|
|
+}
|
|
|
+
|
|
|
+getReportInfo = function(){
|
|
|
+ var str = $('#reportInfo').val();
|
|
|
+ console.log(str)
|
|
|
+ var obj = eval('(' + str + ')');
|
|
|
+ // var tessst = new Object()
|
|
|
+ // tessst.reports = obj
|
|
|
+ console.log(JSON.stringify(obj))
|
|
|
+ return obj
|
|
|
+}
|
|
|
+
|
|
|
+getDeliverInfo = function () {
|
|
|
+ var str = $('#deliverInfo').val();
|
|
|
+ console.log(str)
|
|
|
+ var obj = eval('(' + str + ')');
|
|
|
+ // var tessst = new Object()
|
|
|
+ // tessst.reports = obj
|
|
|
+ console.log(JSON.stringify(obj))
|
|
|
+ return obj
|
|
|
+}
|
|
|
+
|
|
|
+changeJob = function () {
|
|
|
+ $('#modal-reload').modal('show');
|
|
|
+}
|
|
|
+
|
|
|
+reloadJob = function () {
|
|
|
+ var jobId = $('#jobid').val();
|
|
|
+ location.href = '/addTask?jobid='+jobid
|
|
|
+}
|
|
|
+
|
|
|
+getOneWorker = function () {
|
|
|
+ // var str = $('#deliverInfo').val();
|
|
|
+ // // console.log(str)
|
|
|
+ // var obj = eval('(' + str + ')');
|
|
|
+ // console.log(obj[0].worker_list[0])
|
|
|
+ // return obj[0].worker_list[0];
|
|
|
+ return 1
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+getCleanStr = function (str) {
|
|
|
+ var obj = eval('(' + str + ')');
|
|
|
+ var formattedStr = JSON.stringify(obj, null, 2);
|
|
|
+ return formattedStr;
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+function uploadFile( elementId) {
|
|
|
+ var obj = $('#'+elementId).get(0)
|
|
|
+ var file = obj.files[0];//获取文件流
|
|
|
+ var val = obj.value;
|
|
|
+ var suffix = val.substr(val.indexOf("."));
|
|
|
+ var storeAs = "auditPaper/" + timestamp() +getShortId()+ suffix;
|
|
|
+ // console.log(file.name + ' => ' + storeAs);
|
|
|
+ client.multipartUpload(storeAs, file).then(function (result) {
|
|
|
+ console.log('http://mooctest-site.oss-cn-shanghai.aliyuncs.com/'+storeAs)
|
|
|
+ $('#'+elementId).attr('value','http://mooctest-site.oss-cn-shanghai.aliyuncs.com/'+storeAs)
|
|
|
+ }).catch(function (err) {
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 生成文件名
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+function timestamp(){
|
|
|
+ var time = new Date();
|
|
|
+ var y = time.getFullYear();
|
|
|
+ var m = time.getMonth()+1;
|
|
|
+ var d = time.getDate();
|
|
|
+ var h = time.getHours();
|
|
|
+ var mm = time.getMinutes();
|
|
|
+ var s = time.getSeconds();
|
|
|
+ console.log(y);
|
|
|
+ return ""+y+add0(m)+add0(d)+"/"+add0(h)+add0(mm)+add0(s);
|
|
|
+}
|
|
|
+function add0(m){
|
|
|
+ return m<10?'0'+m : m;
|
|
|
+}
|
|
|
+
|
|
|
+function getShortId () {
|
|
|
+ if (paperId==null){
|
|
|
+ return "0000"
|
|
|
+ }else if (paperId.length < 4 ){
|
|
|
+ return paperId
|
|
|
+ }else{
|
|
|
+ return paperId.substring(paperId.length-4, paperId.length);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+setShowRule = function (str) {
|
|
|
+ var obj = eval('(' + str + ')');
|
|
|
+ console.log(obj)
|
|
|
+ var body = $('#showReport');
|
|
|
+ var temp ;
|
|
|
+ for (var i = 0 ; i < obj.length; i++){
|
|
|
+ temp = obj[i]
|
|
|
+ body.append(showSingleRule(temp))
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+showSingleRule = function ( obj ){
|
|
|
+ return '<div class="morris-hover morris-default-style col-lg-3 col-sm-6 col-md-4" >\n' +
|
|
|
+ ' <div class="callout callout-my">\n' +
|
|
|
+ ' <p><span class="show-report-left">index:</span>'+getShortDes(obj['index'],20)+'</p>\n' +
|
|
|
+ ' <p><span class="show-report-left">name:</span>'+getShortDes(obj['name'],20)+'</p>\n' +
|
|
|
+ ' <p><span class="show-report-left">file_url:</span>'+getShortDes(obj['file_url'],20)+'</p>\n' +
|
|
|
+ ' <p><span class="show-report-left">img_url:</span>'+getShortDes(obj['img_url'],20)+'</p>\n' +
|
|
|
+ ' <p><span class="show-report-left">original_id:</span>'+getShortDes(obj['original_id'],20)+'</p>\n' +
|
|
|
+ ' <p><span class="show-report-left">description:</span>'+getShortDes(obj['description'],60)+'</p>\n' +
|
|
|
+ ' </div>\n' +
|
|
|
+ ' </div>'
|
|
|
+}
|
|
|
+
|
|
|
+getShortDes = function (test, length ) {
|
|
|
+ if(test.length>length+1){
|
|
|
+ return test.substr(0,length)+'...';
|
|
|
+ }
|
|
|
+ return test;
|
|
|
+}
|
|
|
+/*]]>*/
|