import Images from '../components/images/Images.vue'; import adminImages from '../components/images/adminImages.vue'; import selectImages from '../components/images/selectImages.vue'; import selectGrampusImages from '../components/images/selectGrampusImages.vue'; import Vue from 'vue'; export default async function initImage(){ function validate() { $("#form_image") .form({ on: 'blur', // inline:true, fields: { tag: { identifier : 'tag', rules: [ { type: 'regExp[/^[A-Za-z0-9_.-]{1,100}[A-Za-z0-9_.]$/]', } ] }, description:{ identifier : 'description', rules: [ { type: 'empty', } ] }, place:{ identifier : 'place', rules: [ { type: 'empty', } ] }, } }) } function $params(obj) { var str = []; for (var p in obj) { str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); } return str.join("&"); } function initDropdown(){ $('#dropdown_image') .dropdown({ allowAdditions: true, onChange: function(value, text, $selectedItem) { $('#course_label_item').empty() } }) $('#dropdown_image input.search').bind('input propertychange', function (event) { // $("#dropdown_container").removeAttr("style"); const query = $('input.search').val() if(!query){ $('#course_label_item').empty() }else{ $.get(`/api/v1/image/topics/search?q=${query}`,(data)=>{ if(data.topics.length!==0){ let html='' $('#course_label_item').empty() data.topics.forEach(element => { html += `
${element.topic_name}
` }); $('#course_label_item').append(html) } }) } }); } validate() initDropdown() let link = $('.submit-image-tmplvalue').data('link') let pageform = $('.submit-image-tmplvalue').data('edit-page') || '' function postImage(formData) { $("#mask").css({"display":"block","z-index":"999"}) $.ajax({ url:link, type:'POST', data:formData, success:function(res){ console.log(res) if(res.Code===1){ $('.ui.negative.message').text(res.Message).show().delay(2500).fadeOut(); }else if(res.Code==0){ if(location.href.indexOf('imageAdmin')!==-1){ location.href = `${window.config.AppSubUrl}/admin/images` }else{ location.href = `${window.config.AppSubUrl}/explore/images?type=myimage` } } }, error: function(xhr){ // 隐藏 loading // 只有请求不正常(状态码不为200)才会执行 $('.ui.negative.message').html(xhr.responseText).show().delay(1500).fadeOut(); }, complete:function(xhr){ $("#mask").css({"display":"none","z-index":"1"}) } }) } $('.ui.create_image.green.button').click(()=>{ let pattenTag = new RegExp(/^[A-Za-z0-9_.-]{1,100}[A-Za-z0-9_.]$/) if(!pattenTag.test($("input[name='tag']").val())){ $("input[name='tag']").parent().addClass('error') return false } if(!$("textarea[name='description']").val()){ $("textarea[name='description']").parent().addClass('error') return false } if($("input[name='place']").length>0&&!$("input[name='place']").val()){ console.log("1111111",$("input[name='place']")) $("input[name='place']").parent().addClass('error') return false } const postData = { _csrf:$("input[name='_csrf']").val(), tag:$("input[name='tag']").val(), description:$("textarea[name='description']").val(), type:$("input[name='type']").val(), isPrivate:$("input[name='isPrivate']:checked").val(), topics:$("input[name='topics']").val(), id:$("input[name='id']").val() } if($("input[name='place']").val()&&$("input[name='isRecommend']:checked").val()){ postData.isRecommend = $("input[name='isRecommend']:checked").val() postData.place = $("input[name='place']").val() } let formData = $params(postData) if($("input[name='edit']").val()=="edit"){ postImage(formData) } else{ $.ajax({ url:link+'/check', type:'POST', data:formData, success:function(res){ if(res.Code===1){ $('.ui.modal.image_confirm_submit') .modal({ onApprove: function() { postImage(formData) }, }) .modal('show') }else if(res.Code==0){ postImage(formData) } }, error: function(xhr){ $('.ui.negative.message').text(xhr.responseText).show().delay(1500).fadeOut(); } }) } return false }) $('#cancel_submit_image').click(()=>{ console.log(pageform) if(link.includes('cloudbrain')){ let repoLink = link.split('cloudbrain')[0] location.href = `${window.config.AppSubUrl}${repoLink}debugjob?debugListType=all` }else if(pageform=='imageSquare'){ location.href = `${window.config.AppSubUrl}/explore/images?type=myimage` }else if(pageform){ location.href = `${window.config.AppSubUrl}/admin/images` } }) function initVueImages() { const el = document.getElementById('images'); if (!el) { return; } new Vue({ el:el, render: h => h(Images) }); } function initVueAdminImages() { const el = document.getElementById('images-admin'); if (!el) { return; } new Vue({ el:el, render: h => h(adminImages) }); } function initVueselectImages() { const el = document.getElementById('images-new-cb'); if (!el) { return; } new Vue({ el:el, render: h => h(selectImages) }); } function initVueselectGrampusImages() { const el = document.getElementById('images-new-grampus'); if (!el) { return; } new Vue({ el:el, render: h => h(selectGrampusImages) }); } initVueImages() initVueAdminImages() initVueselectImages() initVueselectGrampusImages() }