1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945 |
- 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);
- });
- //忘记密码
- $(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 () {
- //本地验证未通过时提示
- $("#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");
- $("#c-number_page").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();
- let number_page = $('#c-number_page').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();
- // 最后一步设置鼠标移动时div的x与y轴的减少距离
- custom_mousemove_x = 500;
- custom_mousemove_y = 2000;
- } else if (index == 4) {
- $('.recommended-button').show();
- $(".form-item").hide();
- $(".form-item:eq(" + index + ")").show();
- } else if (index == 2) {
- $(".author-button").show();
- $(".form-item").hide();
- $(".form-item:eq(" + index + ")").show();
- $(".recommended-button").hide();
- } else {
- $('.recommended-button').hide();
- $(".author-item").hide();
- $('.author-button').hide();
- $(".form-item").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();
- // 最后一步设置鼠标移动时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');
- }
- } 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();
- // 最后一步设置鼠标移动时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');
- }
- }
- }
- });
- // 删除对应作者信息
- $(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().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 = {};
- 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;
- }
- });
- // 添加作者
- $('.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">
- <hr style="background: #B8B8B8;">
- <div class="form-group author-content-button-item">
- <div class="author-delete-button text-delete-button">
- <i class="fa fa-trash"></i> Delete
- </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 for="c-display-e-mail-yes-${input_index}"><input data-rule="required" id="c-display-e-mail-yes-${input_index}" name="row[author][${input_index}][display_email]" type="radio" value="yes" data-tip="" checked/>Yes</label>
- <label for="c-display-e-mail-no-${input_index}"><input data-rule="required" id="c-display-e-mail-no-${input_index}" name="row[author][${input_index}][display_email]" type="radio" value="no" data-tip="" />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 for="c-correspondsing-author-yes-${input_index}"><input data-rule="required" id="c-correspondsing-author-yes-${input_index}" name="row[author][${input_index}][correspondsing_author]" type="radio" value="yes" checked/>Yes</label>
- <label for="c-correspondsing-author-no-${input_index}"><input data-rule="required" id="c-correspondsing-author-no-${input_index}" 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 () {
- drags('add-author-item', 'div-dash', 'dash');
- // 遍历所有的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[type=radio][id=c-display-e-mail-yes]");
- var display_email_no_radio = $(this).find("input[type=radio][id=c-display-e-mail-no]");
- var correspondsing_author_yes_radio = $(this).find("input[type=radio][id=c-correspondsing-author-yes]");
- var correspondsing_author_no_radio = $(this).find("input[type=radio][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]");
- correspondsing_author_yes_radio.attr('name', "row[author]["+ index +"][correspondsing_author]");
- correspondsing_author_no_radio.attr('name', "row[author]["+ index +"][correspondsing_author]");
- select.attr('name', "row[author]["+ index +"][author_country]");
- });
- };
- // 拖拽初始化
- drags('add-author-item', 'div-dash', 'dash');
- // 拖拽方法
- function drags(name, name2, name3) {
- var range = {x: 0, y: 0}; // 鼠标元素偏移量
- var lastPos = {x: 0, y: 0, x1: 0, y1: 0}; // 拖拽对象的四个坐标
- var tarPos = {x: 0, y: 0, x1: 0, y1: 0}; // 目标元素对象的坐标初始化
- var thidDiv = null, move = false, choose = false; // 拖拽对象 拖拽状态 选中状态
- //拖拽对象的索引、高度、的初始化。
- var thidDivWidth = 0, thidDivHeight = 0, thidDivHalfW = 0, thidDivHalfH = 0, tarFirstX = 0, tarFirstY = 0;
- var tarDiv = null, tarFirst, tempDiv; // 要插入的目标元素的对象, 临时的虚线对象
- var initPos = {x: 0, y: 0}; // 记录拖拽元素初始鼠标元素偏移量
- // 当鼠标按下时
- $('.' + name).on('mousedown', function (event) {
- console.log(event.target.tagName);
- // 判断是否点击了 input 元素
- if (event.target.tagName === 'INPUT') {
- return;
- }
- if (event.target.tagName === 'SELECT') {
- return;
- }
- if (event.target.tagName === 'LABEL') {
- return;
- }
- // 判断如果鼠标是删除按钮则终止拖拽
- let class_name = event.target.className.split(" ");
- if (class_name[0] == 'author-delete-button') {
- return;
- }
- choose = true;
- // 拖拽对象
- thidDiv = $(this);
- // 记录拖拽元素初始位置
- initPos.x = thidDiv.offset().left;
- initPos.y = thidDiv.offset().top;
- // 鼠标元素相对偏移量
- range.x = event.pageX - thidDiv.offset().left;
- range.y = event.pageY - thidDiv.offset().top;
- thidDivWidth = thidDiv.width();
- thidDivHeight = thidDiv.height();
- thidDivHalfW = thidDivWidth / 2;
- thidDivHalfH = thidDivHeight / 2;
- thidDiv.attr("class", name2);
- thidDiv.css({
- left: (event.pageX + range.x) + 'px',
- top: (event.pageY + range.y) + 'px',
- });
- // 创建新元素 插入拖拽元素之前的位置(虚线框)
- $("<div class='" + name3 + "' style='float: right;'></div>").insertBefore(thidDiv);
- tempDiv = $("." + name3);
- });
- // 当鼠标抬起时
- $(document).on('mouseup', function (event) {
- if (!choose) {
- return false;
- }
- if (!move) {
- thidDiv.attr("class", name);
- tempDiv.remove(); // 删除新建的虚线div
- choose = false;
- return false;
- }
- thidDiv.insertBefore(tempDiv); // 拖拽元素插入到 虚线div的位置上
- thidDiv.attr("class", name); //恢复对象的初始样式
- tempDiv.remove(); // 删除新建的虚线div
- move = false;
- choose = false;
- // 当鼠标移动时
- }).on('mousemove', function (event) {
- if (!choose) return false;
- move = true;
- lastPos.x = event.pageX - range.x;
- lastPos.y = event.pageY - range.y;
- lastPos.x1 = lastPos.x + thidDivWidth;
- lastPos.y1 = lastPos.y + thidDivHeight;
- // 拖拽元素随鼠标移动
- thidDiv.css({
- left: lastPos.x - custom_mousemove_x + 'px',
- top: lastPos.y - custom_mousemove_y + 'px'
- });
- // 拖拽元素随鼠标移动 查找插入目标元素
- var $main = $('.' + name); // 局部变量:按照重新排列过的顺序 再次获取 各个元素的坐标,
- $main.each(function () {
- tarDiv = $(this);
- tarPos.x = tarDiv.offset().left;
- tarPos.y = tarDiv.offset().top;
- tarPos.x1 = tarPos.x + tarDiv.width() / 2;
- tarPos.y1 = tarPos.y + tarDiv.height() / 2;
- tarFirst = $main.eq(0); // 获得第一个元素
- tarFirstX = tarFirst.offset().left + thidDivHalfW; // 第一个元素对象的中心纵坐标
- tarFirstY = tarFirst.offset().top + thidDivHalfH; // 第一个元素对象的中心横坐标
- // 根据 拖拽对象x坐标 与 目标元素对象x坐标 对比,来显示 虚线div 在节点前、后出现的位置
- if (lastPos.x > tarPos.x) {
- // 判断要插入目标元素的 坐标后, 直接插入
- if (lastPos.x >= tarPos.x - thidDivHalfW && lastPos.x1 >= tarPos.x1 && lastPos.y >= tarPos.y - thidDivHalfH && lastPos.y1 >= tarPos.y1) {
- tempDiv.insertAfter(tarDiv);
- }
- //拖拽对象 移动到第一个位置
- if (lastPos.x <= tarFirstX && lastPos.y <= tarFirstY) {
- tempDiv.insertBefore(tarFirst);
- }
- } else {
- //拖拽对象 移动到第一个位置
- if (lastPos.x <= tarFirstX && lastPos.y <= tarFirstY) {
- tempDiv.insertBefore(tarFirst);
- }
- // 判断要插入目标元素的 坐标后, 直接插入
- if (lastPos.x >= tarPos.x - thidDivHalfW && lastPos.x1 >= tarPos.x1 && lastPos.y >= tarPos.y - thidDivHalfH && lastPos.y1 >= tarPos.y1) {
- tempDiv.insertAfter(tarDiv);
- }
- }
- });
- });
- }
- $.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();
- $.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');
- }
- });
- })
- 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/reviewer_information";
- // }, 2000);
- });
- },
- handing_suggestions: function () {
- Form.api.bindevent($("#submit-comments-form"), function () {
- setTimeout(function () {
- location.href = "index/user/reviewer_information";
- }, 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) {
- 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 html = '<article class="article-item">\n' +
- ' <div class="media">\n' +
- ' <div class="media-left">\n' +
- ' <a href="submit_manuscript?id='+ rowData.id +'">\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="submit_manuscript?id='+ rowData.id +'">'+ 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-primary article-intro-label">Open Access</span>\n' +
- ' <span class="label label-success article-intro-label">Feature Paper</span>\n' +
- ' <span class="label label-info article-intro-label">Review</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="submit_manuscript?id='+ rowData.id +'" style="color: #007bff;" target="_blank">\n' +
- ' <img src="__CDN__/assets/img/index/personal_data_icon.png" alt="">\n' +
- ' Edit\n' +
- ' </a>\n' +
- ' <span/>\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 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">
- <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-primary article-intro-label">Open Access</span>
- <span class="label label-success article-intro-label">Feature Paper</span>
- <span class="label label-info article-intro-label">Review</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="">
- Submit 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>
- </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) {
- console.log(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 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-primary article-intro-label">Open Access</span>\n' +
- ' <span class="label label-success article-intro-label">Feature Paper</span>\n' +
- ' <span class="label label-info article-intro-label">Review</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 +'" style="color: #007bff;" target="_blank">\n' +
- ' <img src="__CDN__/assets/img/index/review_button.png" alt="">\n' +
- ' Review\n' +
- ' </a>\n' +
- ' <span/>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </div>\n' +
- ' </article>';
- $('.article-list').append(html);
- }
- // }
- }
- },
- 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.reload();
- }, 2000);
- });
- },
- article_details: function () {
- setTimeout(function () {
- $('.btn-delete').remove();
- $('.input-group-addon').remove();
- }, 300);
- Form.api.bindevent($("#article-details-form"), function () {
- setTimeout(function () {
- location.href = "index/user/reviewer_information";
- }, 2000);
- });
- },
- conduct_review: function () {
- Form.api.bindevent($("#submit-comments-form"), function () {
- setTimeout(function () {
- location.href = "index/user/reviewer_information";
- }, 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 = "/p/conference";
- }, 2000);
- });
- },
- reviewer_information: function () {
- //为表单绑定事件
- Form.api.bindevent($("#reviewer-information-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");
- });
- },
- become_an_editor: function () {
- //为表单绑定事件
- Form.api.bindevent($("#become-an-editor-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");
- });
- },
- 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;
- });
|