feature/xinhan-branch #2
+10
-7
@@ -24,9 +24,13 @@
|
||||
<div class="card">
|
||||
<h1>Xinhan 查询</h1>
|
||||
<div class="form-row">
|
||||
<div>
|
||||
<label>收件人</label><br />
|
||||
<input id="recipientTerm" class="form-control" placeholder="收件人" />
|
||||
</div>
|
||||
<div>
|
||||
<label>编号/关键词</label><br />
|
||||
<input id="searchTerm" class="form-control" placeholder="收件人/内容搜索" />
|
||||
<input id="searchTerm" class="form-control" placeholder="内容搜索" />
|
||||
</div>
|
||||
<div>
|
||||
<label>开始日期</label><br />
|
||||
@@ -48,21 +52,20 @@
|
||||
const sb = supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
|
||||
|
||||
async function handleSearch(){
|
||||
const term = document.getElementById('searchTerm').value.trim();
|
||||
const recipientTerm = document.getElementById('recipientTerm').value.trim();
|
||||
const contentTerm = document.getElementById('searchTerm').value.trim();
|
||||
const from = document.getElementById('dateFrom').value;
|
||||
const to = document.getElementById('dateTo').value;
|
||||
const out = document.getElementById('searchResults');
|
||||
out.innerHTML = '<div class="loading">正在查询...</div>';
|
||||
|
||||
let q = sb.from('xinhan').select('*');
|
||||
if (term) q = q.or(`recipient.ilike.%${term}%,content.ilike.%${term}%`);
|
||||
if (recipientTerm) q = q.ilike('recipient', `%${recipientTerm}%`);
|
||||
if (contentTerm) q = q.ilike('content', `%${contentTerm}%`);
|
||||
if (from) q = q.gte('sent_date', from);
|
||||
if (to) q = q.lte('sent_date', to);
|
||||
const { data, error } = await q.order('sent_date', { ascending: false });
|
||||
if (error) {
|
||||
out.innerHTML = `<div class="loading" style="color:red">查询失败:${error.message}</div>`;
|
||||
return;
|
||||
}
|
||||
if (error){ out.innerHTML = `<div class="loading" style="color:red">查询失败:${error.message}</div>`; return; }
|
||||
renderResults(data || []);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user