高拍仪和流程附件交互

43 阅读1分钟

表单js onFormMounted(){ this.parent.parent.parent.$parent.handleIframMessage = (event) =>{ if (event.origin != window.location.origin) return;

this.$parent.$parent.$parent.formJson.attachment_key_ids.push(event.data)
this.$parent.$parent.$parent.clickSubmit()

} window.addEventListener('message', this.parent.parent.parent.$parent.handleIframMessage); const parant=document.querySelector('.attchment'); const elUpload = parant.querySelector('.el-upload');

if (elUpload) {

// 复制el-upload元素
const clonedElement = elUpload.cloneNode(true);

// 添加一些标识类
clonedElement.classList.add('cloned-upload');


const uploadBtn = clonedElement.querySelector('.uploadBtn');
const cloned_upload=document.querySelector('.cloned-upload');
if (cloned_upload)  return
if (uploadBtn) {
    const pElement = uploadBtn.querySelector('p');
    if (pElement) {
        pElement.textContent = '高拍仪';
    }
}
var URL="/Video/index.html";
 clonedElement.addEventListener('click', function() {
   window.open(URL,null,"height=1000,width=1250,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=50,left=350,resizable=yes");
});

// 添加鼠标样式提示
clonedElement.style.cursor = 'pointer';
clonedElement.style.marginLeft = '10px';
clonedElement.title = '点击打开新窗口';
   console.error(clonedElement)
// 在原元素后插入复制的元素
elUpload.insertAdjacentElement('afterend', clonedElement);

} }

高拍仪js base64格式上传到服务器 var pdfBase64 ='data:application/pdf;base64,'+data.base64;

var input=input = ('#avatar'); var pdfBlob = base64ToBlob(pdfBase64, 'application/pdf'); var fileName = generateFileName(); var pdfFile = new File([pdfBlob], fileName+".pdf", { type: 'application/pdf', }); var formData = new FormData(); formData.append('file', pdfFile); formData.append('run_id', run_id); formData.append('prcs_id', prcs_id);

jQuery.ajax({ url: '/api/admin/Attachment/upload', type: 'POST', dataType:'json', data: formData,
processData: false, // jQuery不要去处理发送的数据 contentType: false, // jQuery不要去设置Content-Type请求头

success: function(response) {
    	if (window.opener) {
			 // console.log(response)    
                   //把结果返回到父窗口
              window.opener.postMessage(response.data.id, window.location.origin);
            }

	// 关闭当前窗口

window.close();

},

});