1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783 |
- {extend name="public/layout" /} {block name="title"}创建试卷{/block} {block name="body"}
- <style type="text/css">
- html,
- body {
- display: block;
- width: 100%;
- background-color: #fff;
- }
- .layui-fluid {
- display: block;
- border-radius: 5px;
- background-color: #ffffff;
- padding: 15px 30px;
- }
- .layui-input-inline {
- line-height: 38px;
- }
- .layui-input-inline input {
- margin-right: 10px;
- }
- .layui-form-item .layui-input-inline {}
- .input-indent-box-small {
- margin-left: 10px;
- }
- .layui-tab {
- padding: 15px;
- height: 100%;
- }
- .layui-table-view .layui-table th,
- .layui-table-view .layui-table td {
- text-align: center;
- border-color: #B6CADE;
- }
- .layui-table thead tr,
- .layui-table-header {
- background-color: #D8E6F1;
- }
- .upload-img .area i {
- font-size: 50px;
- color: #009688;
- }
- /*///*/
- .text-detail>span {
- font-size: 40px;
- }
- .imageDiv div {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0px;
- background-color: #e6e6e600;
- }
- .imageDiv div i {
- display: none;
- font-size: 31px;
- position: absolute;
- top: 37%;
- left: 40%;
- }
- .imageDiv div:hover {
- background-color: #e6e6e680;
- }
- .imageDiv div:hover i {
- display: block;
- cursor: pointer;
- }
- .layui-input-inline.input-longer-inline {
- width: 290px;
- }
- .layui-item-inline {
- width: 290px;
- display: inline;
- margin-left: 20px;
- margin-bottom: 5px;
- }
- .submit-btn {
- text-align: right;
- }
- .select_items {
- display: block;
- float: left;
- margin-left: 10px;
- }
- .layui-input-answer {
- width: 330px;
- }
- .layui-tab-title {
- position: relative;
- left: 0;
- height: 40px;
- white-space: nowrap;
- font-size: 0;
- border-bottom-width: 1px;
- border-bottom-style: solid;
- transition: all .2s;
- -webkit-transition: all .2s;
- border-color: #e6e6e6;
- color: #666;
- background-color: #f2f2f2;
- margin-bottom: 2%;
- }
- .layui-tab-title li {
- display: inline-block;
- vertical-align: middle;
- font-size: 14px;
- transition: all .2s;
- -webkit-transition: all .2s;
- position: relative;
- line-height: 40px;
- width: 25%;
- text-align: center;
- cursor: pointer;
- box-sizing: border-box;
- }
- .layui-tab-title li:hover {
- color: #249EFB;
- }
- .layui-tab-title .layui-this:hover {
- color: #fff;
- }
- .layui-tab-title .layui-this {
- color: #000;
- border-bottom-color: transparent;
- background-color: #249EFB;
- color: #FFFFFF;
- }
- .layui-tab-title .layui-this:after {
- position: absolute;
- left: 0;
- top: 0;
- content: '';
- width: 100%;
- height: 41px;
- border-width: 1px;
- border-style: solid;
- border-color: #e6e6e6;
- border-bottom-color: #fff;
- border-radius: 2px 2px 0 0;
- box-sizing: border-box;
- pointer-events: none;
- }
- .cancel,
- .cancel:hover {
- border: 1px solid #249EFB;
- background-color: #fff;
- color: #249EFB;
- }
- .layui-btn {
- padding: 0px 20px;
- }
- .submit-btn {
- text-align: right;
- }
- .select_items {
- display: block;
- float: left;
- margin-left: 10px;
- }
- .layui-input-answer {
- width: 330px;
- }
- @media screen and (min-width: 992px) {
- .layui-container {
- width: 900px;
- }
- }
- .layui-titlebox {
- position: relative;
- left: 0;
- height: 40px;
- white-space: nowrap;
- font-size: 0;
- border-bottom-width: 1px;
- border-bottom-style: solid;
- transition: all .2s;
- -webkit-transition: all .2s;
- border-color: #e6e6e6;
- color: #666;
- background-color: #f2f2f2;
- margin-bottom: 2%;
- }
- .layui-titlebox li {
- display: inline-block;
- vertical-align: middle;
- font-size: 14px;
- transition: all .2s;
- -webkit-transition: all .2s;
- position: relative;
- line-height: 40px;
- width: 25%;
- text-align: center;
- cursor: pointer;
- box-sizing: border-box;
- }
- .layui-titlebox .layui-this {
- color: #000;
- border-bottom-color: transparent;
- background-color: #249EFB;
- color: #FFFFFF;
- }
- .layui-titlebox .layui-this:after {
- position: absolute;
- left: 0;
- top: 0;
- content: '';
- width: 100%;
- height: 41px;
- border-width: 1px;
- border-style: solid;
- border-color: #e6e6e6;
- border-bottom-color: #fff;
- border-radius: 2px 2px 0 0;
- box-sizing: border-box;
- pointer-events: none;
- }
- .search_input {
- width: 38% !important;
- margin-right: 1%;
- float: left;
- height: 38px;
- border: 1px solid #e6e6e6;
- overflow: hidden;
- }
- .search_inputs {
- width: 32% !important;
- margin-right: 1%;
- float: left;
- height: 38px;
- /*border:1px solid #e6e6e6;*/
- overflow: hidden;
- padding-top: 10px;
- }
- .search_input .layui-select {
- width: 100%;
- border: 0 !important;
- }
- .wright {
- float: right !important;
- }
- .search_input input {
- border: 0;
- width: 100%;
- display: block;
- height: 100%;
- padding-left: 10px;
- }
- .wright_btn {
- float: right;
- width: 41.666667%;
- overflow: hidden;
- }
- .wleft_btn {
- width: 41.666667%;
- float: left;
- }
- .wright_btn div {
- float: left;
- }
- .radio-style {
- transform: scale(1.2, 1.2);
- margin: 0px 10px;
- }
- @media only screen and (min-width: 900px) {
- .layui-container,
- .layui-form-item .tant {
- width: 100% !important;
- }
- .layui-col-md5 {
- width: 41.66666667%;
- float: left;
- }
- .layui-col-md2 {
- width: 16.66666667%;
- float: left;
- }
- }
- .demo-transfer {
- width: 100%;
- }
- .layui-btn {
- padding: 0px 20px;
- }
- .layui-select-title {
- height: 38px;
- }
- .flex-row {
- display: flex;
- }
- .leftScore {
- width: 300px;
- }
- .rightScroe {
- width: calc(100% - 300px);
- box-sizing: border-box;
- padding-left: 20px;
- }
- .leftjige {
- width: 100%;
- display: flex;
- justify-content: space-between;
- }
- .danxuantitle {
- width: 100%;
- height: 30px;
- line-height: 30px;
- display: flex;
- justify-content: space-between;
- }
- .cleartext,
- .stow {
- color: #249EFB;
- cursor: pointer;
- }
- .itemScore {
- width: 100%;
- height: 30px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- }
- .requireditag {
- font-style: normal;
- color: red;
- }
- .leftdanxuan {
- margin-top: 15px;
- border-top: 1px solid #ccc;
- padding-top: 10px;
- }
- .righttitle {
- width: 100%;
- height: 30px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- border-bottom: 2px solid #f5f5f5;
- margin-bottom: 10px;
- }
- .dxtitle {
- width: 100%;
- height: 30px;
- display: flex;
- }
- .dxtitle>span {
- flex: 1;
- }
- .dxflexcenter {
- display: flex;
- justify-content: center;
- }
- .dxflex-end {
- flex: 1;
- display: flex;
- justify-content: flex-end;
- }
- .dxflex-end>span {
- color: #249EFB;
- }
- .pl15 {
- padding-left: 30px;
- }
- .pl15>div {
- line-height: 25px;
- }
- .itemRightline {
- border-bottom: 1px solid #f2f2f2;
- padding-bottom: 10px;
- margin-bottom: 15px;
- }
- .flex {
- display: flex;
- }
- .layui-icon-ok:before {
- transform: scale(0.5, 0.5) !important;
- }
- .fixed40 {
- position: fixed;
- bottom: 60px;
- left: 50%;
- transform: translateX(-50%);
- }
- </style>
- <body>
- <div class="layui-fluid">
- <form class="layui-form" enctype="multipart/form-data" lay-filter="layuiadmin-paper-form">
- <div class="layui-tab">
- <ul class="layui-tab-title">
- <li data-index="0" class="layui-this">创建试卷</li>
- <li data-index="1">选择试题</li>
- <li data-index="2">设置分值</li>
- <li data-index="3">发布考试</li>
- </ul>
- <div class="layui-tab-content">
- <!-- 创建试卷 -->
- <div class="layui-tab-item layui-show">
- <div class="layui-form-item">
- <label class="layui-form-label"><span style="color:red;">*</span>试卷名称:</label>
- <div class="layui-input-block">
- <input class="layui-input layui-input-inline input-longer-inline" type="text"
- name="name" value="" placeholder="试卷名称" lay-verify="required" title="试卷名称"
- autocomplete="off" id="nameElement">
- </div>
- </div>
- <div class="layui-form-item layui-hide">
- <label for="for_newbie" class="layui-form-label"><span
- style="color:red;">*</span>类型:</label>
- <div class="layui-input-block">
- <div class="layui-input-inline" style="width:100%;max-width: 205px;margin-left: 0;"
- required>
- <select id="for_newbie" name="for_newbie">
- <option value="">--请选择类型--</option>
- <option value="0" selected>课程考核</option>
- <option value="1">新兵考核</option>
- </select>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">备注:</label>
- <div class="layui-input-block ">
- <input class="layui-input" type="text" name="desc" value="" title="备注"
- autocomplete="off">
- </div>
- </div>
- <div class="layui-form-item submit-btn" style="text-align: center;margin-top: 30px;">
- <input class="layui-btn " type="button" id="firstStep" value="下一步">
- <input class="layui-btn cancel" type="button" lay-filter="cancel1" id="cancel1" value="取消">
- </div>
- </div>
- <!-- 选择试题 -->
- <div class="layui-tab-item">
- <div class="layui-form-item" style="margin-left: 14px;width:97%;">
- <div class="wleft_btn">
- <div class="">
- <div class="search_input">
- <input class="input-longer-inline" type="text" name="keyword" id="keyword"
- value="" placeholder="请输入题干" title="请输入题干" autocomplete="off">
- </div>
- <div class="search_input layui-form" style="overflow: unset;">
- <select name="cate" id="cate" class="layui-select" lay-verify='' lay-search>
- <option value="">请选择分类</option>
- {volist name="data.cate" id="t"}
- <option value="{$t}">{$t}</option>
- {/volist}
- </select>
- </div>
- <div class="" style="float:right;">
- <button type="button" class="layui-btn" id="onSearch">搜索</button>
- </div>
- <div style="clear: both;"></div>
- </div>
- <div style="display: flex;align-items: center;justify-content: flex-start;width: 100%;">
- <div class="layui-input-block"
- style="display: flex;align-items: center;margin: 10px 10px 0px 0px;">
- <input type="checkbox" lay-skin="primary" lay-filter="radiosfilter"
- name="radios" id="single" class="radio-style" lay-filter="ChoiceRadio"
- value="单选" title="单选">
- <!-- <label for="single"> 单选 </label> -->
- <input type="checkbox" lay-skin="primary" lay-filter="radiosfilter"
- name="radios" value="多选" class="radio-style" lay-filter="ChoiceRadio"
- id="multi" title="多选">
- <!-- <label for="multi"> 多选 </label> -->
- <input type="checkbox" lay-skin="primary" lay-filter="radiosfilter"
- name="radios" value="判断" class="radio-style" lay-filter="ChoiceRadio"
- id="panduan" title="判断">
- <!-- <label for="panduan"> 判断 </label> -->
- <input type="checkbox" lay-skin="primary" lay-filter="radiosfilter"
- name="radios" value="简答" class="radio-style" lay-filter="ChoiceRadio"
- id="answer" title="简答">
- <!-- <label for="answer"> 简答 </label> -->
- </div>
- </div>
- </div>
- <div class="wright_btn">
- <div class="search_inputs">
- <span>已选择<span id="count">0</span>题</span>
- </div>
- <div class="wright">
- <button type="button" class="layui-btn" id="clean">清除所有</button>
- </div>
- </div>
- <div class="wright_btn" style="font-size: 16px;line-height: 44px;">试卷试题</div>
- </div>
- <div class="layui-form-item">
- <div class="layui-input-inline tant" style="width: 100%;">
- <div id="transfer-questions" class="demo-transfer"></div>
- </div>
- </div>
- <div class="layui-form-item submit-btn">
- <div class="layui-form-item submit-btn" style="text-align: center;">
- <input class="layui-btn " type="button" id="returnFirst" value="上一步">
- <input class="layui-btn " type="button" id="secondStep" value="下一步">
- </div>
- </div>
- </div>
- <!-- 设置分值 -->
- <div class="layui-tab-item">
- <div class="flex-row">
- <div class="leftScore">
- <div class="leftjige">
- <div>总分:<input type="text" readonly id="total_score" name="total_score" value="100"
- style="width: 50px;border:none;outline: none;"></div>
- <div>及格设置:<input type="number" id="passExam" name="base_score" style="width: 80px;"
- min="0"></div>
- </div>
- <div id="scoreElement1"></div>
- </div>
- <div class="rightScroe">
- </div>
- </div>
- <div class="layui-form-item submit-btn fixed40">
- <div class="layui-form-item submit-btn" style="text-align: center;">
- <input class="layui-btn " type="button" id="returnSecond" value="上一步">
- <input class="layui-btn " type="button" id="threwStep" value="下一步">
- </div>
- </div>
- </div>
- <!-- 发布考试 -->
- <div class="layui-tab-item">
- <div class="layui-form-item" id="range">
- <label class="layui-form-label"><span style="color: red;">*</span>考试人员</label>
- <div class="layui-input-block">
- <div id="range_person"></div>
- </div>
- </div>
- <div class="layui-form-item layui-hide">
- <label class="layui-form-label"><span style="color:red;">*</span>考试对象:</label>
- <div class="layui-input-inline" style="width: 380px">
- <input type="radio" name="target_group" lay-filter="targetGroup" value="全员" title="全员"
- checked>
- <input type="radio" name="target_group" lay-filter="targetGroup" value="新兵" title="新兵">
- <input type="radio" name="target_group" lay-filter="targetGroup" value="老兵" title="老兵">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"><span style="color:red;">*</span>考试时长(分钟):</label>
- <div class="layui-input-block">
- <input class="layui-input layui-input-inline " type="number" id="duringtime"
- name="duringtime" value="45" placeholder="考试时长 比如:45" title="及格分数"
- autocomplete="off" lay-verify="required">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"><span style="color:red;">*</span>考试时间:</label>
- <div class="layui-input-inline ">
- <input type="text" class="layui-input layui-input-inline" name="starttime"
- id="starttime" placeholder="开始时间" autocomplete="off" lay-verify="required"
- value="">
- <span style="margin-right: 10px">至</span>
- <input type="text" class="layui-input layui-input-inline" name="endtime" id="endtime"
- placeholder="结束时间" autocomplete="off" lay-verify="required" value="">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">审核方式:</label>
- <div class="layui-input-block ">
- <input type="radio" name="checkway" lay-filter="checkway" value="sys" title="系统审核"
- checked>
- <input type="radio" name="checkway" lay-filter="checkway" value="employee" title="人工审核">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">状态:</label>
- <div class="layui-input-block ">
- <input type="radio" name="state" lay-filter="state" value="0" title="保存草稿">
- <input type="radio" name="state" lay-filter="state" value="1" title="正式发布" checked>
- </div>
- </div>
- <div class="layui-form-item layui-hide" id="person">
- <label class="layui-form-label"><span style="color: red;">*</span>审核人员</label>
- <div class="layui-input-block">
- <div id="label"></div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">批卷是否展示真实姓名:</label>
- <div class="layui-input-block ">
- <input type="radio" name="show_real_name" lay-filter="show_real_name" value="0" title="否" checked>
- <input type="radio" name="show_real_name" lay-filter="show_real_name" value="1" title="是" >
- </div>
- </div>
- <div class="layui-form-item submit-btn" style="text-align: center;">
- <input class="layui-btn " type="button" lay-filter="" id="returnThrew" value="上一步">
- <input class="layui-btn " type="button" lay-submit lay-filter="layuiadmin-publish-submit"
- id="layuiadmin-publish-submit" value="保存">
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- </body>
- {/block}
- {block name="js"}
- <script src="__STATIC__/layui/layui/layui.js"></script>
- <script src="__STATIC__/layui/layui/lay/modules/xm-select.js" type="text/javascript" charset="utf-8"></script>
- <script>
- layui.config({
- base: '__LAYUI__/',
- urlbase: '/sys'
- }).extend({
- index: 'lib/index' //主入口模块
- }).use(['index', 'table', 'layedit', 'laydate', 'transfer'], function () {
- var $ = layui.$,
- layedit = layui.layedit,
- laydate = layui.laydate,
- transfer = layui.transfer,
- form = layui.form,
- allQuestionData = {},
- active = {},
- tb1 = null;
- $('.cancel').click(function () {
- var index = parent.layer.getFrameIndex(window.name);
- parent.layer.close(index);
- })
- //------------------------------选择试题-------------------------
- var data1 = [];
- getQuestionFunc();
- function getQuestionFunc() {
- $.ajax({
- url: '{:url("exam/getExamQuestion")}',
- type: 'post',
- data: {},
- success: function (res) {
- if (res.code == 0) {
- data1 = res.data;
- }
- }
- });
- }
- var datastr2 = '{:$data.data2}';
- var data2 = JSON.parse(datastr2);
- //表格列
- var cols = [
- { type: 'checkbox', fixed: 'left', },
- { field: 'type', title: '题型', },
- { field: 'cate', title: '分类' },
- { field: 'ask', title: '题干' },
- ];
- //表格配置文件
- var tabConfig = { 'page': true, 'limits': [10, 50, 100], 'height': 400 }
- $('.layui-tab-title li').click(function () {
- let index = $(this).prop('dataset').index;
- if (index == 1||index == 2||index == 3) {
- setTimeout(() => {
- tb1 = transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [data1, data2],//[左表数据,右表数据[非必填]]
- tabConfig: tabConfig, //表格配置项 支持layui数据表格所有配置
- })
- }, 500)
- }
- })
- $('#firstStep').click(function () {
- let val = $('#nameElement').val().trim();
- if (val) {
- $('.layui-tab-title').children().eq(1).addClass('layui-this').siblings().removeClass("layui-this");
- $('.layui-tab-item').eq(1).addClass('layui-show').siblings().removeClass("layui-show");
- setTimeout(() => {
- tb1 = transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [data1, data2],//[左表数据,右表数据[非必填]]
- tabConfig: tabConfig, //表格配置项 支持layui数据表格所有配置
- })
- }, 500)
- } else {
- layer.msg('请填写试卷名称', {
- anim: 6
- , time: 2000
- });
- }
- })
- $('#returnFirst').click(function () {
- $('.layui-tab-title').children().eq(0).addClass('layui-this').siblings().removeClass("layui-this");
- $('.layui-tab-item').eq(0).addClass('layui-show').siblings().removeClass("layui-show");
- })
- $('#secondStep').click(function () {
- var tranferdata = transfer.get(tb1, 'right', 'id');
- if (Array.isArray(tranferdata) && !tranferdata.length) {
- layer.msg('请选择试题', {
- anim: 6
- , time: 2000
- });
- return;
- }
- $('.layui-tab-title').children().eq(2).addClass('layui-this').siblings().removeClass("layui-this");
- $('.layui-tab-item').eq(2).addClass('layui-show').siblings().removeClass("layui-show");
- })
- $('#returnSecond').click(function () {
- $('.layui-tab-title').children().eq(1).addClass('layui-this').siblings().removeClass("layui-this");
- $('.layui-tab-item').eq(1).addClass('layui-show').siblings().removeClass("layui-show");
- setTimeout(() => {
- tb1 = transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [data1, data2],//[左表数据,右表数据[非必填]]
- tabConfig: tabConfig, //表格配置项 支持layui数据表格所有配置
- })
- }, 500)
- })
- $('#threwStep').click(function() {
- var tranferdata = transfer.get(tb1, 'right', 'id');
- if (Array.isArray(tranferdata) && !tranferdata.length) {
- layer.msg('请选择试题', {
- anim: 6
- , time: 2000
- });
- return;
- }
-
- for(var i=0;i<$('.itemRightline').length;i++){
- if($('.itemRightline').eq(i).find('input').val()){}else{
- layer.msg('分数不能为空', {
- anim: 6
- , time: 2000
- });
- return;
- }
- }
-
- var base_score = Number($('#passExam').val());
- var sum_score = Number($('#total_score').val());
- if (sum_score > 100) {
- layer.msg('总分不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- if (base_score > sum_score) {
- layer.msg('及格分不能大过总分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var single_choice = $('#single_choice').val() ? Number($('#single_choice').val()) : 0;
- if (single_choice > 100) {
- layer.msg('单选题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var multiple_selection = $('#multiple_selection').val() ? Number($('#multiple_selection').val()) : 0;
- if (multiple_selection > 100) {
- layer.msg('多选题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var multiple_judge = $('#multiple_judge').val() ? Number($('#multiple_judge').val()) : 0;
- if (multiple_judge > 100) {
- layer.msg('判断题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var short_answer = $('#short_answer').val() ? Number($('#short_answer').val()) : 0;
- if (short_answer > 100) {
- layer.msg('简答题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- $('.layui-tab-title').children().eq(3).addClass('layui-this').siblings().removeClass("layui-this");
- $('.layui-tab-item').eq(3).addClass('layui-show').siblings().removeClass("layui-show");
- })
- $('#returnThrew').click(function() {
- $('.layui-tab-title').children().eq(2).addClass('layui-this').siblings().removeClass("layui-this");
- $('.layui-tab-item').eq(2).addClass('layui-show').siblings().removeClass("layui-show");
- })
- $('.layui-row .layui-col-md5').addClass('layui-col-xs5');
- $('.layui-row .layui-col-md5').addClass('layui-col-sm5');
- $('.layui-row .layui-col-md2').addClass('layui-col-xs2');
- $('.layui-row .layui-col-md2').addClass('layui-col-sm2');
- $('.layui-btn-disabled').attr('type', 'button');
- $(document).on('click', "#left-btn-1", function () {
- getlist_r();
- });
- $(document).on('click', "#right-btn-1", function () {
- getlist_r();
- });
- function getlist_r() {
- $('.layui-btn-disabled').attr('type', 'button');
- setTimeout(function () {
- var tranferdata = transfer.get(tb1, 'right', 'id');
- var listarr = tranferdata.split(',');
- var counts = [];
- for (var i in listarr) {
- counts.push(listarr[i]);
- }
- $('#count').html(counts.length);
- getScorelist(tranferdata)
- }, 300)
- }
- $('.radio-style').click(function () {
- searchkey();
- })
- //搜索题目
- $('#onSearch').click(function () {
- searchkey();
- });
- form.on('checkbox(radiosfilter)', function (data) {
- searchkey();
- });
- function getScorelist(ids) {
- $.ajax({
- url: '{:url("exam/paperscore")}',
- type: 'post',
- data: { question_ids: ids },
- success: function (res) {
- allQuestionData = res.data;
- renderSetRender(res.data);
- renderQHtml(res.data);
- setQQArr()
- }
- });
- }
- function renderSetRender(data) {
- let html1 = '';
- let html2 = '';
- let html3 = '';
- let html4 = '';
- if (data.type0.count > 0) {
- html1 = `<div class="leftdanxuan">
- <div class="danxuantitle">
- <strong>单选题</strong>
- <span class="cleartext" id="singleEl">清空</span>
- </div>
- <div class="itemScore">
- <span>题目数量</span>
- <span><span id="danxuan_count">${data.type0.count}</span>题</span>
- </div>
- <div class="itemScore">
- <span>合计分值</span>
- <span id="danxuan_total_fen">${data.type0.score_sum}</span>
- </div>
- <div class="itemScore">
- <span>分值占比</span>
- <span id="danxuan_grawth">${data.type0.grawth}</span>
- </div>
- <div class="itemScore" style="display:none;">
- <span><i class="requireditag">*</i>每题分数</span>
- <div>
- <input type="number" value="${data.type0.score ? data.type0.score : 1}" name="single" min="0" id="single_choice" style="width: 60px;">
- <span>分</span>
- </div>
- </div>
- </div>`
- }
- if (data.type1.count > 0) {
- html2 = `<div class="leftdanxuan">
- <div class="danxuantitle">
- <strong>多选题</strong>
- <span class="cleartext" id="multiEl">清空</span>
- </div>
- <div class="itemScore">
- <span>题目数量</span>
- <span><span id="duoxuan_count">${data.type1.count}</span>题</span>
- </div>
- <div class="itemScore">
- <span>合计分值</span>
- <span id="duoxuan_total_fen">${data.type1.score_sum}</span>
- </div>
- <div class="itemScore">
- <span>分值占比</span>
- <span id="duoxuan_grawth">${data.type1.grawth}</span>
- </div>
- <div class="itemScore" style="display:none;">
- <span><i class="requireditag">*</i>每题分数</span>
- <div>
- <input type="number" name="multi" id="multiple_selection" value="${data.type1.score ? data.type1.score : 2}" min="0" style="width: 60px;">
- <span>分</span>
- </div>
- </div>
- </div>`
- }
- if (data.type2.count > 0) {
- html3 = `<div class="leftdanxuan">
- <div class="danxuantitle">
- <strong>判断题</strong>
- <span class="cleartext" id="judgeEl">清空</span>
- </div>
- <div class="itemScore">
- <span>题目数量</span>
- <span><span id="panduan_count">${data.type2.count}</span>题</span>
- </div>
- <div class="itemScore">
- <span>合计分值</span>
- <span id="panduan_total_fen">${data.type2.score_sum}</span>
- </div>
- <div class="itemScore">
- <span>分值占比</span>
- <span id="panduan_grawth">${data.type2.grawth}</span>
- </div>
- <div class="itemScore" style="display:none;">
- <span><i class="requireditag">*</i>每题分数</span>
- <div>
- <input type="number" name="judge" id="multiple_judge" value="${data.type2.score ? data.type2.score : 5}" min="0" style="width: 60px;">
- <span>分</span>
- </div>
- </div>
- </div>`
- }
- if (data.type3.count > 0) {
- html4 = `<div class="leftdanxuan">
- <div class="danxuantitle">
- <strong>简答题</strong>
- <span class="cleartext" id="answerEl">清空</span>
- </div>
- <div class="itemScore">
- <span>题目数量</span>
- <span><span id="jianda_count">${data.type3.count}</span>题</span>
- </div>
- <div class="itemScore">
- <span>合计分值</span>
- <span id="jianda_total_fen">${data.type3.score_sum}</span>
- </div>
- <div class="itemScore">
- <span>分值占比</span>
- <span id="jianda_grawth">${data.type3.grawth}</span>
- </div>
- <div class="itemScore" style="display:none;">
- <span><i class="requireditag">*</i>每题分数</span>
- <div>
- <input type="number" name="answer" id="short_answer" value="${data.type3.score ? data.type3.score : 10}" min="0" style="width: 60px;">
- <span>分</span>
- </div>
- </div>
- </div>`
- }
- $('#total_score').val(data.total_score);
- $('#passExam').val(data.base_score);
- $('#scoreElement1').html(`${html1}${html2}${html3}${html4}`);
- var danxuan_fen = 0;
- var duoxuan_fen = 0;
- var panduan_fen = 0;
- var jianda_fen = 0;
- setTimeout(() => {
- active = {
- totalscore: function (type, totals) {
- //数量
- var danxuan_count = $('#danxuan_count').html() ? Number($('#danxuan_count').html()) : 0;
- var duoxuan_count = $('#duoxuan_count').html() ? Number($('#duoxuan_count').html()) : 0;
- var panduan_count = $('#panduan_count').html() ? Number($('#panduan_count').html()) : 0;
- var jianda_count = $('#jianda_count').html() ? Number($('#jianda_count').html()) : 0;
- //分数
- danxuan_fen = 0;
- for(var i=1;i<$("input[name='single']").length;i++){
- danxuan_fen += $("input[name='single']").eq(i).val() ? Number($("input[name='single']").eq(i).val()) : 0;
- }
-
- duoxuan_fen = 0;
- for(var i=1;i<$("input[name='multi']").length;i++){
- duoxuan_fen += $("input[name='multi']").eq(i).val() ? Number($("input[name='multi']").eq(i).val()) : 0;
- }
-
-
- panduan_fen = 0;
- for(var i=1;i<$("input[name='judge']").length;i++){
- panduan_fen += $("input[name='judge']").eq(i).val() ? Number($("input[name='judge']").eq(i).val()) : 0;
- }
-
-
- jianda_fen = 0;
- for(var i=1;i<$("input[name='answer']").length;i++){
- jianda_fen += $("input[name='answer']").eq(i).val() ? Number($("input[name='answer']").eq(i).val()) : 0;
- }
-
- var sum = danxuan_fen + duoxuan_fen + panduan_fen + jianda_fen;
- //分值占比
- var danxuan_total1 = danxuan_fen;
- var grawth1 = sum == 0 ? '0%' : (danxuan_total1 / sum * 100).toFixed(2) + '%';
- if ($('#danxuan_grawth')) {
- $('#danxuan_grawth').html(grawth1);
- }
- if ($('#danxuan_total_fen')) {
- $('#danxuan_total_fen').html(danxuan_total1 + '分');
- }
- var duoxuan_total2 = duoxuan_fen;
- var grawth2 = sum == 0 ? '0%' : (duoxuan_total2 / sum * 100).toFixed(2) + '%';
- if ($('#duoxuan_grawth')) {
- $('#duoxuan_grawth').html(grawth2);
- }
- if ($('#duoxuan_total_fen')) {
- $('#duoxuan_total_fen').html(duoxuan_total2 + '分');
- }
- var panduan_total3 = panduan_fen;
- var grawth3 = sum == 0 ? '0%' : (panduan_total3 / sum * 100).toFixed(2) + '%';
- if ($('#panduan_grawth')) {
- $('#panduan_grawth').html(grawth3);
- }
- if ($('#panduan_total_fen')) {
- $('#panduan_total_fen').html(panduan_total3 + '分');
- }
-
- var jianda_total4 = jianda_fen;
- var grawth4 = sum == 0 ? '0%' : (jianda_total4 / sum * 100).toFixed(2) + '%';
- if ($('#jianda_grawth')) {
- $('#jianda_grawth').html(grawth4);
- }
- if ($('#jianda_total_fen')) {
- $('#jianda_total_fen').html(jianda_total4 + '分');
- }
- $('#total_score').val(sum);
- var passExam = Math.round(sum * 0.6);
- if (totals == 999999999 && allQuestionData.base_score <= 0) {
- $('#passExam').val(passExam);
- } else if (totals != 999999999) {
- $('#passExam').val(passExam);
- }
- }
- };
- setTimeout(() => {
- active.totalscore('single', 999999999);
- form.render();
- }, 800);
- //清空输入框分值
- $('#singleEl').click(function () {
- $("input[name='single']").val('');
- var danxuan_count = Number($('#danxuan_count').html());
- var danxuan_fen = Number($("input[name='single']").val());
- var total_fen = danxuan_count * danxuan_fen;
- active.totalscore('single', total_fen);
- });
- $('#multiEl').click(function () {
- $("input[name='multi']").val('');
- var duoxuan_count = Number($('#duoxuan_count').html());
- var duoxuan_fen = Number($("input[name='multi']").val());
- var total_fen = duoxuan_count * duoxuan_fen;
- active.totalscore('multi', total_fen);
- });
- $('#judgeEl').click(function () {
- $("input[name='judge']").val('');
- var panduan_count = Number($('#panduan_count').html());
- var panduan_fen = Number($("input[name='judge']").val());
- var total_fen = panduan_count * panduan_fen;
- active.totalscore('judge', total_fen);
- });
- $('#answerEl').click(function () {
- $("input[name='answer']").val('');
- var jianda_count = Number($('#jianda_count').html());
- var jianda_fen = Number($("input[name='answer']").val());
- var total_fen = jianda_count * jianda_fen;
- active.totalscore('answer', total_fen);
- });
- }, 500)
- }
- function renderQHtml(data) {
- let html1 = '', html2 = '', html3 = '', html4 = '';
- if (data.type0.questions.length > 0) {
- html1 = `<div class="rightItem">
- <div class="righttitle">
- <strong>单选题(${data.type0.questions.length})</strong>
- <span class="stow stowdx">收起</span>
- </div>
- <div class="dxrefEle">
- ${data.type0.questions.map((item, index) => {
- return `<div class="itemRightline">
- <div class="dxtitle">
- <span>题序${index + 1}</span>
- <span class="dxflexcenter danxuanEle" style="display:none">1分</span>
- <div>
- <input class="inputText" type="number" data-id="${item.id}" name="single" id="" value="${data.type0.score ? data.type0.score : 1}" min="1" max='100' style="width: 60px;">
- <span>分</span>
- </div>
- <div class="dxflex-end">
- <span data-type="type0" data-index="${index}" class="delItem">删除</span>
- </div>
- </div>
- <div>题干: ${item.ask}</div>
- <div class="pl15">
- ${item.content.map((citem, i) => {
- return `<div>${citem.title}:${citem.content}</div>`
- }).join('')}
- </div>
- <div>答案:${item.answer}</div>
- </div>`;
- }).join('')}
- </div>
- </div>`
- }
- if (data.type1.questions.length > 0) {
- html2 = `<div class="rightItem">
- <div class="righttitle">
- <strong>多选题(${data.type1.questions.length})</strong>
- <span class="stow stowMore">收起</span>
- </div>
- <div class="morerefele">
- ${data.type1.questions.map((item, index) => {
- return `<div class="itemRightline">
- <div class="dxtitle">
- <span>题序${index + 1}</span>
- <span class="dxflexcenter duoxuanEle" style="display:none">2分</span>
- <div>
- <input class="inputText" type="number" data-id="${item.id}" name="multi" id="" value="${data.type1.score ? data.type1.score : 2}" min="1" max='100' style="width: 60px;">
- <span>分</span>
- </div>
- <div class="dxflex-end">
- <span data-type="type1" data-index="${index}" class="delItem">删除</span>
- </div>
- </div>
- <div>题干: ${item.ask}</div>
- <div class="pl15">
- ${item.content.map((citem, i) => {
- return `<div>${citem.title}:${citem.content}</div>`
- }).join('')}
- </div>
- <div>答案:${item.answer}</div>
- </div>`;
- }).join('')}
- </div>
- </div>`
- }
- if (data.type2.questions.length > 0) {
- html3 = `<div class="rightItem">
- <div class="righttitle">
- <strong>判断题(${data.type2.questions.length})</strong>
- <span class="stow stowpdrr">收起</span>
- </div>
- <div class="pdrefEle">
- ${data.type2.questions.map((item, index) => {
- return `<div class="itemRightline">
- <div class="dxtitle">
- <span>题序${index + 1}</span>
- <span class="dxflexcenter judgeEle" style="display:none">5分</span>
- <div>
- <input class="inputText" type="number" data-id="${item.id}" name="judge" id="" value="${data.type2.score ? data.type2.score : 5}" min="1" max='100' style="width: 60px;">
- <span>分</span>
- </div>
- <div class="dxflex-end">
- <span data-type="type2" data-index="${index}" class="delItem">删除</span>
- </div>
- </div>
- <div>题干: ${item.ask}</div>
- <div>答案:${item.answer}</div>
- </div>`
- }).join('')}
- </div>
- </div>`
- }
- if (data.type3.questions.length > 0) {
- html4 = `<div class="rightItem">
- <div class="righttitle">
- <strong>简答题(${data.type3.questions.length})</strong>
- <span class="stow stowjdrr">收起</span>
- </div>
- <div class="jdrefEle">
- ${data.type3.questions.map((item, index) => {
- return `<div class="itemRightline">
- <div class="dxtitle">
- <span>题序${index + 1}</span>
- <span class="dxflexcenter answerEle" style="display:none">10分</span>
- <div>
- <input class="inputText" type="number" name="answer" data-id="${item.id}" value="${data.type3.score ? data.type3.score : 10}" min="1" max='100' style="width: 60px;">
- <span>分</span>
- </div>
- <div class="dxflex-end">
- <span data-type="type3" data-index="${index}" class="delItem">删除</span>
- </div>
- </div>
- <div>题干: ${item.ask}</div>
- <div class="flex">答案:${item.answer}</div>
- <div>答案关键字:${item.answer_j}</div>
- </div>`
- }).join('')}
- </div>
- </div>`
- }
- $('.rightScroe').html(`${html1}${html2}${html3}${html4}`);
- setTimeout(() => {
- //
-
- $(".inputText").keyup(function(){
- $(this).val($(this).val().replace(/\D|^0/g,''));
- }).bind("paste",function(){
- return false;
- })
- //输入框的值改变时触发
- $("input[name='single']").on("input", function (e) {
- danxuan_fen = 0;
- for(var i=1;i<$("input[name='single']").length;i++){
- danxuan_fen += Number($("input[name='single']").eq(i).val());
- }
- active.totalscore();
- $('#danxuan_total_fen').each(function () {
- $(this).html(`${danxuan_fen}分`)
- })
-
- });
-
- $("input[name='multi']").on("input", function (e) {
- duoxuan_fen = 0;
- for(var i=1;i<$("input[name='multi']").length;i++){
- duoxuan_fen += Number($("input[name='multi']").eq(i).val());
- }
- active.totalscore();
- $('#duoxuan_total_fen').each(function () {
- $(this).html(`${duoxuan_fen}分`)
- })
-
- });
-
- $("input[name='judge']").on("input", function (e) {
- panduan_fen = 0;
- for(var i=1;i<$("input[name='judge']").length;i++){
- panduan_fen += Number($("input[name='judge']").eq(i).val());
- }
- active.totalscore();
- $('#panduan_total_fen').each(function () {
- $(this).html(`${panduan_fen}分`)
- })
-
- });
- $("input[name='answer']").on("input", function (e) {
- jianda_fen = 0;
- for(var i=1;i<$("input[name='answer']").length;i++){
- jianda_fen += Number($("input[name='answer']").eq(i).val());
- }
- active.totalscore();
- $('#jianda_total_fen').each(function () {
- $(this).html(`${jianda_fen}分`)
- })
- });
-
- //
- $('.stowdx').click(function () {
- if ($('.dxrefEle').is(":hidden")) {
- $('.dxrefEle').show();
- $(this).html('收起');
- } else {
- $('.dxrefEle').hide();
- $(this).html('展开');
- }
- })
- $('.stowMore').click(function () {
- if ($('.morerefele').is(":hidden")) {
- $('.morerefele').show();
- $(this).html('收起');
- } else {
- $('.morerefele').hide();
- $(this).html('展开');
- }
- })
- $('.stowpdrr').click(function () {
- if ($('.pdrefEle').is(":hidden")) {
- $('.pdrefEle').show();
- $(this).html('收起');
- } else {
- $('.pdrefEle').hide();
- $(this).html('展开');
- }
- })
- $('.stowjdrr').click(function () {
- if ($('.jdrefEle').is(":hidden")) {
- $('.jdrefEle').show();
- $(this).html('收起');
- } else {
- $('.jdrefEle').hide();
- $(this).html('展开');
- }
- })
- $('.delItem').click(function () {
- let props = $(this).prop('dataset');
- allQuestionData[props.type].questions.splice(parseInt(props.index), 1);
- renderQHtml(allQuestionData);
- if (props.type == 'type0') {
- $('#danxuan_count').html(allQuestionData[props.type].questions.length)
- } else if (props.type == 'type1') {
- $('#duoxuan_count').html(allQuestionData[props.type].questions.length)
- } else if (props.type == 'type2') {
- $('#panduan_count').html(allQuestionData[props.type].questions.length)
- } else {
- $('#jianda_count').html(allQuestionData[props.type].questions.length)
- }
- active.totalscore('single', 999999999);
- setQdata();
- })
- form.render();
- }, 500)
- }
- function setQdata() {
- let arr1 = allQuestionData.type0.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr2 = allQuestionData.type1.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr3 = allQuestionData.type2.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr4 = allQuestionData.type3.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr = [...arr1, ...arr2, ...arr3, ...arr4];
- data2 = arr;
- transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [data1, arr], //[左表数据,右表数据[非必填]]
- tabConfig: tabConfig //表格配置项 支持layui数据表格所有配置
- })
- }
- function setQQArr() {
- let arr1 = allQuestionData.type0.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr2 = allQuestionData.type1.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr3 = allQuestionData.type2.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr4 = allQuestionData.type3.questions.map(v => {
- return { id: v.id, ask: v.ask, cate: v.cate, type: v.type }
- })
- let arr = [...arr1, ...arr2, ...arr3, ...arr4];
- data2 = arr;
- }
- function searchkey() {
- var keyword = $('#keyword').val();
- var type = '';
- $('input[name="radios"]:checked').each(function (index, element) {
- type = type + $(this).val() + ',';
- });
- var cate = $('#cate').val();
- $.ajax({
- url: '{:url("exam/searchquestion")}',
- type: 'post',
- data: { type: type, keyword: keyword, data2: data2, cate: cate },
- success: function (res) {
- data2 = data2;
- transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [res.data.data1, data2], //[左表数据,右表数据[非必填]]
- tabConfig: tabConfig //表格配置项 支持layui数据表格所有配置
- })
- $('#count').html(res.data.count);
- }
- });
- }
- //清除所有
- $('#clean').click(function () {
- var keyword = $('#keyword').val();
- var type = $('#type').val();
- $.ajax({
- url: '{:url("exam/searchquestion")}',
- type: 'post',
- data: { type: type, keyword: keyword, data2: [] },
- success: function (res) {
- data2 = [];
- transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [res.data.data1, []], //[左表数据,右表数据[非必填]]
- tabConfig: tabConfig //表格配置项 支持layui数据表格所有配置
- })
- $('#count').html(0);
- }
- });
- })
- // -----------------------------发布考试--------------------------------------
- var orgids_str = '{:$orgids}';
- var orgids = JSON.parse(orgids_str);
- var org = eval('{$org|raw}');
- $('#org').append(setOrgOption(org, ''));
- form.render('select')
- // let date = new Date($('#starttime').val());
- // let time = date.getTime() + $('#duringtime').val() * 60 * 1000;
- // let date1 = new Date(time);
- // let time1 = date1.getFullYear() + '/' + (date1.getMonth() * 1 + 1) + '/' + date1.getDate() + ' ' + (date1.getHours() < 10 ? ('0' + date1.getHours()) : date1.getHours()) + ':' + (date1.getMinutes() < 10 ? '0' + date1.getMinutes() : date1.getMinutes()) + ':' + (date1.getSeconds() < 10 ? ('0' + date1.getSeconds()) : date1.getSeconds());
- // $('#endtime').val(time1);
- laydate.render({
- elem: '#starttime'
- , type: 'datetime',
- trigger: 'click',//呼出事件改成click
- format: 'yyyy/MM/dd HH:mm:ss',
- done: function (value, date, endDate) {
- $('#starttime').val(value);
- if ($('#duringtime').val()) {
- let date = new Date(value);
- let time = date.getTime() + $('#duringtime').val() * 60 * 1000;
- let date1 = new Date(time);
- let time1 = date1.getFullYear() + '/' + (date1.getMonth() * 1 + 1) + '/' + date1.getDate() + ' ' + (date1.getHours() < 10 ? ('0' + date1.getHours()) : date1.getHours()) + ':' + (date1.getMinutes() < 10 ? '0' + date1.getMinutes() : date1.getMinutes()) + ':' + (date1.getSeconds() < 10 ? ('0' + date1.getSeconds()) : date1.getSeconds());
- $('#endtime').val(time1);
- }
- }
- });
- laydate.render({
- elem: '#endtime'
- , type: 'datetime',
- trigger: 'click',//呼出事件改成click
- format: 'yyyy/MM/dd HH:mm:ss'
- });
- //监听审核方式单项框
- form.on('radio(checkway)', function (data) {
- console.log(data);//打印当前选择的信息
- var value = data.value; // 当前选中的value值
- if (value == "employee") {
- $('#person').removeClass('layui-hide');
- } else {
- $('#person').addClass('layui-hide');
- }
- });
- form.on('select(org_select)', function (data) {
- var val = data.value;
- $.ajax({
- url: '{:url("org/employee")}'
- , data: { org: val }
- , type: 'get'
- , success: function (res) {
- if (res.code == 0) {
- $('#employee').html('<option value="">请选择</option>');
- res.data.forEach(element => {
- $('#employee').append('<option value="' + element.id + '">' + element.name + '</option>');
- });
- form.render('select')
- }
- }
- });
- });
- function setOrgOption(opt, sj) {
- var html = '';
- opt.forEach(element => {
- if (orgids.length > 0) {
- if (in_array(element.id, orgids)) {
- html += '<option value="' + element.id + '">' + sj + element.title + '</option>';
- }
- }
- if (element.children.length > 0) html += setOrgOption(element.children, sj + '-');
- });
- return html;
- }
- function in_array(search, array) {
- for (var i in array) {
- if (array[i] == search) {
- return true;
- }
- }
- return false;
- }
- //考试范围选择人员
- var approve_ids = xmSelect.render({
- el: "#range_person",
- autoRow: true,
- filterable: true,
- tips: '考试人员',
- layVerify: 'required',
- toolbar: {
- //工具条,全选,清空,反选,自定义
- show: true,
- list: [
- 'ALL',
- 'CLEAR',
- 'REVERSE'
- ]
- },
- tree: {
- show: true,
- showFolderIcon: true,
- showLine: true,
- indent: 20,
- expandedKeys: [-3],
- },
- height: "200px",
- data: [],
- //文本显示模式
- //处理方式
- });
- $(function () {
- selectperson();
- });
- function selectperson() {
- setTimeout(function () {
- //data是ajax异步获取的
- $.ajax({
- type: "get",
- url: "{:url('exam/get_person')}",
- data: { type: 1 },
- dataType: 'json',
- success: function (data) {
- // var data = JSON.parse(data);
- // var res = JSON.parse(data);
- //通过ajax 获取json数据,异步更新多选下拉框的值
- approve_ids.update({ data: data })
- }
- });
- }, 100);
- }
- //多选审核人员
- var options = {
- el: '#label',
- autoRow: true,
- filterable: true,
- name: 'approve_employee_ids',//表单的name属性
- layVerify: '',
- //layVerType: 'tips',//提示类型 同layui
- tips: '审核人员',
- toolbar: {
- //工具条,全选,清空,反选,自定义
- show: true,
- list: [
- 'ALL',
- 'CLEAR',
- 'REVERSE'
- ]
- },
- tree: {
- show: true,
- showFolderIcon: true,
- showLine: true,
- indent: 20,
- expandedKeys: [-3],
- },
- data: [],
- // max: 1,
- };
- var label = xmSelect.render(options)
- $(function () {
- selectdata();
- });
- function selectdata() {
- setTimeout(function () {
- //data是ajax异步获取的
- $.ajax({
- type: "get",
- url: "{:url('exam/get_person')}",
- data: {type: 1},
- dataType: 'json',
- success: function (data) {
- var data = data;
- //通过ajax 获取json数据,异步更新多选下拉框的值
- label.update({ data: data })
- }
- });
- }, 100);
- }
- // ----------------------------------------------设置分值---------------------------------------------
- form.on('submit(layuiadmin-publish-submit)', function (data) {
- var tranferdata = transfer.get(tb1, 'right', 'id');
- if (Array.isArray(tranferdata) && !tranferdata.length) {
- layer.msg('请选择试题', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var base_score = Number($('#passExam').val());
- var sum_score = Number($('#total_score').val());
- if (sum_score > 100) {
- layer.msg('总分不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- if (base_score > sum_score) {
- layer.msg('及格分不能大过总分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var single_choice = $('#single_choice').val() ? Number($('#single_choice').val()) : 0;
- if (single_choice > 100) {
- layer.msg('单选题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var multiple_selection = $('#multiple_selection').val() ? Number($('#multiple_selection').val()) : 0;
- if (multiple_selection > 100) {
- layer.msg('多选题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var multiple_judge = $('#multiple_judge').val() ? Number($('#multiple_judge').val()) : 0;
- if (multiple_judge > 100) {
- layer.msg('判断题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var short_answer = $('#short_answer').val() ? Number($('#short_answer').val()) : 0;
- if (short_answer > 100) {
- layer.msg('简答题分值不能超过100分', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var index = parent.layer.getFrameIndex(window.name);
- var formData = new FormData(data.form);
- var fraction = [];
- for(var i=0;i<$('.itemRightline').length;i++){
- fraction.push($('.itemRightline').eq(i).find('input').data('id')+'@'+$('.itemRightline').eq(i).find('input').val())
- }
-
- fraction = fraction.toString();
- formData.append('fraction',fraction);
- var checkway = 'sys';
- var employee = '';
- formData.forEach((value, key) => {
- if (key == 'checkway') {
- checkway = value;
- }
- if (key == 'approve_employee_ids') {
- employee = value;
- }
- })
- formData.append('idstr', tranferdata);
- if (checkway == 'employee' && employee == '') {
- layer.msg('人工审核请选择审核人员', {
- anim: 6
- , time: 2000
- });
- return false;
- }
- var load = layer.load(1, {
- shade: [0.8, '#000']
- });
- $.ajax({
- url: '{:url("dashboard/exam/paperadd")}',
- type: 'post',
- data: formData,
- dataType: 'json',
- processData: false,
- contentType: false,
- success: function (res) {
- if (res.code === 0) {
- layer.msg(res.msg, {
- anim: 0
- , time: 2000
- }, function () {
- parent.layui.table.reload('LAY-exam-paper-list'); //重载表格
- parent.layer.close(index); //再执行关闭
- });
- } else {
- layer.msg(res.msg, {
- anim: 6
- , time: 2000
- });
- }
- layer.close(load);
- }
- });
- return false;
- });
- });
- </script>
- {/block}
|