12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435 |
- define(['jquery', 'bootstrap', 'frontend', 'form', 'template'], function ($, undefined, Frontend, Form, Template) {
- var validatoroptions = {
- invalid: function (form, errors) {
- $.each(errors, function (i, j) {
- Layer.msg(j);
- });
- }
- };
- var Controller = {
- login: function () {
- //本地验证未通过时提示
- $("#login-form").data("validator-options", validatoroptions);
- //为表单绑定事件
- Form.api.bindevent($("#login-form"), function (data, ret) {
- setTimeout(function () {
- location.href = ret.url ? ret.url : "/";
- }, 1000);
- });
- // 获取用户名和密码输入框
- const usernameInput = $("#account");
- const passwordInput = $("#password");
- const keeploginCheck = $('#keeplogin');
- // 获取记住密码复选框
- const keepLoginCheckbox = $("input[name='keeplogin']");
- // 表单提交时判断记住密码复选框是否被选中
- $("#login-form").submit(function(event) {
- if (keepLoginCheckbox.is(":checked")) {
- // 将用户名和密码存储在 localStorage 中
- localStorage.setItem("username", usernameInput.val());
- localStorage.setItem("password", passwordInput.val());
- localStorage.setItem("keeplogin", keepLoginCheckbox.is(":checked"));
- }
- });
- // 下次用户访问时,如果 localStorage 中存在用户名和密码,则自动填充到登录表单中
- $(document).ready(function() {
- if (localStorage.getItem("username") && localStorage.getItem("password")) {
- usernameInput.val(localStorage.getItem("username"));
- passwordInput.val(localStorage.getItem("password"));
- keeploginCheck.attr('checked', localStorage.getItem("keeplogin"))
- }
- });
- //忘记密码
- $(document).on("click", ".btn-forgot", function () {
- var id = "resetpwdtpl";
- var content = Template(id, {});
- Layer.open({
- type: 1,
- title: 'Reset password',
- area: ["450px", "355px"],
- content: content,
- success: function (layero) {
- var rule = $("#resetpwd-form input[name='captcha']").data("rule");
- Form.api.bindevent($("#resetpwd-form", layero), function (data) {
- Layer.closeAll();
- });
- $(layero).on("change", "input[name=type]", function () {
- var type = $(this).val();
- $("div.form-group[data-type]").addClass("hide");
- $("div.form-group[data-type='" + type + "']").removeClass("hide");
- $('#resetpwd-form').validator("setField", {
- captcha: rule.replace(/remote\((.*)\)/, "remote(" + $(this).data("check-url") + ", event=resetpwd, " + type + ":#" + type + ")")
- });
- $(".btn-captcha").data("url", $(this).data("send-url")).data("type", type);
- });
- }
- });
- });
- },
- register: function () {
- $(document).ready(function () {
- $('.submit-button').prop('type', 'button');
- });
- $('.submit-button').click(function () {
- if ($(this).prop('type') == 'button') {
- $('.privacy_text').show();
- }
- });
- $(document).on('click', '#privacy_checkbox', function () {
- if (!$(this).prop('checked')) {
- $('.privacy_text').show();
- $('.submit-button').prop('type', 'button');
- } else {
- $('.privacy_text').hide();
- $('.submit-button').prop('type', 'submit');
- }
- });
- //本地验证未通过时提示
- $("#register-form").data("validator-options", validatoroptions);
- //为表单绑定事件
- Form.api.bindevent($("#register-form"), function (data, ret) {
- setTimeout(function () {
- location.href = ret.url ? ret.url : "/";
- }, 6000);
- }, function (data) {
- $("input[name=captcha]").next(".input-group-btn").find("img").trigger("click");
- });
- },
- changepwd: function () {
- //本地验证未通过时提示
- $("#changepwd-form").data("validator-options", validatoroptions);
- //为表单绑定事件
- Form.api.bindevent($("#changepwd-form"), function (data, ret) {
- setTimeout(function () {
- location.href = ret.url ? ret.url : "/";
- }, 1000);
- });
- },
- profile: function () {
- // 给上传按钮添加上传成功事件
- $("#faupload-avatar").data("upload-success", function (data) {
- var url = Fast.api.cdnurl(data.url);
- $(".profile-user-img").prop("src", url);
- Toastr.success('Uploaded successful');
- });
- Form.api.bindevent($("#profile-form"));
- $(document).on("click", ".btn-change", function () {
- var that = this;
- var id = $(this).data("type") + "tpl";
- var content = Template(id, {});
- Layer.open({
- type: 1,
- title: "修改",
- area: ["400px", "250px"],
- content: content,
- success: function (layero) {
- var form = $("form", layero);
- Form.api.bindevent(form, function (data) {
- location.reload();
- Layer.closeAll();
- });
- }
- });
- });
- },
- attachment: function () {
- require(['table'], function (Table) {
- // 初始化表格参数配置
- Table.api.init({
- extend: {
- index_url: 'user/attachment',
- }
- });
- var urlArr = [];
- var multiple = Fast.api.query('multiple');
- multiple = multiple == 'true' ? true : false;
- var table = $("#table");
- table.on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function (e, row) {
- if (e.type == 'check' || e.type == 'uncheck') {
- row = [row];
- } else {
- urlArr = [];
- }
- $.each(row, function (i, j) {
- if (e.type.indexOf("uncheck") > -1) {
- var index = urlArr.indexOf(j.url);
- if (index > -1) {
- urlArr.splice(index, 1);
- }
- } else {
- urlArr.indexOf(j.url) == -1 && urlArr.push(j.url);
- }
- });
- });
- // 初始化表格
- table.bootstrapTable({
- url: $.fn.bootstrapTable.defaults.extend.index_url,
- sortName: 'id',
- showToggle: false,
- showExport: false,
- fixedColumns: true,
- fixedRightNumber: 1,
- columns: [
- [
- {field: 'state', checkbox: multiple, visible: multiple, operate: false},
- {field: 'id', title: __('Id'), operate: false},
- {
- field: 'url', title: __('Preview'), formatter: function (value, row, index) {
- var html = '';
- if (row.mimetype.indexOf("image") > -1) {
- html = '<a href="' + row.fullurl + '" target="_blank"><img src="' + row.fullurl + row.thumb_style + '" alt="" style="max-height:60px;max-width:120px"></a>';
- } else {
- html = '<a href="' + row.fullurl + '" target="_blank"><img src="' + Fast.api.fixurl("ajax/icon") + "?suffix=" + row.imagetype + '" alt="" style="max-height:90px;max-width:120px"></a>';
- }
- return '<div style="width:120px;margin:0 auto;text-align:center;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;">' + html + '</div>';
- }
- },
- {
- field: 'filename', title: __('Filename'), formatter: function (value, row, index) {
- return '<div style="width:150px;margin:0 auto;text-align:center;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;">' + Table.api.formatter.search.call(this, value, row, index) + '</div>';
- }, operate: 'like'
- },
- {field: 'imagewidth', title: __('Imagewidth'), operate: false},
- {field: 'imageheight', title: __('Imageheight'), operate: false},
- {field: 'mimetype', title: __('Mimetype'), formatter: Table.api.formatter.search},
- {
- field: 'createtime',
- title: __('Createtime'),
- width: 120,
- formatter: Table.api.formatter.datetime,
- datetimeFormat: 'YYYY-MM-DD',
- operate: 'RANGE',
- addclass: 'datetimerange',
- sortable: true
- },
- {
- field: 'operate', title: __('Operate'), width: 85, events: {
- 'click .btn-chooseone': function (e, value, row, index) {
- Fast.api.close({url: row.url, multiple: multiple});
- },
- }, formatter: function () {
- return '<a href="javascript:;" class="btn btn-danger btn-chooseone btn-xs"><i class="fa fa-check"></i> ' + __('Choose') + '</a>';
- }
- }
- ]
- ]
- });
- // 选中多个
- $(document).on("click", ".btn-choose-multi", function () {
- Fast.api.close({url: urlArr.join(","), multiple: multiple});
- });
- // 为表格绑定事件
- Table.api.bindevent(table);
- require(['upload'], function (Upload) {
- Upload.api.upload($("#toolbar .faupload"), function () {
- $(".btn-refresh").trigger("click");
- });
- });
- });
- },
- inbox: function () {
- $(document).ready(function () {
- $(document).on('click', '#read-button', function () {
- let email_id = $(this).attr('data-id');
- $.ajax({
- url: '/api/user/read_email', // 后台处理数据请求的接口地址
- type: 'POST',
- dataType: 'json',
- data: {
- email_id: email_id,
- },
- success: function (res) {
- if (res.code === 1) {
- layer.msg(res.msg, {
- icon: 1,
- time: 2000,
- }, function () {
- location.reload();
- });
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- });
- });
- },
- unread: function () {
- $(document).ready(function () {
- $(document).on('click', '#read-button', function () {
- let email_id = $(this).attr('data-id');
- $.ajax({
- url: '/api/user/read_email', // 后台处理数据请求的接口地址
- type: 'POST',
- dataType: 'json',
- data: {
- email_id: email_id,
- },
- success: function (res) {
- if (res.code === 1) {
- layer.msg(res.msg, {
- icon: 1,
- time: 2000,
- }, function () {
- location.reload();
- });
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- });
- });
- },
- submit_manuscript: function () {
- // 初始化分页参数
- var currentPage = 1;
- var pageSize = 10;
- var index = 0;
- var is_next = false;
- var button_next = false;
- var manuscript_id = $("#c-manuscript_id").val();
- var custom_mousemove_x = 490;
- var custom_mousemove_y = 350;
- $(document).ready(function () {
- // 下一步按钮
- $('.next-button').on('click', function () {
- // 陈述内容可点击下一步按钮
- if ($('.statement-content').css('display') == 'block') {
- is_next = true;
- }
- // 推荐内容可点击下一步按钮
- if ($('.recommended-content').css('display') == 'block') {
- is_next = true;
- }
- // 判断当前页面的必填项是否都填写
- if (index == 0) {
- $("#c-manuscript-zip").trigger("validate");
- let manuscript_zip = $("#c-manuscript-zip").isValid();
- if (!manuscript_zip) {
- return true;
- }
- }
- // 手稿信息
- if (index == 1) {
- // $("#c-image").trigger("validate");
- $('#c-journal').trigger("validate");
- $('#c-article-type').trigger("validate");
- $('#c-title').trigger("validate");
- $('#c-abstract').trigger("validate");
- $("#c-keywords").trigger("validate");
- // let image = $("#c-image").isValid();
- let journal = $('#c-journal').isValid();
- let article_type = $('#c-article-type').isValid();
- let title = $('#c-title').isValid();
- let abstract = $("#c-abstract").isValid();
- let keywords = $('#c-keywords').isValid();
- // if (!image) {
- // return true;
- // }
- if (!journal) {
- return true;
- }
- if (!article_type) {
- return true;
- }
- if (!title) {
- return true;
- }
- if (!abstract) {
- return true;
- }
- if (!keywords) {
- return true;
- }
- // if (!number_page) {
- // return true;
- // }
- is_next = true;
- }
- // 作者信息
- if (index == 2) {
- ;
- for (let i = 0; i < $('.add-author-item').length; i++) {
- $("[name='row[author][" + i + "][email]']").trigger("validate");
- $("[name='row[author][" + i + "][first_name]']").trigger("validate");
- $("[name='row[author][" + i + "][author_affiliation]']").trigger("validate");
- $("[name='row[author][" + i + "][author_country]']").trigger("validate");
- let email = $("[name='row[author][" + i + "][email]']").isValid();
- let first_name = $("[name='row[author][" + i + "][first_name]']").isValid();
- let author_affiliation = $("[name='row[author][" + i + "][author_affiliation]']").isValid();
- let author_country = $("[name='row[author][" + i + "][author_country]']").isValid();
- if (!email) {
- return true;
- }
- if (!first_name) {
- return true;
- }
- if (!author_affiliation) {
- return true;
- }
- if (!author_country) {
- return true;
- }
- }
- is_next = true;
- }
- if (is_next || index == 0) {
- index++;
- $("ul.nav-justified li").removeClass("active");
- $("ul.nav-justified .nav-item .nav-content .nav-li-desc").removeClass("finish");
- $("ul.nav-justified li:eq(" + index + ")").addClass("active");
- $("ul.nav-justified .nav-item:eq(" + index + ") .nav-content .nav-li-desc").addClass('finish');
- if (index == 5) {
- button_next = true;
- // 如果是最后一页操作时显示提交按钮,隐藏下一步按钮
- $('.next-button').css('display', 'none');
- $('.submit-button').css('display', 'block');
- $(".manuscript-content").show();
- $(".journal-content").show();
- $(".add-author-content").show();
- $('.recommended-button').hide();
- $('.become-review').show();
- // 最后一步设置鼠标移动时div的x与y轴的减少距离
- custom_mousemove_x = 500;
- custom_mousemove_y = 2000;
- } else if (index == 4) {
- $('.recommended-button').show();
- $(".form-item").hide();
- $('.become-review').hide();
- $(".form-item:eq(" + index + ")").show();
- } else if (index == 2) {
- $(".author-button").show();
- $(".form-item").hide();
- $('.become-review').hide();
- $(".form-item:eq(" + index + ")").show();
- $(".recommended-button").hide();
- } else {
- $('.recommended-button').hide();
- $(".author-item").hide();
- $('.author-button').hide();
- $(".form-item").hide();
- $('.become-review').hide();
- $(".form-item:eq(" + index + ")").show();
- }
- is_next = false;
- }
- });
- // 隐藏所有表单内容
- $(".form-item").hide();
- // 显示第一个表单内容
- $(".form-item:first").show();
- // 点击步骤条切换表单
- $("ul.nav-justified .nav-item").click(function () {
- if (manuscript_id) {
- let li_index = $(this).index();
- $("ul.nav-justified li").removeClass("active");
- $("ul.nav-justified .nav-item .nav-content .nav-li-desc").removeClass("finish");
- $("ul.nav-justified li:eq(" + li_index + ")").addClass("active");
- $("ul.nav-justified .nav-item:eq(" + li_index + ") .nav-content .nav-li-desc").addClass('finish');
- index = li_index;
- if (li_index == 5) {
- $('.next-button').css('display', 'none');
- $('.submit-button').css('display', 'block');
- $(".manuscript-content").show();
- $(".journal-content").show();
- $(".add-author-content").show();
- $('.recommended-button').hide();
- $('.become-review').show();
- // 最后一步设置鼠标移动时div的x与y轴的减少距离
- custom_mousemove_x = 500;
- custom_mousemove_y = 2000;
- } else if (li_index == 4) {
- $('.recommended-button').show();
- $(".form-item").hide();
- $(".form-item:eq(" + li_index + ")").show();
- $(".author-button").hide();
- } else if (li_index == 2) {
- $(".author-button").show();
- $(".form-item").hide();
- $(".form-item:eq(" + li_index + ")").show();
- $('.recommended-button').hide();
- } else {
- $('.recommended-button').hide();
- $(".author-item").hide();
- $('.author-button').hide();
- $(".form-item").hide();
- $(".form-item:eq(" + li_index + ")").show();
- }
- if (li_index != 5) {
- $('.next-button').css('display', 'block');
- $('.submit-button').css('display', 'none');
- $('.become-review').hide();
- }
- } else {
- if (button_next) {
- index = 5;
- }
- if ($(this).index() <= index) {
- let li_index = $(this).index();
- $("ul.nav-justified li").removeClass("active");
- $("ul.nav-justified .nav-item .nav-content .nav-li-desc").removeClass("finish");
- $("ul.nav-justified li:eq(" + li_index + ")").addClass("active");
- $("ul.nav-justified .nav-item:eq(" + li_index + ") .nav-content .nav-li-desc").addClass('finish');
- index = li_index;
- if (li_index == 5) {
- $('.next-button').css('display', 'none');
- $('.submit-button').css('display', 'block');
- $(".manuscript-content").show();
- $(".journal-content").show();
- $(".add-author-content").show();
- $('.recommended-button').hide();
- $('.become-review').show();
- // 最后一步设置鼠标移动时div的x与y轴的减少距离
- custom_mousemove_x = 500;
- custom_mousemove_y = 2000;
- } else if (li_index == 4) {
- $('.recommended-button').show();
- $(".form-item").hide();
- $(".form-item:eq(" + li_index + ")").show();
- $(".author-button").hide();
- } else if (li_index == 2) {
- $(".author-button").show();
- $(".form-item").hide();
- $(".form-item:eq(" + li_index + ")").show();
- $('.recommended-button').hide();
- } else {
- $('.recommended-button').hide();
- $(".author-item").hide();
- $('.author-button').hide();
- $(".form-item").hide();
- $(".form-item:eq(" + li_index + ")").show();
- }
- if (li_index != 5) {
- $('.next-button').css('display', 'block');
- $('.submit-button').css('display', 'none');
- $('.become-review').hide();
- }
- }
- }
- });
- // 删除对应作者信息
- $(document).on('click', '.author-delete-button', function () {
- let author_content_length = $('.add-author-content').children('.add-author-item').length;
- if (author_content_length > 1) {
- $(this).parent().parent().parent().remove();
- // 删除后更新 input 的 name 值
- updateInputNames();
- }
- });
- // 审稿人列表按钮
- $(document).on('click', '.reviewer-list-button', function () {
- let selected_id = [];
- $('.recommended-del').each(function () {
- let id = $(this).data('id');
- selected_id.push(id);
- })
- // 清空表格内容和分页区域
- $('#modal-table tbody').html('');
- $('#modal-pagination').html('');
- // 发送 Ajax 请求获取数据并填充表格和分页
- $.ajax({
- url: 'user/getReviewerList', // 后台处理数据请求的接口地址
- type: 'GET',
- dataType: 'json',
- data: {
- page: currentPage,
- limit: pageSize
- },
- success: function (data) {
- if (data.code === 1) {
- var tableData = data.data.data;
- for (var i = 0; i < tableData.length; i++) {
- var rowData = tableData[i];
- let is_disabled = '';
- if (selected_id.includes(rowData.id)) {
- is_disabled = 'disabled';
- }
- var rowHtml = '<tr>' +
- '<td><input type="checkbox" class="check-single review-check" ' + is_disabled + ' data-id="' + rowData.id + '" data-name="' + rowData.user.nickname + '" data-email="' + rowData.user.email + '" data-first="' + rowData.user.first_name + '" data-last="' + rowData.user.last_name + '" data-affiliation="' + rowData.user.affiliation + '" data-field="' + rowData.field + '"></td>' +
- '<td>' + rowData.user.nickname + '</td>' +
- '<td>' + rowData.user.email + '</td>' +
- '<td>' + rowData.user.first_name + '</td>' +
- '<td>' + rowData.user.last_name + '</td>' +
- '<td>' + rowData.affiliation + '</td>' +
- '<td>' + rowData.field + '</td>' +
- '</tr>';
- $('#modal-table tbody').append(rowHtml);
- }
- // 计算总页数
- var totalPage = Math.ceil(data.data.total / pageSize);
- // 动态生成分页按钮,使用省略号表示更多页码
- var pageHtml = '';
- if (totalPage <= 7) { // 当总页数小于等于7时,显示所有页码按钮
- for (var i = 1; i <= totalPage; i++) {
- if (i === currentPage) {
- pageHtml += '<a href="#" class="pagination-link active">' + i + '</a>';
- } else {
- pageHtml += '<a href="#" class="pagination-link">' + i + '</a>';
- }
- }
- } else { // 当总页数大于7时,进行分段显示
- if (currentPage <= 4) {
- pageHtml += generatePagination(1, 5);
- pageHtml += '<span>...</span>';
- pageHtml += '<a href="#" class="pagination-link">' + totalPage + '</a>';
- } else if (currentPage >= totalPage - 3) {
- pageHtml += '<a href="#" class="pagination-link">1</a>';
- pageHtml += '<span>...</span>';
- pageHtml += generatePagination(totalPage - 4, totalPage);
- } else {
- pageHtml += '<a href="#" class="pagination-link">1</a>';
- pageHtml += '<span>...</span>';
- //只需要更改这一行的逻辑即可
- var startPage = currentPage - 2;
- var endPage = currentPage + 2;
- pageHtml += generatePagination(startPage, endPage);
- //只需要更改这一行的逻辑即可
- }
- }
- $('#modal-pagination').html(pageHtml);
- // 绑定分页按钮点击事件
- $('.pagination-link').click(function (e) {
- $('.pagination-link').removeClass('active');
- $(this).addClass('active');
- e.preventDefault();
- var page = parseInt($(this).text());
- currentPage = page;
- // 发送 Ajax 请求获取对应页的数据并填充表格
- $.ajax({
- url: 'user/getReviewerList',
- type: 'GET',
- dataType: 'json',
- data: {
- page: currentPage,
- limit: pageSize
- },
- success: function (data) {
- if (data.code === 1) {
- var tableData = data.data.data;
- $('#modal-table tbody').html('');
- for (var i = 0; i < tableData.length; i++) {
- var rowData = tableData[i];
- let is_disabled = '';
- if (selected_id.includes(rowData.id)) {
- is_disabled = 'disabled';
- }
- var rowHtml = '<tr>' +
- '<td><input type="checkbox" class="check-single review-check" ' + is_disabled + ' data-id="' + rowData.id + '" data-name="' + rowData.user.nickname + '" data-email="' + rowData.user.email + '" data-first="' + rowData.user.first_name + '" data-last="' + rowData.user.last_name + '" data-affiliation="' + rowData.user.affiliation + '" data-field="' + rowData.field + '"></td>' +
- '<td>' + rowData.user.nickname + '</td>' +
- '<td>' + rowData.user.email + '</td>' +
- '<td>' + rowData.user.first_name + '</td>' +
- '<td>' + rowData.user.last_name + '</td>' +
- '<td>' + rowData.affiliation + '</td>' +
- '<td>' + rowData.field + '</td>' +
- '</tr>';
- $('#modal-table tbody').append(rowHtml);
- }
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- });
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- });
- // 选择审稿人后确定选择
- $(document).on('click', '.add-review-button', function () {
- let tr_length = $('#recommended-table tbody tr').length;
- var selectedValues = [];
- // 使用 jQuery 的 each 函数遍历所有 name 为 option 的复选框
- $('input[type=checkbox]:checked').each(function () {
- let obj = {};
- obj['id'] = $(this).data('id');
- obj['name'] = $(this).data('name');
- obj['email'] = $(this).data('email');
- obj['first_name'] = $(this).data('first');
- obj['last_name'] = $(this).data('last');
- obj['affiliation'] = $(this).data('affiliation');
- obj['field'] = $(this).data('field');
- selectedValues.push(obj); // 将选中的值添加到数组中
- });
- for (var i = 0; i < selectedValues.length; i++) {
- var rowData = selectedValues[i];
- if (selectedValues.length > 1) {
- if (i > 0) {
- tr_length++;
- }
- }
- let html = '<input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-name]" value="' + rowData.name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-email]" value="' + rowData.email + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-first-name]" value="' + rowData.first_name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-last-name]" value="' + rowData.last_name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-affiliation]" value="' + rowData.affiliation + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-field]" value="' + rowData.field + '">';
- var rowHtml = '<tr>' +
- '<td>' + rowData.name + '</td>' +
- '<td>' + rowData.email + '</td>' +
- '<td>' + rowData.first_name + '</td>' +
- '<td>' + rowData.last_name + '</td>' +
- '<td>' + rowData.affiliation + '</td>' +
- '<td>' + rowData.field + '</td>' +
- '<td class="recommended-del" data-id="' + rowData.id + '" data-index="' + tr_length + '"><a href="#">删除</a></td>' +
- '</tr>';
- $('#recommended-table tbody').append(rowHtml);
- $('.reviewer-hidden-content').append(html);
- }
- $('#myModal').modal('hide');
- });
- // 自定义添加审稿人按钮
- $(document).on('click', '.add-reviewer-button', function () {
- let input_index = $('.custom-reviewer-content').children('.custom-reviewer-item').length;
- let str = '<div class="custom-reviewer-item">\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-11">\n' +
- ' </label>\n' +
- ' <div class="reviewer-delete-button text-delete-button mb-3 col-xs-12 col-sm-1">\n' +
- ' <i class="fa fa-trash"></i> Delete\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-name" name="row[reviewer][' + input_index + '][reviewer-name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>E-mail Address\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-email" name="row[reviewer][' + input_index + '][reviewer-email]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-email"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>First Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-first-name" name="row[reviewer][' + input_index + '][reviewer-first-name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-first-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Last Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-last-name" name="row[reviewer][' + input_index + '][reviewer-last-name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-last-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-affiliation" name="row[reviewer][' + input_index + '][reviewer-affiliation]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-affiliation"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Field\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-field" name="row[reviewer][' + input_index + '][reviewer-field]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-field"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>';
- $('.custom-reviewer-content').append(str);
- updateReviewerInputNames();
- });
- // 排序input 的 name 值
- var updateReviewerInputNames = function () {
- // 遍历所有的div元素
- $(".custom-reviewer-item").each(function (index) {
- var name_input = $(this).find('input[id="c-add-review-name"]');
- var email_input = $(this).find('input[id="c-add-review-email"]');
- var first_name_input = $(this).find('input[id="c-add-review-first-name"]');
- var last_name_input = $(this).find('input[id="c-add-review-last-name"]');
- var affiliation_input = $(this).find('input[id="c-add-review-affiliation"]');
- var field_input = $(this).find('input[id="c-add-review-field"]');
- name_input.attr('name', "row[reviewer][" + index + "][reviewer-name]");
- email_input.attr('name', "row[reviewer][" + index + "][reviewer-email]");
- first_name_input.attr('name', "row[reviewer][" + index + "][reviewer-first-name]");
- last_name_input.attr('name', "row[reviewer][" + index + "][reviewer-last-name]");
- affiliation_input.attr('name', "row[reviewer][" + index + "][reviewer-affiliation]");
- field_input.attr('name', "row[reviewer][" + index + "][reviewer-field]");
- });
- };
- // 删除对应的审稿人信息
- $(document).on('click', '.reviewer-delete-button', function () {
- let reviewer_content_length = $('.custom-reviewer-content').children('.custom-reviewer-item').length;
- if (reviewer_content_length > 1) {
- $(this).parent().parent().remove();
- // 删除后更新 input 的 name 值
- updateReviewerInputNames();
- }
- });
- // 自定义审稿人信息提交按钮操作
- $(document).on('click', '.add-reviewer-submit', function () {
- let tr_length = $('#recommended-table tbody tr').length;
- let key = $(".custom-reviewer-item").length;
- let addReviewerInputValue = [];
- for (let i = 0; i < key; i++) {
- let obj = {};
- if ($(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-name]']").val() == '') {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-name]']").css('border', '1px solid red');
- return false;
- } else {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-name]']").css('border', 'none');
- }
- if ($(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-email]']").val() == '') {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-email]']").css('border', '1px solid red');
- return false
- } else {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-email]']").css('border', 'none');
- }
- if ($(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-first-name]']").val() == '') {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-first-name]']").css('border', '1px solid red');
- return false;
- } else {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-first-name]']").css('border', 'none');
- }
- if ($(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-last-name]']").val() == '') {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-last-name]']").css('border', '1px solid red');
- return false;
- } else {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-last-name]']").css('border', 'none');
- }
- if ($(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-affiliation]']").val() == '') {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-affiliation]']").css('border', '1px solid red');
- return false;
- } else {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-affiliation]']").css('border', 'none');
- }
- if ($(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-field]']").val() == '') {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-field]']").css('border', '1px solid red');
- return false;
- } else {
- $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-field]']").css('border', 'none');
- }
- obj['name'] = $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-name]']").val();
- obj['email'] = $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-email]']").val();
- obj['first_name'] = $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-first-name]']").val();
- obj['last_name'] = $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-last-name]']").val();
- obj['affiliation'] = $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-affiliation]']").val();
- obj['field'] = $(this).parent().parent().find("input[name='row[reviewer][" + i + "][reviewer-field]']").val();
- addReviewerInputValue.push(obj);
- }
- for (var i = 0; i < addReviewerInputValue.length; i++) {
- var rowData = addReviewerInputValue[i];
- if (addReviewerInputValue.length > 1) {
- if (i > 0) {
- tr_length++;
- }
- }
- let html = '<input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-name]" value="' + rowData.name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-email]" value="' + rowData.email + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-first-name]" value="' + rowData.first_name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-last-name]" value="' + rowData.last_name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-affiliation]" value="' + rowData.affiliation + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + tr_length + '][reviewer-field]" value="' + rowData.field + '">';
- var rowHtml = '<tr>' +
- '<td>' + rowData.name + '</td>' +
- '<td>' + rowData.email + '</td>' +
- '<td>' + rowData.first_name + '</td>' +
- '<td>' + rowData.last_name + '</td>' +
- '<td>' + rowData.affiliation + '</td>' +
- '<td>' + rowData.field + '</td>' +
- '<td class="recommended-del" data-index="' + tr_length + '"><a href="#">删除</a></td>' +
- '</tr>';
- $('#recommended-table tbody').append(rowHtml);
- $('.reviewer-hidden-content').append(html);
- }
- // 清空已填内容
- $('.custom-reviewer-content').html('');
- $('.custom-reviewer-content').append('<div class="custom-reviewer-item">\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-11">\n' +
- ' </label>\n' +
- ' <div class="reviewer-delete-button text-delete-button mb-3 col-xs-12 col-sm-1">\n' +
- ' <i class="fa fa-trash"></i> Delete\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-name" name="row[reviewer][0][reviewer-name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>E-mail Address\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-email" name="row[reviewer][0][reviewer-email]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-email"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>First Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-first-name" name="row[reviewer][0][reviewer-first-name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-first-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Last Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-last-name" name="row[reviewer][0][reviewer-last-name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-last-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-affiliation" name="row[reviewer][0][reviewer-affiliation]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-affiliation"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Field\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-review-field" name="row[reviewer][0][reviewer-field]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-field"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>');
- $('#addReviewModal').modal('hide');
- });
- // 删除已选中的审稿人
- $(document).on('click', '.recommended-del', function () {
- let index = $(this).data('index');
- $('.reviewer-hidden-content').find('input[name="row[reviewer]\\[' + index + '\\]\\[reviewer-name\\]"]').remove();
- $('.reviewer-hidden-content').find('input[name="row[reviewer]\\[' + index + '\\]\\[reviewer-email\\]"]').remove();
- $('.reviewer-hidden-content').find('input[name="row[reviewer]\\[' + index + '\\]\\[reviewer-first-name\\]"]').remove();
- $('.reviewer-hidden-content').find('input[name="row[reviewer]\\[' + index + '\\]\\[reviewer-last-name\\]"]').remove();
- $('.reviewer-hidden-content').find('input[name="row[reviewer]\\[' + index + '\\]\\[reviewer-affiliation\\]"]').remove();
- $('.reviewer-hidden-content').find('input[name="row[reviewer]\\[' + index + '\\]\\[reviewer-field\\]"]').remove();
- $(this).parent().remove();
- // 重新排列键值
- });
- // 辅助函数:生成指定起始页码和结束页码的分页按钮HTML代码
- function generatePagination(startPage, endPage) {
- var pageHtml = '';
- for (var i = startPage; i <= endPage; i++) {
- if (i === currentPage) {
- pageHtml += '<a href="#" class="pagination-link active">' + i + '</a>';
- } else {
- pageHtml += '<a href="#" class="pagination-link">' + i + '</a>';
- }
- }
- return pageHtml;
- }
- let copyright_files_value = $("input[name='row[is_copyright]']:checked").val();
- if (copyright_files_value == 'normal') {
- $('.copyright_files').show();
- } else {
- $('.copyright_files').hide();
- }
- let is_funding_value = $("input[name='row[is_funding]']:checked").val();
- if (is_funding_value == 'normal') {
- $('.funding_content').show();
- } else {
- $('.funding_content').hide();
- }
- let is_interest_value = $("input[name='row[is_interest]']:checked").val();
- if (is_interest_value == 'normal') {
- $('.interest_content').show();
- } else {
- $('.interest_content').hide();
- }
- let is_become_review = $("input[name='row[is_become_review]']:checked").val();
- if (is_become_review == 'normal') {
- $('.field_content').show();
- } else {
- $('.field_content').hide();
- }
- });
- // 添加作者
- $('.author-button').click(function () {
- let input_index = $('.add-author-content').children('.add-author-item').length;
- // let input_index = author_content_length - 1;
- // 克隆作者信息
- let str = `<div class="add-author-item div" style="margin-bottom: 10px;">
- <div class="author-content-button-item">
- <div class="author-sort-number">
- <i class="fa fa-angle-down"></i> <span class="author-sort-number-text">Author ${input_index + 1}</span>
- </div>
- <div class="author-operate-button">
- <div class="author-sort-button text-sort-button text-button">
- <i class="fa fa-sort"></i> Sort
- </div>
- <div class="author-delete-button text-delete-button text-button">
- <i class="fa fa-trash"></i> Delete
- </div>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- <span style="color:#ed534b;margin-right: 10px;">*</span>Institution E-Mail Address:
- </label>
- <div class="col-xs-12 col-sm-8">
- <input type="text" data-rule="required" class="form-control" id="c-email" name="row[author][${input_index}][email]" value="" placeholder="Type here...">
-
- <div class="input-group-addon no-border no-padding">
- <span class="msg-box n-right" for="c-email"></span>
- </div>
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- <span style="color:#ed534b;margin-right: 10px;">*</span>First Name:
- </label>
- <div class="col-xs-12 col-sm-8">
- <input type="text" data-rule="required" class="form-control" id="c-first-name" name="row[author][${input_index}][first_name]" value="" placeholder="Type here...">
-
- <div class="input-group-addon no-border no-padding">
- <span class="msg-box n-right" for="c-first_name"></span>
- </div>
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- Middle Name:
- </label>
- <div class="col-xs-12 col-sm-8">
- <input type="text" class="form-control" id="c-middle-name" name="row[author][${input_index}][middle_name]" value="" placeholder="Type here...">
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- Last Name:
- </label>
- <div class="col-xs-12 col-sm-8">
- <input type="text" class="form-control" id="c-last-name" name="row[author][${input_index}][last_name]" value="" placeholder="Type here...">
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- <span style="color:#ed534b;margin-right: 10px;">*</span>Display E-Mail:
- </label>
- <div class="col-xs-12 col-sm-8">
- <div class="input-group mb-3">
- <div class="radio radio-inline pl-0">
- <label><input data-rule="required" id="c-display-e-mail-yes" name="row[author][${input_index}][display_email]" type="radio" value="yes" checked="checked" />Yes</label>
- <label><input data-rule="required" id="c-display-e-mail-no" name="row[author][${input_index}][display_email]" type="radio" value="no" />No</label>
- </div>
- </div>
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- <span style="color:#ed534b;margin-right: 10px;">*</span>Correspondsing Author:
- </label>
- <div class="col-xs-12 col-sm-8">
- <div class="input-group mb-3">
- <div class="radio radio-inline pl-0">
- <label><input data-rule="required" id="c-correspondsing-author-yes" name="row[author][${input_index}][correspondsing_author]" type="radio" value="yes" checked="checked" />Yes</label>
- <label><input data-rule="required" id="c-correspondsing-author-no" name="row[author][${input_index}][correspondsing_author]" type="radio" value="no" />No</label>
- </div>
- </div>
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation:
- </label>
- <div class="col-xs-12 col-sm-8">
- <input data-rule="required" type="text" class="form-control" id="c-author-affiliation" name="row[author][${input_index}][author_affiliation]" value="" placeholder="Type here...">
-
- <div class="input-group-addon no-border no-padding">
- <span class="msg-box n-right" for="c-author-affiliation"></span>
- </div>
- </div>
- </div>
-
- <div class="form-group">
- <label class="control-label col-xs-12 col-sm-4">
- <span style="color:#ed534b;margin-right: 10px;">*</span>Country / Temitory:
- </label>
- <div class="col-xs-12 col-sm-8">
- <select id="c-author_country" data-rule="required" class="form-control" name="row[author][${input_index}][author_country]">
- <option value="">Please select</option>
- <option value="china">china</option>
- <option value="japan">japan</option>
- <option value="england">england</option>
- </select>
- </div>
- </div>
- </div>`;
- $('.add-author-content').append(str);
- // 更新 name 值为按顺序增加的索引值
- updateInputNames();
- });
- // 排序input 的 name 值
- function updateInputNames() {
- // 遍历所有的div元素
- $(".add-author-item").each(function (index) {
- var email_input = $(this).find('input[id="c-email"]');
- var first_name_input = $(this).find('input[id="c-first-name"]');
- var middle_name_input = $(this).find('input[id="c-middle-name"]');
- var last_name_input = $(this).find('input[id="c-last-name"]');
- var author_affiliation_input = $(this).find('input[id="c-author-affiliation"]');
- var display_email_yes_radio = $(this).find('input[id="c-display-e-mail-yes"]');
- var display_email_no_radio = $(this).find('input[id="c-display-e-mail-no"]');
- var correspondsing_author_yes_radio = $(this).find('input[id="c-correspondsing-author-yes"]');
- var correspondsing_author_no_radio = $(this).find('input[id="c-correspondsing-author-no"]');
- var select = $(this).find("select");
- email_input.attr('name', "row[author][" + index + "][email]");
- first_name_input.attr('name', "row[author][" + index + "][first_name]");
- middle_name_input.attr('name', "row[author][" + index + "][middle_name]");
- last_name_input.attr('name', "row[author][" + index + "][last_name]");
- author_affiliation_input.attr('name', "row[author][" + index + "][author_affiliation]");
- display_email_yes_radio.attr('name', "row[author][" + index + "][display_email]");
- display_email_no_radio.attr('name', "row[author][" + index + "][display_email]");
- if (display_email_yes_radio[0].checked) {
- display_email_yes_radio.prop('checked', 'checked');
- }
- if (display_email_no_radio[0].checked) {
- display_email_no_radio.prop('checked', 'checked');
- }
- if (correspondsing_author_yes_radio[0].checked) {
- correspondsing_author_yes_radio.prop('checked', 'checked');
- }
- if (correspondsing_author_no_radio[0].checked) {
- correspondsing_author_no_radio.prop('checked', 'checked');
- }
- correspondsing_author_yes_radio.attr('name', "row[author][" + index + "][correspondsing_author]");
- correspondsing_author_no_radio.attr('name', "row[author][" + index + "][correspondsing_author]");
- $(this).find('.author-sort-number-text').html('Author' + (index + 1));
- select.attr('name', "row[author][" + index + "][author_country]");
- });
- }
- $.fn.serializeObject = function () {
- var obj = {};
- var arrayTmp = this.serializeArray();
- $.each(arrayTmp, function () {
- if (obj[this.name]) {
- if (!obj[this.name].push) {
- obj[this.name] = [obj[this.name]];
- }
- obj[this.name].push(this.value || '');
- } else {
- obj[this.name] = this.value || '';
- }
- });
- return obj;
- };
- // 实时保存
- $(document).on('mouseup', function () {
- let values = $('#submit-manuscript-form').serializeObject();
- if (index != 2) {
- $.ajax({
- url: '/api/user/incomplete_submit',
- type: 'POST',
- dataType: 'json',
- data: values,
- success: function (res) {
- // 如果保存了就代表接下来都是修改,所以记录返回的id
- if (res.code == 1) {
- $('#c-manuscript_id').val(res.data);
- }
- },
- error: function (xhr, status, error) {
- top.window.Toastr.error('Save failed');
- }
- });
- }
- })
- // 单选框选择显示对应input
- $(document).on('click', '.radio-inline', function () {
- let copyright_files_value = $("input[name='row[is_copyright]']:checked").val();
- if (copyright_files_value === 'normal') {
- $('.copyright_files').show();
- } else {
- $('.copyright_files').hide();
- }
- let is_funding_value = $("input[name='row[is_funding]']:checked").val();
- if (is_funding_value === 'normal') {
- $('.funding_content').show();
- } else {
- $('.funding_content').hide();
- }
- let is_interest_value = $("input[name='row[is_interest]']:checked").val();
- if (is_interest_value === 'normal') {
- $('.interest_content').show();
- } else {
- $('.interest_content').hide();
- }
- let is_become_review = $("input[name='row[is_become_review]']:checked").val();
- if (is_become_review === 'normal') {
- $('.field_content').show();
- } else {
- $('.field_content').hide();
- }
- });
- // 折叠作者文本
- $(document).on('click', '.author-content-button-item', function () {
- var content = $(this).parent('.add-author-item')[0];
- content.style.height = content.offsetHeight === 520 ? 42 + 'px' : 520 + 'px';
- // 改为图片向上
- if (content.style.height === '42px') {
- $(this).children('.author-sort-number').children('.fa').attr('class', 'fa fa-angle-up');
- // 设置拖动class
- $(this).parent('.add-author-item').addClass('sort-author-item');
- }
- // 改为图片向下
- if (content.style.height === '520px') {
- $(this).children('.author-sort-number').children('.fa').attr('class', 'fa fa-angle-down');
- $(this).parent('.add-author-item').removeClass('sort-author-item');
- }
- });
- //flag用于判断鼠标状态点击后是否松开
- let flag = false;
- //移动的对象代码
- let str = ''
- //移动对象本身宽度
- let obj_width = 0;
- //移动对象本身高度
- let obj_height = 0;
- //移动对象
- let obj_target = ''
- //移动对象同等级下标 判断比较对象是在当前移动对象上面还是下面
- let obj_index = 0;
- //监听拖拽对象鼠标点击事件
- $(document).on('mousedown', '.author-sort-button', function () {
- // 存值
- obj_target = $(this).parent().parent().parent()[0];
- str = obj_target.outerHTML;
- obj_width = $(obj_target).width()
- obj_height = $(obj_target).height()
- obj_index = $(obj_target).index()
- //复制拖拽对象进入隐藏的box2并设置透明度(视觉效果好一些),移动到当前位置
- $('#box2').html(str)
- $('#box2').fadeTo(1, 0.5);
- //obj_height除以二和obj_width除以二是为了让鼠标在复制对象的中间,视觉效果好一些
- $('#box2').offset({top: event.pageY - (obj_height / 2), left: event.pageX - (obj_width / 2)});
- setTimeout(function () {
- $('#box2').show();
- }, 100)
- //点击标识修改为true
- flag = true;
- });
- //监听页面鼠标释放事件
- $(document).mouseup(function (event) {
- //清空box2
- $("#box2").html('');
- //点击标识修改为false
- flag = false;
- updateInputNames();
- });
- //监听页面鼠标移动事件
- $(document).mousemove(function (event) {
- if (flag) {
- //复制对象跟随鼠标移动
- $("#box2").offset({top: event.pageY - (obj_height / 2), left: event.pageX - (obj_width / 2)});
- //循环要排序的对象
- $("#box .add-author-item").each(function (k, v) {
- //判断在移动对象上面的数据,判断鼠标所在距离顶部位置小于上面对象距顶部位置的位置+上面对象的高度时则移动
- if (k < obj_index && event.pageY <= $(this).offset().top + $(this).height()) {
- $(this).before(obj_target)
- obj_index = $(obj_target).index()
- return false;
- }
- //判断在移动对象下面的数据,判断鼠标所在距离顶部位置大于下面对象的距顶部位置则移动
- if (k > obj_index && event.pageY >= $(this).offset().top) {
- $(this).after(obj_target)
- obj_index = $(obj_target).index();
- return false;
- }
- });
- }
- });
- // 阻止鼠标选中文本
- $(document).bind("selectstart",function(){return false;});
- Form.api.bindevent($("#submit-manuscript-form"), function () {
- setTimeout(function () {
- location.href = '/index/user/display_submitted';
- }, 2000);
- });
- },
- invite_reviewers: function () {
- // updateHidden();
- // 全选
- $('#reviewer-table').on('click', '.chk', function () {
- var checkedStatus = this.checked;
- $('#reviewer-table .son-chk').prop('checked', checkedStatus);
- updateHidden()
- });
- $('#reviewer-table').on('click', '.son-chk', function () {
- updateHidden();
- })
- function updateHidden() {
- var checkedVals = [];
- $('.son-chk:checked').each(function () {
- let obj = {};
- obj['id'] = $(this).data('id');
- obj['user_id'] = $(this).data('user-id');
- obj['name'] = $(this).data('name');
- obj['education'] = $(this).data('education');
- obj['affiliation'] = $(this).data('affiliation');
- obj['field'] = $(this).data('field');
- checkedVals.push(obj);
- });
- $('#submit-invite-reviewers-form .reviewer-content').empty();
- console.log(checkedVals);
- $.each(checkedVals, function (i, val) {
- var str = '<input type="hidden" name="row[reviewer][' + i + '][id]" value="' + val.id + '">\n' +
- '<input type="hidden" name="row[reviewer][' + i + '][user_id]" value="' + val.user_id + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + i + '][name]" value="' + val.name + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + i + '][education]" value="' + val.education + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + i + '][affiliation]" value="' + val.affiliation + '">\n' +
- ' <input type="hidden" name="row[reviewer][' + i + '][field]" value="' + val.field + '">';
- ' <input type="hidden" name="row[reviewer][' + i + '][journal]" value="' + val.journal + '">';
- $('#submit-invite-reviewers-form .reviewer-content').append(str);
- });
- }
- // 点击按钮后获取选择
- Form.api.bindevent($("#submit-invite-reviewers-form"), function () {
- // 清理缓存
- localStorage.removeItem('selectedTableVals');
- setTimeout(function () {
- location.href = '/index/user/editing_manuscripts';
- }, 2000);
- });
- },
- handing_suggestions: function () {
- Form.api.bindevent($("#submit-comments-form"), function () {
- setTimeout(function () {
- location.href = '/index/user/show_reviewed_manuscripts';
- }, 2000);
- });
- },
- display_submitted: function () {
- // 初始化分页参数
- var currentPage = 1;
- var pageSize = 10;
- $('#c-search').on("keyup", function (e) {
- if (e.keyCode === 13) {
- let keyword = $(this).val();
- // 点击回车后进行搜索
- $.ajax({
- url: 'user/display_submitted',
- type: 'GET',
- dataType: 'json',
- data: {
- page: currentPage,
- limit: pageSize,
- keyword: keyword,
- },
- success: function (res) {
- if (res.code === 1) {
- $('.article-list').html('');
- var tableData = res.data.data;
- for (var i = 0; i < tableData.length; i++) {
- let rowData = tableData[i];
- let edit_str = '';
- let comments_str = '';
- let view_comments_str = '';
- if (rowData.is_edit) {
- edit_str = '<div class="article-read">\n' +
- ' <a href="submit_manuscript?id=' + rowData.id + '" style="color: #007bff;" target="_blank">\n' +
- ' <img src="/assets/img/index/personal_data_icon.png" alt="">\n' +
- ' Edit\n' +
- ' </a>\n' +
- ' </div>\n';
- }
- if (rowData.is_comments) {
- comments_str = '<div class="article-read">\n' +
- ' <a href="review_comments.html?id=' + rowData.id + '&type=author" style="color: #007bff;" target="_blank">\n' +
- ' <img src="/assets/img/index/reply.png" alt="">\n' +
- ' Reply review comments\n' +
- ' </a>\n' +
- ' </div>';
- }
- if (rowData.is_view_comments) {
- view_comments_str = '<div class="article-read">\n' +
- ' <a href="article_details.html?id={$vo.id}&type=author" style="color: #007bff;" target="_blank">\n' +
- ' <img src="/assets/img/index/view_comments.png" alt="">\n' +
- ' View\'s comments\n' +
- ' </a>\n' +
- ' </div>';
- }
- let html = '<article class="article-item">\n' +
- ' <div class="media">\n' +
- ' <div class="media-left">\n' +
- ' <a href="javascript:;">\n' +
- ' <div class="embed-responsive embed-responsive-4by3 img-zoom p-0">\n' +
- ' <img src="' + rowData.image + '">\n' +
- ' </div>\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' <div class="media-body">\n' +
- ' <h3 class="article-title">\n' +
- ' <a href="javascript:;">' + rowData.title + '</a>\n' +
- ' <div class="article-title-id">\n' +
- ' ID:' + rowData.id + '\n' +
- ' </div>\n' +
- ' </h3>\n' +
- ' <div class="article-intro">\n' +
- ' <span class="label label-info article-intro-label">' + rowData.journal + '</span>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' <div itemprop="date">Submission date:' + rowData.createtime + '</div>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' ' + edit_str + '' +
- ' ' + comments_str + '' +
- ' <div class="article-read">\n' +
- ' <a href="send_email.html?id=' + rowData.id + '&type=author" style="color: #007bff;" target="_blank">\n' +
- ' <img src="/assets/img/index/email.png" alt="">\n' +
- ' Send Email' +
- ' </a>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </article>';
- $('.article-list').append(html);
- }
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- }
- });
- },
- editing_manuscripts: function () {
- // 初始化分页参数
- var currentPage = 1;
- var pageSize = 10;
- var status = $('#editor_manuscripts_status').val();
- $('#c-search').on("keyup", function (e) {
- if (e.keyCode === 13) {
- let keyword = $(this).val();
- // 点击回车后进行搜索
- $.ajax({
- url: 'user/editing_manuscripts',
- type: 'GET',
- dataType: 'json',
- data: {
- page: currentPage,
- limit: pageSize,
- keyword: keyword,
- status: status,
- },
- success: function (res) {
- if (res.code === 1) {
- if (res.data.total > 0) {
- $('.article-list').html('');
- var tableData = res.data.data;
- for (var i = 0; i < tableData.length; i++) {
- let rowData = tableData[i];
- let str = '';
- if (rowData.is_chief) {
- str = `<div class="article-read">
- <a href="invite_editor.html?id=${rowData.id}&type=chief" style="color: #007bff;" target="_blank">
- <img src="/assets/img/index/invite-editor.png" alt="">
- Invite Editor
- </a>
- </div>`;
- }
- let html = `<article class="article-item">
- <div class="media">
- <div class="media-left">
- <a href="article_details?id=${rowData.id}&type=editor">
- <div class="embed-responsive embed-responsive-4by3 img-zoom p-0">
- <img src="${rowData.image}">
- </div>
- </a>
- </div>
- <div class="media-body">
- <h3 class="article-title">
- <a href="article_details?id=${rowData.id}&type=editor">${rowData.title}</a>
- </h3>
- <div class="article-tag" style="display: flex;justify-content: space-between;">
- <span itemprop="date">Submission date:${rowData.createtime}</span>
- <div class="article-title-id">
- ID:${rowData.id}
- </div>
- </div>
- <div class="article-intro">
- <span class="label label-success article-intro-label">${rowData.journal}</span>
- </div>
- <div class="article-tag">
- <div class="article-read">
- <a href="handing_suggestions.html?id=${rowData.id}&type=editor" style="color: #007bff;" target="_blank">
- <img src="/assets/img/index/suggestions_button.png" alt="">
- Handing suggestions
- </a>
- </div>
- <div class="article-read">
- <a href="article_details.html?id=${rowData.id}&type=editor" style="color: #007bff;" target="_blank">
- <img src="/assets/img/index/view_button.png" alt="">
- View
- </a>
- </div>
- <div class="article-read">
- <a href="invite_reviewers.html?id=${rowData.id}&type=editor" style="color: #007bff;" target="_blank">
- <img src="/assets/img/index/editor_button.png" alt="">
- Invite Reviewers
- </a>
- </div>
- ${str}
- <div class="article-read">
- <a href="send_email.html?id=${rowData.id}&type=editor" style="color: #007bff;" target="_blank">
- <img src="/assets/img/index/email.png" alt="">
- Send Email
- </a>
- </div>
- </div>
- </div>
- </div>
- </article>`;
- $('.article-list').append(html);
- }
- }
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- }
- });
- },
- show_reviewed_manuscripts: function () {
- // 初始化分页参数
- var currentPage = 1;
- var pageSize = 10;
- var status = $('#reviewed_manuscripts_status').val();
- $('#c-search').on("keyup", function (e) {
- if (e.keyCode === 13) {
- let keyword = $(this).val();
- // 点击回车后进行搜索
- $.ajax({
- url: 'user/show_reviewed_manuscripts',
- type: 'GET',
- dataType: 'json',
- data: {
- status: status,
- page: currentPage,
- limit: pageSize,
- keyword: keyword,
- },
- success: function (res) {
- if (res.code === 1) {
- $('.article-list').html('');
- var tableData = res.data.data;
- for (var i = 0; i < tableData.length; i++) {
- let rowData = tableData[i];
- let html = '<article class="article-item">\n' +
- ' <div class="media">\n' +
- ' <div class="media-left">\n' +
- ' <a href="article_details?id=' + rowData.id + '&type=review">\n' +
- ' <div class="embed-responsive embed-responsive-4by3 img-zoom">\n' +
- ' <img src="' + rowData.image + '">\n' +
- ' </div>\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' <div class="media-body">\n' +
- ' <h3 class="article-title">\n' +
- ' <a href="article_details?id=' + rowData.id + '&type=review">' + rowData.title + '</a>\n' +
- ' <div class="article-title-id">\n' +
- ' ID:' + rowData.id + '\n' +
- ' </div>\n' +
- ' </h3>\n' +
- ' <div class="article-intro">\n' +
- ' <span class="label label-success article-intro-label">' + rowData.journal + '</span>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' <span itemprop="date">Submission date:' + rowData.createtime + '</span>\n' +
- ' <span class="article-read">\n' +
- ' <a href="conduct_review?id=' + rowData.id + '&type=reviewer" style="color: #007bff;" target="_blank">\n' +
- ' <img src="/assets/img/index/review_button.png" alt="">\n' +
- ' Review\n' +
- ' </a>\n' +
- ' <span/>\n' +
- ' <div class="article-read">\n' +
- ' <a href="send_email.html?id=' + rowData.id + '&type=reviewer" style="color: #007bff;" target="_blank">\n' +
- ' <img src="/assets/img/index/email.png" alt="">\n' +
- ' Send Email\n' +
- ' </a>\n' +
- ' </div>'
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </article>';
- $('.article-list').append(html);
- }
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- }
- });
- },
- invitation_letter: function () {
- // 初始化分页参数
- var currentPage = 1;
- var pageSize = 10;
- var status = $('#manuscript_invite_status').val();
- $('#c-search').on("keyup", function (e) {
- if (e.keyCode === 13) {
- let keyword = $(this).val();
- // 点击回车后进行搜索
- $.ajax({
- url: 'user/invitation_letter',
- type: 'GET',
- dataType: 'json',
- data: {
- status: status,
- page: currentPage,
- limit: pageSize,
- keyword: keyword,
- },
- success: function (res) {
- if (res.code === 1) {
- $('.article-list').html('');
- var tableData = res.data.data;
- for (var i = 0; i < tableData.length; i++) {
- let rowData = tableData[i];
- let html = '<article class="article-item">\n' +
- ' <div class="media">\n' +
- ' <div class="media-left">\n' +
- ' <a href="article_details?id=' + rowData.id + '&type=invita_review">\n' +
- ' <div class="embed-responsive embed-responsive-4by3 img-zoom p-0">\n' +
- ' <img src="' + rowData.image + '">\n' +
- ' </div>\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' <div class="media-body">\n' +
- ' <h3 class="article-title">\n' +
- ' <a href="article_details?id=' + rowData.id + '&type=invita_review">' + rowData.title + '</a>\n' +
- ' <div class="article-title-id">\n' +
- ' ID:' + rowData.id + '\n' +
- ' </div>\n' +
- ' </h3>\n' +
- ' <div class="article-intro">\n' +
- ' <span class="label label-success article-intro-label">' + rowData.journal + '</span>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' <div itemprop="date">Submission date:' + rowData.createtime + '</div>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' <div class="article-read">\n' +
- ' <a href="javascript:;" class="invite-letter" data-id="' + rowData.id + '" data-status="accept" style="color: #007bff;">\n' +
- ' <img src="/assets/img/index/accept.png" alt="">\n' +
- ' Accept\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' <div class="article-read">\n' +
- ' <a href="javascript:;" class="invite-letter" data-id="' + rowData.id + '" data-status="refuse" style="color: #007bff;">\n' +
- ' <img src="/assets/img/index/refuse.png" alt="">\n' +
- ' Refuse\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </article>';
- $('.article-list').append(html);
- }
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- }
- });
- // 接受/拒绝操作
- $(document).on('click', '.invite-letter', function () {
- let id = $(this).attr('data-id');
- let status = $(this).attr('data-status');
- $.ajax({
- url: '/index/user/invitation_letter_operate',
- type: 'POST',
- dataType: 'json',
- data: {
- id: id,
- status: status,
- },
- success: function (res) {
- if (res.code === 1) {
- Toastr.success(res.msg);
- setTimeout(function () {
- location.reload();
- }, 2000);
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- });
- },
- special_issue: function () {
- // 自定义添加作者按钮
- $(document).on('click', '.add-editor-button', function () {
- let input_index = $('.custom-editor-content').children('.custom-editor-item').length;
- let str = '<div class="custom-editor-item">\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-11">\n' +
- ' </label>\n' +
- ' <div class="editor-delete-button text-delete-button mb-3 col-xs-12 col-sm-1">\n' +
- ' <i class="fa fa-trash"></i> Delete\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>E-mail Address\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-email" name="row[editor][' + input_index + '][email]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-email"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>First Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-first-name" name="row[editor][' + input_index + '][first_name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-first-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Last Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-last-name" name="row[editor][' + input_index + '][last_name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-last-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-affiliation" name="row[editor][' + input_index + '][affiliation]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-affiliation"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Publication Record Link\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-record_link" name="row[editor][' + input_index + '][record_link]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-record_link"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>';
- $('.custom-editor-content').append(str);
- updateEditorInputNames();
- });
- // 排序input 的 name 值
- var updateEditorInputNames = function () {
- // 遍历所有的div元素
- $(".custom-editor-item").each(function (index) {
- var email_input = $(this).find('input[id="c-add-editor-email"]');
- var first_name_input = $(this).find('input[id="c-add-editor-first-name"]');
- var last_name_input = $(this).find('input[id="c-add-editor-last-name"]');
- var affiliation_input = $(this).find('input[id="c-add-editor-affiliation"]');
- var record_link_input = $(this).find('input[id="c-add-editor-record_link"]');
- email_input.attr('name', "row[editor][" + index + "][email]");
- first_name_input.attr('name', "row[editor][" + index + "][first_name]");
- last_name_input.attr('name', "row[editor][" + index + "][last_name]");
- affiliation_input.attr('name', "row[editor][" + index + "][affiliation]");
- record_link_input.attr('name', "row[editor][" + index + "][record_link]");
- });
- };
- // 删除对应的作者信息
- $(document).on('click', '.editor-delete-button', function () {
- let editor_content_length = $('.custom-editor-content').children('.custom-editor-item').length;
- if (editor_content_length > 1) {
- $(this).parent().parent().remove();
- // 删除后更新 input 的 name 值
- updateEditorInputNames();
- }
- });
- // 自定义作者信息提交按钮操作
- $(document).on('click', '.add-editor-submit', function () {
- let tr_length = $('#recommended-table tbody tr').length;
- let key = $(".custom-editor-item").length;
- let addEditorInputValue = [];
- for (let i = 0; i < key; i++) {
- let obj = {};
- obj['email'] = $(this).parent().parent().find("input[name='row[editor][" + i + "][email]']").val();
- obj['first_name'] = $(this).parent().parent().find("input[name='row[editor][" + i + "][first_name]']").val();
- obj['last_name'] = $(this).parent().parent().find("input[name='row[editor][" + i + "][last_name]']").val();
- obj['affiliation'] = $(this).parent().parent().find("input[name='row[editor][" + i + "][affiliation]']").val();
- obj['record_link'] = $(this).parent().parent().find("input[name='row[editor][" + i + "][record_link]']").val();
- addEditorInputValue.push(obj);
- }
- for (var i = 0; i < addEditorInputValue.length; i++) {
- var rowData = addEditorInputValue[i];
- if (addEditorInputValue.length > 1) {
- if (i > 0) {
- tr_length++;
- }
- }
- let html = ' <input type="hidden" name="row[editor][' + tr_length + '][email]" value="' + rowData.email + '">\n' +
- ' <input type="hidden" name="row[editor][' + tr_length + '][first_name]" value="' + rowData.first_name + '">\n' +
- ' <input type="hidden" name="row[editor][' + tr_length + '][last_name]" value="' + rowData.last_name + '">\n' +
- ' <input type="hidden" name="row[editor][' + tr_length + '][affiliation]" value="' + rowData.affiliation + '">\n' +
- ' <input type="hidden" name="row[editor][' + tr_length + '][record_link]" value="' + rowData.record_link + '">';
- var rowHtml = '<tr>' +
- '<td>' + rowData.email + '</td>' +
- '<td>' + rowData.first_name + '</td>' +
- '<td>' + rowData.last_name + '</td>' +
- '<td>' + rowData.affiliation + '</td>' +
- '<td>' + rowData.record_link + '</td>' +
- '<td class="recommended-del" data-index="' + tr_length + '"><a href="#">删除</a></td>' +
- '</tr>';
- $('#recommended-table tbody').append(rowHtml);
- $('.editor-hidden-content').append(html);
- }
- // 清空已填内容
- $('.custom-editor-content').html('');
- $('.custom-editor-content').append('<div class="custom-editor-item">\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-11">\n' +
- ' </label>\n' +
- ' <div class="editor-delete-button text-delete-button mb-3 col-xs-12 col-sm-1">\n' +
- ' <i class="fa fa-trash"></i> Delete\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>E-mail Address\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-email" name="row[editor][0][email]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-email"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>First Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-first-name" name="row[editor][0][first_name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-first-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Last Name\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-last-name" name="row[editor][0][last_name]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-last-name"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-affiliation" name="row[editor][0][affiliation]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-affiliation"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- '\n' +
- ' <div class="form-group">\n' +
- ' <label class="control-label col-xs-12 col-sm-2 text-right">\n' +
- ' <span style="color:#ed534b;margin-right: 10px;">*</span>Publication Record Link\n' +
- ' </label>\n' +
- ' <div class="col-xs-12 col-sm-10">\n' +
- ' <input type="text" data-rule="required" class="form-control" id="c-add-editor-record_link" name="row[editor][0][record_link]" placeholder="Type here...">\n' +
- ' <div class="input-group-addon no-border no-padding">\n' +
- ' <span class="msg-box n-right" for="c-add-review-record_link"></span>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>');
- $('#addEditorModal').modal('hide');
- });
- // 删除已选中的作者
- $(document).on('click', '.recommended-del', function () {
- let index = $(this).data('index');
- $('.editor-hidden-content').find('input[name="row[editor]\\[' + index + '\\]\\[email\\]"]').remove();
- $('.editor-hidden-content').find('input[name="row[editor]\\[' + index + '\\]\\[first_name\\]"]').remove();
- $('.editor-hidden-content').find('input[name="row[editor]\\[' + index + '\\]\\[last_name\\]"]').remove();
- $('.editor-hidden-content').find('input[name="row[editor]\\[' + index + '\\]\\[affiliation\\]"]').remove();
- $('.editor-hidden-content').find('input[name="row[editor]\\[' + index + '\\]\\[record_link\\]"]').remove();
- $(this).parent().remove();
- // 重新排列键值
- });
- // 辅助函数:生成指定起始页码和结束页码的分页按钮HTML代码
- function generatePagination(startPage, endPage) {
- var pageHtml = '';
- for (var i = startPage; i <= endPage; i++) {
- if (i === currentPage) {
- pageHtml += '<a href="#" class="pagination-link active">' + i + '</a>';
- } else {
- pageHtml += '<a href="#" class="pagination-link">' + i + '</a>';
- }
- }
- return pageHtml;
- }
- Form.api.bindevent($("#submit-issue-form"), function () {
- setTimeout(function () {
- location.href = '/index/user/special_issue_list'
- }, 2000);
- });
- },
- article_details: function () {
- // 意见转呈给作者
- $(document).on('click', '#send-button', function () {
- let comment_id = $(this).attr('data-id');
- Layer.confirm("Are you sure you want to forward it to the author?", {
- title: "Tips",
- icon: 0,
- btn: ["Confirm", "Cancel"]
- }, function () {
- $.ajax({
- url: 'user/send_author_comments',
- type: 'POST',
- dataType: 'json',
- data: {
- comment_id: comment_id
- },
- success: function (res) {
- console.log(res);
- if (res.code === 1) {
- Toastr.success(res.msg);
- setTimeout(function () {
- location.reload();
- }, 2000);
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- });
- });
- // 点击tab切换表格
- $(document).on('click', '.breadcrumb-item', function () {
- let status = $(this).children().attr('data-value');
- let manuscript_id = $(this).children().attr('data-id');
- let user_id = $(this).children().attr('data-user');
- $.ajax({
- url: '/api/user/get_article_detail_table',
- type: 'POST',
- dataType: 'json',
- data: {
- status: status,
- manuscript_id: manuscript_id,
- },
- success: function (res) {
- if (res.code === 1) {
- // 邀请的审稿人信息
- let result = res.data;
- if (status == 'reviewer_details') {
- $('.reviewer_suggestion').hide();
- $('.review_report').hide();
- $('.author_report').hide();
- $('.reviewer_details').show();
- let data = result.reviewer;
- let str = '';
- for (let i = 0; i < data.length; i++) {
- str += '<tr>\n' +
- ' <td>'+ data[i].nickname +'</td>\n' +
- ' <td>'+ data[i].invited_time +'</td>\n' +
- ' <td>'+ data[i].reply_time +'</td>\n' +
- ' <td>'+ data[i].submission_time +'</td>\n' +
- ' <td>'+ data[i].status +'</td>\n' +
- ' </tr>';
- }
- $('.reviewer_details_content').html(str);
- }
- // 审稿人信息
- if (status == 'reviewer_suggestion') {
- $('.reviewer_suggestion').show();
- $('.review_report').hide();
- $('.author_report').hide();
- $('.reviewer_details').hide();
- let data = result.reviewer;
- let str = '';
- for (let i = 0; i < data.length; i++) {
- str += '<tr>\n' +
- ' <td>'+ data[i].nickname +'</td>\n' +
- ' <td>'+ data[i].affiliation +'</td>\n' +
- ' <td>'+ data[i].comment_num +'</td>\n' +
- ' </tr>';
- }
- $('.reviewer_suggestion_content').html(str);
- }
- // 审稿人意见信息
- if (status == 'review_report') {
- $('.reviewer_suggestion').hide();
- $('.review_report').show();
- $('.author_report').hide();
- $('.reviewer_details').hide();
- let data = result.reviewer;
- let str = '';
- let is_button = '';
- for (let i = 0; i < data.length; i++) {
- if (data.user_id != user_id) {
- if (data[i].is_send == 'hidden') {
- is_button = '<a href="javascript:;" id="send-button" data-id="'+ data[i].comment_id +'">SEND</a>'
- }
- }
- str += '<tr>\n' +
- ' <td>'+ data[i].nickname +'</td>\n' +
- ' <td>'+ data[i].recommendation +'</td>\n' +
- ' <td>'+ data[i].comment +'</td>\n' +
- ' <td>'+ data[i].createtime +'</td>\n' +
- ' <td>\n' +
- ' '+ is_button +' \n' +
- ' </td>\n' +
- ' </tr>';
- }
- $('.review_report_content').html(str);
- }
- // 作者回复意见
- if (status == 'author_report') {
- $('.reviewer_suggestion').hide();
- $('.review_report').hide();
- $('.author_report').show();
- $('.reviewer_details').hide();
- let data = result.author;
- let str = '';
- for (let i = 0; i < data.length; i++) {
- str += '<tr>\n' +
- ' <td>'+ data[i].nickname +'</td>\n' +
- ' <td>'+ data[i].comment +'</td>\n' +
- ' <td>'+ data[i].createtime +'</td>\n' +
- ' </tr>';
- }
- $('.author_report_content').html(str);
- }
- } else {
- Toastr.error(res.msg);
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- })
- $(document).ready(function () {
- $('.reviewer_details').show();
- });
- setTimeout(function () {
- $('.btn-delete').remove();
- $('.input-group-addon').remove();
- }, 300);
- Form.api.bindevent($("#article-details-form"), function () {
- setTimeout(function () {
- location.href = window.history.go(-1);
- }, 2000);
- });
- },
- conduct_review: function () {
- Form.api.bindevent($("#submit-comments-form"), function () {
- setTimeout(function () {
- location.href = '/index/user/show_reviewed_manuscripts';
- }, 2000);
- });
- },
- submit_conference: function () {
- Form.api.bindevent($("#conference-form"), function () {
- setTimeout(function () {
- location.href = '/p/conference';
- }, 2000);
- }, function (data) {
- $("input[name=captcha]").next(".input-group-addon").find("img").trigger("click");
- });
- },
- conference_participate: function () {
- Form.api.bindevent($("#conference-participate-form"), function () {
- setTimeout(function () {
- location.href = window.history.go(-1);
- }, 2000);
- });
- },
- reviewer_information: function () {
- //为表单绑定事件
- Form.api.bindevent($("#reviewer-information-form"), function (data, ret) {
- }, function (data) {
- });
- },
- become_an_editor: function () {
- let is_radio_checked = false;
- // 点击单选框时触发事件
- $("input[type='radio']").on("click", function () {
- // 判断单选框是否更改
- var isChecked = $("input[type='radio']").is(":checked");
- if (isChecked) {
- is_radio_checked = true;
- }
- });
- // 获取表单内所有单选框
- var radios = $("input[type='radio']");
- // 遍历单选框
- for (let i = 0; i < radios.length; i++) {
- if ($(radios[i]).is(":checked")) {
- is_radio_checked = true;
- }
- }
- // 如果更改了单选框的值则需要提示
- $('#submit-button').click(function () {
- if (is_radio_checked) {
- Layer.confirm("If you have selected a character, the corresponding character attributes will be lost. Do you want to continue?", {
- title: "Tips",
- icon: 0,
- btn: ["Continue", "Cancel"]
- }, function () {
- is_radio_checked = false;
- $('#submit-button').click();
- });
- return false;
- }
- })
- //为表单绑定事件
- Form.api.bindevent($("#become-an-editor-form"), function (data, ret) {
- setTimeout(function () {
- // location.reload();
- }, 2000);
- }, function (data) {
- // $("input[name=captcha]").next(".input-group-btn").find("img").trigger("click");
- });
- },
- review_comments: function () {
- //为表单绑定事件
- Form.api.bindevent($("#review-comments-form"), function (data, ret) {
- setTimeout(function () {
- location.href = '/index/user/display_submitted';
- }, 2000);
- }, function (data) {
- });
- },
- // 发送邮件
- send_email: function () {
- $('#submit-button').prop('disabled', true);
- let mail_smtp_host = $('input[name="mail_smtp_host"]').val();
- let mail_smtp_port = $('input[name="mail_smtp_port"]').val();
- let mail_smtp_user = $('input[name="mail_smtp_user"]').val();
- let mail_smtp_pass = $('input[name="mail_smtp_pass"]').val();
- if (!mail_smtp_host && !mail_smtp_port && !mail_smtp_user && !mail_smtp_pass) {
- Layer.confirm("You have not filled in the email configuration yet, which may cause sending the specified email to fail", {
- title: "Tips",
- icon: 0,
- btn: ["Go to fill out", "Ignore/Cancel"]
- }, function () {
- location.href = '/index/user/profile';
- });
- } else {
- $('#submit-button').prop('disabled', false);
- }
- //为表单绑定事件
- Form.api.bindevent($("#send-email-form"), function (data, ret) {
- setTimeout(function () {
- location.href = '/index/user/inbox';
- }, 2000);
- }, function (data) {
- });
- },
- // 邀请编辑
- invite_editor: function () {
- //为表单绑定事件
- Form.api.bindevent($("#invite-editor-form"), function (data, ret) {
- setTimeout(function () {
- location.href = '/index/user/editing_manuscripts';
- }, 2000);
- }, function (data) {
- });
- },
- special_issue_list: function () {
- // 初始化分页参数
- var currentPage = 1;
- var pageSize = 10;
- $('#c-search').on("keyup", function (e) {
- if (e.keyCode === 13) {
- let keyword = $(this).val();
- // 点击回车后进行搜索
- $.ajax({
- url: 'user/special_issue_list',
- type: 'GET',
- dataType: 'json',
- data: {
- page: currentPage,
- limit: pageSize,
- keyword: keyword,
- },
- success: function (res) {
- if (res.code === 1) {
- $('.article-list').html('');
- var tableData = res.data.data;
- for (var i = 0; i < tableData.length; i++) {
- let rowData = tableData[i];
- let html = '<article class="article-item">\n' +
- ' <div class="media">\n' +
- ' <div class="media-left">\n' +
- ' <a href="special_issue?id=' + rowData.id + '}">\n' +
- ' <div class="embed-responsive embed-responsive-4by3 img-zoom p-0">\n' +
- ' <img src="' + rowData.image + '">\n' +
- ' </div>\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' <div class="media-body">\n' +
- ' <h3 class="article-title">\n' +
- ' <a href="special_issue?id=' + rowData.id + '">' + rowData.issue_name + '</a>\n' +
- ' <div class="article-title-id">\n' +
- ' ID:' + rowData.id + '\n' +
- ' </div>\n' +
- ' </h3>\n' +
- ' <div class="article-intro">\n' +
- ' <span class="label label-info article-intro-label">' + rowData.journal + '</span>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' <div itemprop="date">Submission date:' + rowData.createtime + '</div>\n' +
- ' </div>\n' +
- ' <div class="article-tag">\n' +
- ' <div class="article-read">\n' +
- ' <a href="special_issue?id=' + rowData.id + '" style="color: #007bff;">\n' +
- ' <img src="__CDN__/assets/img/index/personal_data_icon.png" alt="">\n' +
- ' Edit\n' +
- ' </a>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </article>';
- $('.article-list').append(html);
- }
- }
- },
- error: function (xhr, status, error) {
- console.error(error);
- }
- });
- }
- });
- },
- };
- return Controller;
- });
|