fix: クリア押下後、検索リストは消えないためファイル出力できる。そのため、検索時点のパラメータを保存してクリアしてもダウンロードできるようにした。

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-10-06 15:44:40 +09:00
parent b8c9475cd3
commit cd034866b8

View File

@ -113,7 +113,7 @@
<label for="ikoFlg">2017年11月以前のデータを含める</label>
</td>
<td>
<input class="buttonSize" id="clear" type="button" name="clear_bt" value="クリア" onclick="clearForm()">
<input class="buttonSize" id="clear" type="button" name="clear_bt" value="クリア" onclick="clr();clearHidden('bioSearchHidden')">
<input class="buttonSize" id="search_bt" value="検索" type="button" onclick="searchBioList()">
</td>
</tr>
@ -177,7 +177,19 @@
<div id="message_area" class="resultAreaMsg"></div>
</div>
</form>
<form id="search_param_hidden" name="bioHidden">
<form id="search_param_hidden" name="bioSearchHidden">
<input type="hidden" name="ctrl_wholesaler" value="">
<input type="hidden" name="ctrl_org_kbn" value="">
<input type="hidden" name="ctrl_rec_ymd_from" value="">
<input type="hidden" name="ctrl_rec_ymd_to" value="">
<input type="hidden" name="ctrl_rec_lot_num" value="">
<input type="hidden" name="ctrl_data_kbn" value="">
<input type="hidden" name="ctrl_maker_cd" value="">
<input type="hidden" name="ctrl_rev_hsdnymd_srk_from" value="">
<input type="hidden" name="ctrl_rev_hsdnymd_srk_to" value="">
<input type="checkbox" name="ikoFlg" value="true" style="display: none;">
</form>
<form id="download_hidden" name="bioDownloadHidden">
<input type="hidden" name="ctrl_wholesaler" value="">
<input type="hidden" name="ctrl_org_kbn" value="">
<input type="hidden" name="ctrl_rec_ymd_from" value="">
@ -192,11 +204,9 @@
<script type="text/javascript">
function clearForm() {
// 検索項目をクリア
clr()
// 非表示項目もクリア
const formElement = document.bioHidden
function clearHidden(hiddenName) {
// 非表示項目をクリア
const formElement = document[hiddenName]
const formInputElements = Array.from(formElement.elements)
for (const formInput of formInputElements) {
if (formInput.name.startsWith('ctrl_')) {
@ -219,7 +229,7 @@
ext: ext,
}
// 検索パラメータを取得
const searchParams = createSearchParams()
const searchParams = createSearchParams('download_hidden')
$.extend(downloadRequestParams, searchParams)
$.ajax({
@ -275,9 +285,9 @@
});
}
function createSearchParams() {
function createSearchParams(paramId) {
// 検索パラメータを取得
const formData = $('#search_param_hidden').serializeArray()
const formData = $(`#${paramId}`).serializeArray()
// リクエスト用に加工
const searchParams = {}
for (let i = 0; i < formData.length; i++) {
@ -288,14 +298,12 @@
}
function applySearchParam(elem) {
console.log(elem.value)
console.log(elem.name)
const bioHiddenForm = document['bioHidden']
bioHiddenForm[elem.name].value = elem.value
if (bioHiddenForm[elem.name].type === 'checkbox') {
bioHiddenForm[elem.name].checked = elem.checked
const bioSearchHiddenForm = document['bioSearchHidden']
bioSearchHiddenForm[elem.name].value = elem.value
if (elem.type === 'checkbox') {
bioSearchHiddenForm[elem.name].checked = elem.checked
}
console.log(bioHiddenForm[elem.name].value)
}
// 生物由来データの検索&ページネーションの作成
@ -304,7 +312,7 @@
messageArea.text('')
messageArea.hide()
const loading = new Loading('_loading_for_other')
const searchParams = createSearchParams()
const searchParams = createSearchParams('search_param_hidden')
$('.pagination').pagination({
dataSource: '/bio/search',
locator: 'data',
@ -350,6 +358,15 @@
},
callback: function(data, pagination) {
// ダウンロード用の非表示項目に検索値を埋め込む
const bioSearchHiddenForm = document['bioSearchHidden']
const bioDownloadHiddenForm = document['bioDownloadHidden']
for (const elem of Array.from(bioSearchHiddenForm.elements)) {
bioDownloadHiddenForm[elem.name].value = elem.value
if (elem.type === 'checkbox') {
bioDownloadHiddenForm[elem.name].checked = elem.checked
}
}
$('#result_data').html('')
if (pagination.totalNumber === 0) {
loading.stop()
@ -376,6 +393,7 @@
loading.stop()
$('#outExcel').removeAttr('disabled')
$('#outCSV').removeAttr('disabled')
$('.paginationjs-pages > ul > li').not('.disabled,.active').each(function(index, val) {
// paginationにtabindexをつける
$(val).attr('tabindex', '0')