123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830 |
- {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">
- <!-- <form class="layui-form" enctype="multipart/form-data" lay-filter="layuiadmin-paper-form"> -->
- <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="{$data.name}" 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="{$data.desc}" 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>
- <!-- </form> -->
- </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">{$data.count}</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>
- <!-- <form class="layui-form" enctype="multipart/form-data" lay-filter="layuiadmin-paperaddques-form"> -->
- <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>
- <!-- </form> -->
- </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">
- <!-- <form class="layui-form" enctype="multipart/form-data" lay-filter="layuiadmin-publish-form"> -->
- <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="{$data.duringtime}" 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="{$data.starttime}">
- <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="{$data.endtime}">
- </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="系统审核" {if
- $data.checkway=='sys' }checked{/if}>
- <input type="radio" name="checkway" lay-filter="checkway" value="employee" title="人工审核"
- {if $data.checkway=='employee' }checked{/if}>
- </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="保存草稿" {if
- $data.state=='0' }checked{/if}>
- <input type="radio" name="state" lay-filter="state" value="1" title="正式发布" {if
- $data.state=='1' }checked{/if}>
- </div>
- </div>
- <div class="layui-form-item {if $data.checkway=='sys' }layui-hide{/if}" 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="否" {if
- $data.show_real_name=='0' }checked{/if}>
- <input type="radio" name="show_real_name" lay-filter="show_real_name" value="1" title="是" {if
- $data.show_real_name=='1' }checked{/if}>
- </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>
- <!-- </form> -->
- </div>
- <input type="hidden" id="paper_id" name="paper_id" value="{$data.id}">
- </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 = {},
- tb1 = null;
- $('#cancel1').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 = '{$choosedquestListstr|raw}';
- 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 == 3||index == 2) {
- setTimeout(() => {
- tb1 = transfer.render({
- elem: "#transfer-questions", //指定元素
- cols: cols, //表格列 支持layui数据表格所有配置
- data: [data1, data2],//[左表数据,右表数据[非必填]]
- tabConfig: tabConfig, //表格配置项 支持layui数据表格所有配置
- })
- searchkey();
- }, 500)
- }
- })
- getEditScorelist();
- $('#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 getEditScorelist() {
- $.ajax({
- url: '{:url("exam/papereditscore")}',
- type: 'post',
- data: { paper_id: "{$data.id}" },
- success: function (res) {
- allQuestionData = res.data;
- renderSetRender(res.data,'1');
- renderQHtml(res.data);
- setQQArr()
- }
- });
- }
- function getScorelist(ids) {
- $.ajax({
- url: '{:url("exam/paperscore")}',
- type: 'post',
- data: { question_ids: ids },
- success: function (res) {
- allQuestionData = res.data;
- renderSetRender(res.data,'2');
- renderQHtml(res.data);
- setQQArr()
- }
- });
- }
- function renderSetRender(data, typeStr) {
- 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}`);
- 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;
- //分数
- // var danxuan = $("input[name='single']").val() ? $("input[name='single']").val() : 0;
- // var danxuan_fen = Number(danxuan);
- // var duoxuan_fen = $("input[name='multi']").val() ? Number($("input[name='multi']").val()) : 0;
- // var panduan_fen = $("input[name='judge']").val() ? Number($("input[name='judge']").val()) : 0;
- // var jianda_fen = $("input[name='answer']").val() ? Number($("input[name='answer']").val()) : 0;
- // console.log(danxuan_fen, duoxuan_fen, panduan_fen, jianda_fen)
- // var sum = (danxuan_count * danxuan_fen) + (duoxuan_count * duoxuan_fen) + (panduan_count * panduan_fen) + (jianda_count * jianda_fen);
-
-
- 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(() => {
- if (typeStr == '2') {
- 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">${item.score?item.score:'1分'}</span>
- <div>
- <input class="inputText" type="number" data-id="${item.id}" name="single" id="" value="${item.score ? item.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">${item.score?item.score:'2分'}</span>
- <div>
- <input class="inputText" type="number" data-id="${item.id}" name="multi" id="" value="${item.score ? item.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">${item.score?item.score:'5分'}</span>
- <div>
- <input class="inputText" type="number" data-id="${item.id}" name="judge" id="" value="${item.score ? item.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;">${item.score?item.score:'10分'}</span>
- <div>
- <input class="inputText" type="number" name="answer" data-id="${item.id}" value="${item.score ? item.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();
- var paperid = '{:$paperid}';
- $.ajax({
- url: '{:url("exam/searchquestion")}',
- type: 'post',
- data: { type: type, keyword: keyword, data2: data2, paperid: paperid, 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();
- var paperid = '{:$paperid}';
- $.ajax({
- url: '{:url("exam/searchquestion")}',
- type: 'post',
- data: { type: type, keyword: keyword, data2: [], paperid: paperid },
- 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);
- setTimeout(() => {
- $('#starttime').val("{$data.starttime}")
- },800)
- laydate.render({
- elem: '#starttime'
- , type: 'datetime',
- trigger: 'click',//呼出事件改成click
- 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
- });
- //监听审核方式单项框
- 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() {
- var assessment = '{:$data.assessment}';
- setTimeout(function () {
- //data是ajax异步获取的
- $.ajax({
- type: "get",
- url: "{:url('exam/get_person')}",
- data: { type: 1, id: assessment },
- 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() {
- var personid = '{:$data.approve_employee_ids}';
- setTimeout(function () {
- //data是ajax异步获取的
- $.ajax({
- type: "get",
- url: "{:url('exam/get_person')}",
- data: { id: personid, 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 formData = new FormData(data.form);
- 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);
-
- 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);
-
-
- 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/paperedit")}',
- 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 () {
- var index = parent.layer.getFrameIndex(window.name);
- 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}
|