function toPage(page,action,hidname) { if(typeof action != "undefined") { document.mainform.action = action; } if(hidname && hidname != ""){ document.getElementById(hidname).value = page; } else{ document.mainform.p.value = page; } if( document.mainform.searchFlag ) document.mainform.searchFlag.value="page"; document.mainform.target="_self"; document.mainform.submit(); } function toSub(id,mode,page,action,previous){ if(mode=="DELETE"){ if(!confirm("削除してもよろしいですか?")) return false; } if(typeof action != "undefined") { document.mainform.action = action; } document.mainform.id.value = id; document.mainform.mode.value = mode; if(document.mainform.p && page != undefined){ document.mainform.p.value = page; } var hiddenInput = document.createElement("input"); hiddenInput.type = "hidden"; hiddenInput.name = "req_back"; hiddenInput.value = document.getElementById("req")? document.getElementById("req").value: ""; document.mainform.appendChild(hiddenInput); if(typeof previous != "undefined") { var previousMode = document.createElement("input"); previousMode.type = "hidden"; previousMode.name = "previousMode"; previousMode.value = previous; document.mainform.appendChild(previousMode); } showLoading(); document.mainform.submit(); } function toSort(sortby,mode) { if(document.getElementById("mode") && mode != undefined){ document.getElementById("mode").value = mode; } document.mainform.sortby.value=sortby; document.mainform.submit(); } function toShow(data) { var parentclass = new Array(); parentclass = document.getElementById('parentclass').value; document.write(data); } function buyerdetail(id) { var url='project.php?mode=BUYERDETAIL&id='+id; var dialog = art.dialog({ id: 'buyerdetail', title: "バイヤー担当者詳細画面" }); $.ajax({ type: 'POST', url: url, success: function (data) {dialog.content(data);}, cache: false }); } function filedownloadlogin(fileid) { var url='openproject.php?mode=FILEDOWNLOGIN'; var dialog = art.dialog({ id: 'filedownloadlogin', title: "添付ファイルダウンロード認証" }); $.ajax({ type: 'POST', url: url, data:{fileid:fileid}, success: function (data) {dialog.content(data);}, cache: false }); } function filedownloadloginAuth(fileid) { var url='openproject.php?mode=FILEDOWNLOGINAUTH'; var dialog = art.dialog({ id: 'filedownloadlogin', title: "添付ファイルダウンロード認証" }); if(document.getElementById("code")){ var code=document.getElementById('code').value; } if(document.getElementById("login_id")){ var login_id=document.getElementById('login_id').value; } if(document.getElementById("password")){ var password=document.getElementById('password').value; } $.ajax({ type: 'POST', url: url, data: {fileid:fileid,code:code,login_id:login_id,password:password}, success: function (data) { var st = data.split("|"); if (st[0]=="OK") { filedownclosedialog('filedownloadlogin'); window.location.href='getfile.php'+st[1]; } else { dialog.content(data); } }, cache: false }); } function closedialog(dialogid) { art.dialog({id:"buyerdetail"}).close(); } function filedownclosedialog(dialogid) { art.dialog({id:"filedownloadlogin"}).close(); } function grouptimer(display,nowtime,endtime,refresh_flg,num) { var _day = "日"; var _hour = "時間"; var _minute = "分"; var _second = "秒"; var _end = "終了しました"; var _end_interval = "終了判定中"; var hourZero = ""; var minuteZero = ""; var secondZero = ""; var Temp = ""; var now = new Date(); var sectime = parseInt((startTime - now.getTime()) / 1000) +(endtime - nowtime); var interval_sectime = parseInt((startTime - now.getTime()) / 1000) +(endtime - nowtime) + 10; if ((sectime <= 0) && (interval_sectime > 0)) { _end = _end_interval } //console.log(sectime + "/" + interval_sectime); if(sectime <= 0 ) { if(typeof(num)!="undefined"){ if(document.getElementById("chat")) { $("#chat").hide(); $("#new_chat").hide(); } for(var i=0;i 0) { Temp = dateLeft + _day + hourZero + hourLeft + _hour + minuteZero + minuteLeft + _minute + secondZero + secondLeft + _second; } else { if (hourLeft > 0) { Temp = hourLeft + _hour + minuteZero + minuteLeft + _minute + secondZero + secondLeft + _second; } else { if (minuteLeft > 0) { Temp = minuteLeft + _minute + secondZero + secondLeft + _second; } else { if (secondLeft > 0) { Temp = secondLeft + _second; } else { Temp = ''; } } } } if(Temp == ''){ if(typeof(num)!="undefined"){ if(document.getElementById("chat")) { $("#chat").hide(); $("#new_chat").hide(); } for(var i=0;i 0) { Temp = dateLeft + _day + hourZero + hourLeft + _hour + minuteZero + minuteLeft + _minute + secondZero + secondLeft + _second; } else { if (hourLeft > 0) { Temp = hourLeft + _hour + minuteZero + minuteLeft + _minute + secondZero + secondLeft + _second; } else { if (minuteLeft > 0) { Temp = minuteLeft + _minute + secondZero + secondLeft + _second; } else { if (secondLeft > 0) { Temp = secondLeft + _second; } else { Temp = ''; } } } } if(Temp == ''){ if (document.getElementById(display) != null ) { document.getElementById(display).innerHTML = _end; setresult(display); } continue; //return false; } else { if (document.getElementById(display) != null ) { document.getElementById(display).innerHTML = Temp; } } } if(typeof(refresh_flg) != "undefined" && typeof(timerID) != "undefined") { clearTimeout(timerID); } timerID = setTimeout("grouptimer2('"+display1+"',"+(nowtime)+","+endtime+")", 1000); } //入札確認の戻る function bid_confirm_back(raid,id,type) { document.mainform.raid.value = raid; document.mainform.id.value = id; document.mainform.type.value = type; document.mainform.mode.value ="BIDCONFIRMBACK"; document.mainform.submit(); } //入札確認 function bid_confirm(raid,id,type) { document.mainform.raid.value = raid; document.mainform.id.value = id; document.mainform.type.value = type; document.mainform.mode.value ="BIDCONFIRM"; document.mainform.submit(); } //入札 function bid(raid,id,type) { // if(!confirm("入札を行いますか?")) return false; document.mainform.raid.value = raid; document.mainform.id.value = id; document.mainform.type.value = type; document.mainform.mode.value ="BID"; showLoading(); document.mainform.submit(); } function getComma(num) { num = new String(num).replace(/,/g, ""); //(3)一旦カンマを削除 while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); //(4)3桁毎にカンマを挿入 return num; } function setresult(display){ var idx=""; if(display.length>11){ idx=display.replace("displaydiv_",""); } if(document.getElementById("btn"+idx)) document.getElementById("btn"+idx).style.display=""; if(document.getElementById("tbtn"+idx)) document.getElementById("tbtn"+idx).style.display=""; if(document.getElementById("sbtn"+idx)) document.getElementById("sbtn"+idx).style.display="none"; if(document.getElementById("spanslp"+idx)) document.getElementById("spanslp"+idx).style.display="none"; } function showMoney(value,unit){ if(typeof(value)=="undefined"){return "";} if(typeof(unit)=="undefined"){unit="";} var round=Math.round(value); if(value==round) { return unit+numberFormat(Math.round(value),0); } else { return unit+numberFormat(value,2); } } function format_number(n){ alert(n); var b=parseInt(n).toString(); var len=b.length; if(len<=3){return b;} var r=len%3; return r>0?b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(","):b.slice(r,len).match(/\d{3}/g).join(","); } function numberFormat(str,c){ str=str.toString(); str=ReplaceComma(str); if(str.length==0) return ''; var re,r; var s; re = /\./g; r = str.search(re); if(r){ s=str.split("."); str=s[0]; }else s[1]=""; str=parseInt(str); str=str.toString(); var ss = str.substr(0, 1); if(ss=='-'){ var flag='-'; str=str.substr(1); }else{ var flag=''; } var len = str.length ; var n= len%3 ; var returnstr=""; for(var i=0,loop=1;i0) { document.getElementById(id+'_price').value=accAdd(value,decrement); } } function toDown(id) { value=parseFloat(document.getElementById(id+'_price').value); decrement=parseFloat(document.getElementById(id+'_decrement').value); if((accSub(value,decrement))>0) { document.getElementById(id+'_price').value=accSub(value,decrement); } } function accAdd(arg1, arg2) { var r1, r2, m, c; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } c = Math.abs(r1 - r2); m = Math.pow(10, Math.max(r1, r2)) if (c > 0) { var cm = Math.pow(10, c); if (r1 > r2) { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")) * cm; } else { arg1 = Number(arg1.toString().replace(".", "")) * cm; arg2 = Number(arg2.toString().replace(".", "")); } } else { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")); } return (arg1 + arg2) / m } function accSub(arg1,arg2){ var r1,r2,m,n; try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} m=Math.pow(10,Math.max(r1,r2)); n=(r1>=r2)?r1:r2; return ((arg1*m-arg2*m)/m).toFixed(n); } function noEnter(e) { var e = e || event; var keyNum = e.which || e.keyCode; return keyNum==13 ? false : true; } function addselect2(data) { var tmpArr=data.split('|o@o|'); var timestamp = (new Date()).valueOf(); $("#select_table").append('登録'); var obj=eval('(' + tmpArr[0] + ')'); document.getElementById("selectbig_"+timestamp).options.add(new Option("▼"+"第1分類を選択","")); for(var i=0;i<=obj.length-1;i++){ document.getElementById("selectbig_"+timestamp).options.add(new Option(obj[i].name,obj[i].id)); } var obj2=eval('(' + tmpArr[1] + ')'); document.getElementById("selectsmall_"+timestamp+"[]").options.add(new Option("▼"+"第2分類を選択","")); } function goRule(){ window.mainform.target='_blank'; document.mainform.mode.value = "RULE"; window.mainform.submit(); window.mainform.target='_self'; document.mainform.mode.value = ""; } function changesmall(id,select){ jQuery.post('admin.php',{mode:"SHOWSMALL",id:select.options[select.selectedIndex].value},function(data){showselect(data,id);}); } function showselect(data,id) { if(document.getElementById("selectsmall_"+id+"[]").options.length !=0){ document.getElementById("selectsmall_"+id+"[]").options.length=0; } var obj=eval('(' + data + ')'); document.getElementById("selectsmall_"+id+"[]").options.add(new Option("▼"+"第2分類を選択","")); for(var i=0;i<=obj.length-1;i++){ document.getElementById("selectsmall_"+id+"[]").options.add(new Option(obj[i].name,obj[i].id)); } } function addselect() { jQuery.post('admin.php',{mode:"GETSELECT"},function(data){addselect2(data);}); } function deleteselect(id) { var tb=document.getElementById('select_table'); var tr=document.getElementById('tr_'+id); tb.deleteRow(tr.rowIndex); } function checkOfficeAddress(obj) { if(obj.checked) { $("#office_address").val($("#address").val()); $("#office_city").val($("#city").val()); $("#office_postal_code").val($("#postal_code").val()); $("#office_address").val($("#address").val()); var sel=document.getElementsByName("pref")[0]; var sel2=document.getElementsByName("office_pref")[0]; sel2.value=sel.options[sel.options.selectedIndex].value; } } function changeBillAddressFlag(obj) { if(obj.value=="1") { $("#bill_address").val($("#address").val()); $("#bill_city").val($("#city").val()); $("#bill_postal_code").val($("#postal_code").val()); $("#bill_address").val($("#address").val()); var sel=document.getElementsByName("pref")[0]; var sel2=document.getElementsByName("bill_pref")[0]; sel2.value=sel.options[sel.options.selectedIndex].value; }else{ $("#bill_address").val($("#office_address").val()); $("#bill_city").val($("#office_city").val()); $("#bill_postal_code").val($("#office_postal_code").val()); $("#bill_address").val($("#office_address").val()); var sel=document.getElementsByName("office_pref")[0]; var sel2=document.getElementsByName("bill_pref")[0]; sel2.value=sel.options[sel.options.selectedIndex].value; } } const requestToChat =(formData)=> { var url='project.php?mode=CHAT'; return new Promise(function(resolve, reject) { $.ajax({ type: 'POST', url: url, data: formData, processData: false, // Important! To prevent jQuery from processing the data contentType: false, // Important! To prevent jQuery from setting contentType success: function (data) { resolve(data); }, error: function(jqXHR, textStatus, errorThrown) { reject(errorThrown); }, cache: false }); }); } async function chat(id, p, sortby, sortby2) { try { var comment=arguments[3] || ""; var error= arguments[2] || ""; var url='project.php?mode=CHAT'; var dialog = art.dialog({ id: 'chat', title: "お知らせ一覧" }); var formData = new FormData(); formData.append('id', id); formData.append('p', p); formData.append('sortby', sortby); formData.append('sortby2', sortby2); // Loop over each filtered_fullnames input element var filtered_fullnames = $('.filtered_fullname'); let is_filtered_table1 = 0; for (var i = 0; i < filtered_fullnames.length; i++) { var filtered_fullname = filtered_fullnames[i]; if ($(filtered_fullname).is(':checked') === false) { is_filtered_table1 = 1; formData.append('unchecked_filtered_table1[fullname][]', $(filtered_fullname).val()); } } formData.append('is_filtered_table1', is_filtered_table1); // Filtering table 2 let ordered_filter_table2 = []; if (document?.subform?.ordered_filter_table2?.value?.length > 0) { ordered_filter_table2 = [...document.subform.ordered_filter_table2.value.split('#')]; } // Loop over each filtered_buyer_names input element var filtered_buyer_names = $('.filtered_buyer_name'); let is_filtered_buyer_name_table2 = 0; for (var i = 0; i < filtered_buyer_names.length; i++) { var filtered_buyer_name = filtered_buyer_names[i]; if ($(filtered_buyer_name).is(':checked') === false) { is_filtered_buyer_name_table2 = 1; formData.append('unchecked_filtered_table2[buyer_name][]', $(filtered_buyer_name).val()); } } // Sorting filtered table 2 with buyer_name if (is_filtered_buyer_name_table2 === 1) { if (!ordered_filter_table2.includes('buyer_name')) { ordered_filter_table2.push('buyer_name'); } }else{ ordered_filter_table2 = [...ordered_filter_table2.filter((e) => e !== 'buyer_name')]; } // Loop over each filtered_buyer_admin_names input element var filtered_buyer_admin_names = $('.filtered_buyer_admin_name'); let is_filtered_buyer_admin_name_table2 = 0; for (var i = 0; i < filtered_buyer_admin_names.length; i++) { var filtered_buyer_admin_name = filtered_buyer_admin_names[i]; if ($(filtered_buyer_admin_name).is(':checked') === false) { is_filtered_buyer_admin_name_table2 = 1; formData.append('unchecked_filtered_table2[buyer_admin_name][]', $(filtered_buyer_admin_name).val()); } } // Sorting filtered table 2 with supplier_user_name if (is_filtered_buyer_admin_name_table2 === 1) { if (!ordered_filter_table2.includes('buyer_admin_name')) { ordered_filter_table2.push('buyer_admin_name'); } }else{ ordered_filter_table2 = [...ordered_filter_table2.filter((e) => e !== 'buyer_admin_name')]; } formData.append('ordered_filter_table2', ordered_filter_table2.join("#")); const data = await requestToChat(formData); dialog.content(data); } catch (error) { console.log("Error at chat function: ", error); } } function closea() { art.dialog({id:"chat"}).close(); } const requestToAddChat = (formData) => { var url='project.php?mode=ADDCHAT'; return new Promise(function(resolve, reject) { $.ajax({ type: 'POST', url: url, data: formData, processData: false, // Important! To prevent jQuery from processing the data contentType: false, // Important! To prevent jQuery from setting contentType success: function (data) { resolve(data); }, error: function(jqXHR, textStatus, errorThrown) { reject(errorThrown); }, cache: false }); }); } async function addchat(id) { try { showLoading(); var dialog = art.dialog({ id: 'chat', title: "お知らせ一覧" }); var formData = new FormData(); formData.append('id', id); // Loop over each file input element $('.file').each(function(index, element) { var files = $(element).get(0).files; // Append each file to the FormData object for (var i = 0; i < files.length; i++) { formData.append(`file[${index}]`, files[i]); } }); // Loop over each delfile input element var delfiles = $('.delfile'); for (var i = 0; i < delfiles.length; i++) { var delfile = delfiles[i]; if ($(delfile).is(':checked')) { formData.append('delfile[]', 1); } else { formData.append('delfile[]', 0); } } var filenames = $(".tmpfile_filename"); filenames.each(function(index, element) { formData.append("tmpfile[filename][]", $(element).val()); }); var tmp_files = $(".tmpfile_tmp_file"); tmp_files.each(function(index, element) { formData.append("tmpfile[tmp_file][]", $(element).val()); }); if(document.getElementById("subject")){ var subject = document.getElementById('subject').value; formData.append('subject', subject); } if(document.getElementById("comment")){ var comment = document.getElementById('comment').value; formData.append('comment', comment); } if(document.getElementById("p")){ var p=document.getElementById('p').value; }else{ var p =1; } formData.append('p', p); if(document.getElementById("admin_select")){ var admin = document.getElementById('admin_select').value; formData.append('admin', admin); } if(document.getElementById("buyer_user_select")){ var buyer_user = document.getElementById('buyer_user_select').value; formData.append('buyer_user', buyer_user); } if(document.getElementById("project_name")){ var project_name = document.getElementById('project_name').value; formData.append('project_name', project_name); } if(document.getElementById("project_number")){ var project_number = document.getElementById('project_number').value; formData.append('project_number', project_number); } if(document.getElementById("item_name")){ var item_name = document.getElementById('item_name').value; formData.append('item_name', item_name); } const data = await requestToAddChat(formData); hideLoading(); dialog.content(data); } catch (error) { console.log("Error at addChat function: ", error); } } function goBack() { window.location = '/supplier/back.php'; return false; } function checkFileSize(size) { const fileInput = document.querySelectorAll('input[type="file"]'); if (fileInput.length > 0) { for (let i = 0; i < fileInput.length; i++) { if(fileInput[i].files.length == 0) continue; const fileSize = fileInput[i].files[0].size / 1024 / 1024; if (fileSize > size) { $("#error-file").html(`添付ファイルは${size}MB未満にしてください。`); //fileInput[i].value = ''; return false; } } } return true; } function toAjaxDetail(mode, id, status, reverse_auction) { jQuery.post('project_history.php',{mode:'GET_HISTORY',id:id, status: status, reverse_auction: reverse_auction},function(data,text){art.dialog({id:'ajaxdiv', lock:true}).title('通知履歴').content(data);}); } function toAjaxDetailReject(mode, id, reverse_auction) { jQuery.post('project_history.php',{mode:'GET_HISTORY',id:id, reverse_auction: reverse_auction},function(data,text){art.dialog({id:'ajaxdiv', lock:true}).title('通知履歴').content(data);}); } function closeArtDialog(){ art.dialog({id:'ajaxdiv'}).close(); }