|
@ -1,7 +1,7 @@ |
|
|
<?php |
|
|
<?php |
|
|
include_once("../header.php"); |
|
|
include_once("../header.php"); |
|
|
// require_once('./connT8.php'); |
|
|
// require_once('./connT8.php'); |
|
|
require("../contract-repair/conn.php"); |
|
|
require("../contract/conn.php"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$contract_type = [ |
|
|
$contract_type = [ |
|
@ -37,39 +37,70 @@ $oneMonthAgo = $now->modify('+1 month'); |
|
|
|
|
|
|
|
|
// 查看 T8 是否有收款明細 |
|
|
// 查看 T8 是否有收款明細 |
|
|
// require("./api/get.php"); |
|
|
// require("./api/get.php"); |
|
|
function isPay($contract_no) |
|
|
function isPay($contract_no, $connT8) |
|
|
{ |
|
|
{ |
|
|
$api_url = './api/get.php?contract_no=' . $contract_no; |
|
|
// echo $contract_no; |
|
|
$ch = curl_init(); |
|
|
$sql = "SELECT |
|
|
curl_setopt($ch, CURLOPT_URL, $api_url); |
|
|
a.BillNo, |
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
|
|
b.OTaxAmt as amount, |
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array($contract_no)); |
|
|
a.CU_EstPayDate as createDate, |
|
|
|
|
|
b.PersonId as personId, |
|
|
$response = curl_exec($ch); |
|
|
c.BillNo as CBno, |
|
|
echo $response; |
|
|
c.CU_MaterialId as facility |
|
|
if ($response === false) { |
|
|
FROM salIncomeApplyDetail as a |
|
|
echo '123Curl error: ' . curl_error($ch); |
|
|
LEFT JOIN salIncomeApplyMaster as b ON a.BillNo = b.BillNo |
|
|
|
|
|
LEFT JOIN ( |
|
|
|
|
|
SELECT aMaster.BillNo,aMaster.BizPartnerId,aDetail.CU_MaterialId FROM arCheckBill as aMaster |
|
|
|
|
|
LEFT JOIN arCheckBillDetail as aDetail ON aMaster.BizPartnerId = aDetail.FromBillNo |
|
|
|
|
|
WHERE aMaster.BizPartnerId = 'Q23080067' AND aMaster.TypeId = 'RVS' |
|
|
|
|
|
) AS c ON a.BillNo = c.BizPartnerId |
|
|
|
|
|
WHERE a.BillNo = '$contract_no' |
|
|
|
|
|
AND a.RowNo = '1' |
|
|
|
|
|
"; |
|
|
|
|
|
$stmt = $connT8->prepare($sql); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
$data = $stmt->fetch(PDO::FETCH_ASSOC); |
|
|
|
|
|
// $data['amount'] = intval($data['amount']); |
|
|
|
|
|
if (!empty($data['CBno']) && $data['CBno'] != '') { |
|
|
|
|
|
$checkBillNo = $data['CBno']; |
|
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT |
|
|
|
|
|
c.BillDate AS CheckBillDate |
|
|
|
|
|
FROM arWriteOffBill AS a |
|
|
|
|
|
LEFT JOIN arWriteOffBillRec AS b ON a.BillNo=b.BillNo |
|
|
|
|
|
LEFT JOIN |
|
|
|
|
|
(SELECT temp1.*,arWriteOffBillDetail.* FROM arWriteOffBillDetail |
|
|
|
|
|
LEFT JOIN |
|
|
|
|
|
(SELECT |
|
|
|
|
|
arCheckBill.BillNo AS checkBillNo, arCheckBill.BillDate,arCheckBillInvInfo.InvoiceNo |
|
|
|
|
|
FROM arCheckBill |
|
|
|
|
|
LEFT JOIN arCheckBillInvInfo |
|
|
|
|
|
ON arCheckBill.InvoiceBillNo=arCheckBillInvInfo.InvoiceBillNo) AS temp1 |
|
|
|
|
|
ON temp1.checkBillNo = arWriteOffBillDetail.FromBillNo) AS c |
|
|
|
|
|
ON a.BillNo=c.BillNo |
|
|
|
|
|
WHERE c.checkBillNo = '$checkBillNo' |
|
|
|
|
|
"; |
|
|
|
|
|
|
|
|
|
|
|
$stmt = $connT8->prepare($sql); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
|
|
|
|
|
|
return '1'; |
|
|
} else { |
|
|
} else { |
|
|
$result = json_decode($response, true); |
|
|
return '2'; |
|
|
if ($result['Status'] == 'Success') |
|
|
|
|
|
return $result; |
|
|
|
|
|
if ($result['Status'] == 'Error') |
|
|
|
|
|
return $result; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
curl_close($ch); |
|
|
|
|
|
} |
|
|
} |
|
|
?> |
|
|
?> |
|
|
<link rel="stylesheet" href="../contract-repair/styles/style.css"> |
|
|
<link rel="stylesheet" href="../contract-repair/styles/style.css"> |
|
|
<link rel="stylesheet" href="../contract-repair/semantic/dist/semantic.min.css"> |
|
|
<link rel="stylesheet" href="../contract-repair/semantic/dist/semantic.min.css"> |
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> |
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> |
|
|
|
|
|
<script defer src="../contract-repair/js/alpinejs/cdn.min.js"></script> |
|
|
<script src="../contract-repair/js/alpine.js"></script> |
|
|
<script src="../contract-repair/js/alpine.js"></script> |
|
|
<script src="../contract-repair/js/axios/axios.min.js"></script> |
|
|
<script src="../contract-repair/js/axios/axios.min.js"></script> |
|
|
<!-- <script src="../contract-repair/js/jquery/jquery-3.1.1.min.js"></script> --> |
|
|
<!-- <script src="../contract-repair/js/jquery/jquery-3.1.1.min.js"></script> --> |
|
|
<script src="../contract-repair/semantic/dist/semantic.min.js"></script> |
|
|
<script src="../contract-repair/semantic/dist/semantic.min.js"></script> |
|
|
<script defer src="../contract-repair/js/alpinejs/cdn.min.js"></script> |
|
|
|
|
|
|
|
|
|
|
|
<div class="bonus_index" x-data="bonusIndex"> |
|
|
<div class="bonus_index" x-data="bonusIndex"> |
|
|
|
|
|
<!-- <input type="button" hidden x-ref="initbtn" @click="isPay()" /> --> |
|
|
|
|
|
|
|
|
<div style="overflow-x:auto;margin-top:12px"> |
|
|
<div style="overflow-x:auto;margin-top:12px"> |
|
|
<a href="contract-newelevator-input.php?function_name=repair&<?php echo $token_link; ?>" class="btn btn-info btn-sm"> |
|
|
<a href="contract-newelevator-input.php?function_name=repair&<?php echo $token_link; ?>" class="btn btn-info btn-sm"> |
|
|
<span class="glyphicon glyphicon-plus"></span> |
|
|
<span class="glyphicon glyphicon-plus"></span> |
|
@ -98,9 +129,14 @@ function isPay($contract_no) |
|
|
<tbody> |
|
|
<tbody> |
|
|
<?php if (!empty($datas)) { |
|
|
<?php if (!empty($datas)) { |
|
|
foreach ($datas as $key => $data) : |
|
|
foreach ($datas as $key => $data) : |
|
|
$isPay = isPay($data['contract_no']); |
|
|
|
|
|
|
|
|
$contract_no = $data['contract_no']; |
|
|
|
|
|
$isPay = isPay($contract_no, $connT8); |
|
|
|
|
|
// echo '<pre>'; |
|
|
|
|
|
// print($isPay); |
|
|
|
|
|
// echo '</pre>'; |
|
|
?> |
|
|
?> |
|
|
<tr> |
|
|
<tr x-data="{isPays: []}" x-init="init"> |
|
|
<td><?= $data['id'] ?></td> |
|
|
<td><?= $data['id'] ?></td> |
|
|
<td><?= $contract_type[$data['contract_type']] ?></td> |
|
|
<td><?= $contract_type[$data['contract_type']] ?></td> |
|
|
<td><?= $data['contract_no'] ?></td> |
|
|
<td><?= $data['contract_no'] ?></td> |
|
@ -111,19 +147,21 @@ function isPay($contract_no) |
|
|
<td><?= $data['pay_day'] ?></td> |
|
|
<td><?= $data['pay_day'] ?></td> |
|
|
<td><?= ($data['status'] == 1) ? '未發放' : '已發放' ?></td> |
|
|
<td><?= ($data['status'] == 1) ? '未發放' : '已發放' ?></td> |
|
|
<td> |
|
|
<td> |
|
|
<span x-text="data"></span> |
|
|
<!-- <input type="text" x-model="isPays[<?php echo $key; ?>]" /> --> |
|
|
|
|
|
<span><?= ($isPay == 1) ? '已收款' : '未收款' ?></span> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<span></span> |
|
|
|
|
|
<?php |
|
|
<?php |
|
|
// 判斷時間是否為一個月內 |
|
|
// 判斷時間是否為一個月內 |
|
|
$payday = new DateTime($data['pay_day']); |
|
|
$payday = new DateTime($data['pay_day']); |
|
|
if ($payday < $oneMonthAgo) { |
|
|
if ($isPay == 1) { |
|
|
?> |
|
|
?> |
|
|
<a href="bonus_detail.php?id=<?= $data['id'] ?>&token=<?php echo $token; ?>" class="applybtn">查看詳情</a> |
|
|
<a href="bonus_detail.php?id=<?= $data['id'] ?>&token=<?php echo $token; ?>" class="applybtn" style="">發放獎金</a> |
|
|
|
|
|
<?php |
|
|
|
|
|
} else if ($payday < $oneMonthAgo) { |
|
|
|
|
|
?> |
|
|
|
|
|
<a href="bonus_detail.php?id=<?= $data['id'] ?>&token=<?php echo $token; ?>" class="applybtncheck">查看詳情</a> |
|
|
<?php |
|
|
<?php |
|
|
} else { |
|
|
|
|
|
echo '--'; |
|
|
|
|
|
} |
|
|
} |
|
|
?> |
|
|
?> |
|
|
</td> |
|
|
</td> |
|
@ -171,14 +209,51 @@ function isPay($contract_no) |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.btn-secondary { |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
background-color: #6c757d; |
|
|
|
|
|
border-color: #6c757d; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.btn-secondary:hover { |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
background-color: #5a6268; |
|
|
|
|
|
border-color: #545b62; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.applybtn { |
|
|
.applybtn { |
|
|
color: #fff; |
|
|
color: #fff; |
|
|
background-color: #1484c4; |
|
|
background-color: #1484c4; |
|
|
display: block; |
|
|
/* display: block; */ |
|
|
|
|
|
border-radius: 5px; |
|
|
|
|
|
padding: 5px 2px; |
|
|
|
|
|
font-size: 13px; |
|
|
|
|
|
line-height: 1; |
|
|
|
|
|
display: grid; |
|
|
|
|
|
place-items: center; |
|
|
|
|
|
/* 水平和垂直居中 */ |
|
|
|
|
|
height: 2%vh; |
|
|
|
|
|
/* 100%视窗高度,可根据需要调整 */ |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.applybtncheck { |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
background-color: #eea236; |
|
|
|
|
|
/* display: block; */ |
|
|
border-radius: 4px; |
|
|
border-radius: 4px; |
|
|
padding: 4px 2px; |
|
|
padding: 4px 2px; |
|
|
font-size: 13px; |
|
|
font-size: 13px; |
|
|
|
|
|
line-height: 1; |
|
|
|
|
|
display: grid; |
|
|
|
|
|
place-items: center; |
|
|
|
|
|
/* 水平和垂直居中 */ |
|
|
|
|
|
height: 2%vh; |
|
|
|
|
|
/* 100%视窗高度,可根据需要调整 */ |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.applybtncheck:hover { |
|
|
|
|
|
background-color: #f0ad4e; |
|
|
|
|
|
color: #fff; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.applybtn:hover { |
|
|
.applybtn:hover { |
|
@ -190,18 +265,26 @@ function isPay($contract_no) |
|
|
<script> |
|
|
<script> |
|
|
const datas = <?php echo json_encode($datas); ?>; |
|
|
const datas = <?php echo json_encode($datas); ?>; |
|
|
|
|
|
|
|
|
// $(function() { |
|
|
function init() { |
|
|
// $('#table_index2').DataTable({ |
|
|
this.isPay(); |
|
|
// "scrollX": true, |
|
|
|
|
|
// "pageLength": 50 |
|
|
} |
|
|
// }); |
|
|
const bonusIndex = () => { |
|
|
// /* |
|
|
return { |
|
|
// var api = $('#table_index').dataTable().api(); |
|
|
async isPay() { |
|
|
// //var order = api.order(); |
|
|
// console.log(123) |
|
|
// //console.log(order); |
|
|
for (let i = 0; i < datas.length; i++) { |
|
|
// api |
|
|
await axios.get('./api/get.php?contract_no=' + datas[i].contract_no).then(res => { |
|
|
// .order([0, "desc"]) |
|
|
let isPay = res.data; |
|
|
// .draw(); |
|
|
// this.data.isPay.push(isPay); // 更新 x-data 中的数据 |
|
|
// */ |
|
|
this.isPays.push(isPay); |
|
|
// }); |
|
|
}).catch(err => { |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.log(this.isPays); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
</script> |
|
|
</script> |