Browse Source

合約書申請 資料抓不到bug 修正 1214

main
10994015 1 year ago
parent
commit
42aaeb5ab7
  1. 7
      wms/contract/api/postContractNewApplyData.php
  2. 24
      wms/contract/contract-download.php
  3. 114
      wms/contract/contract-new-apply.php
  4. 18
      wms/contract/js/alpine.js

7
wms/contract/api/postContractNewApplyData.php

@ -19,6 +19,7 @@ if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 0
$manager = $_POST['manager'];
$vat = $_POST['vat'];
$total_price = $_POST['total_price'];
$total_items = $_POST['total_items'];
$buy_fee = $_POST['price_a'];
$install_fee = $_POST['price_b'];
$contact_address = $_POST['address'];
@ -45,7 +46,7 @@ if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 0
$conn->beginTransaction();
try{
if($isFirst == 1){
$sql_str = "INSERT INTO contract_new_apply (mid, contractno, sales_man, apply_date, apply_type, case_name, customer, manager, vat, total_price, buy_fee, install_fee, contact_address, workdeadline_a, workdeadline_b, test_time, freedeadline, trade_address, tradedeadline, secondPayDeadline, progress, status, person, personname, submit_date, created_at, created_by) VALUES (:mid, :contractno, :sales_man, :apply_date, :apply_type, :case_name, :customer, :manager, :vat, :total_price, :buy_fee, :install_fee, :contact_address, :workdeadline_a, :workdeadline_b, :test_time, :freedeadline, :trade_address, :tradedeadline, :secondPayDeadline, :progress, :status, :person, :personname, :submit_date, :created_at, :created_by)";
$sql_str = "INSERT INTO contract_new_apply (mid, contractno, sales_man, apply_date, apply_type, case_name, customer, manager, vat, total_price, total_items, buy_fee, install_fee, contact_address, workdeadline_a, workdeadline_b, test_time, freedeadline, trade_address, tradedeadline, secondPayDeadline, progress, status, person, personname, submit_date, created_at, created_by) VALUES (:mid, :contractno, :sales_man, :apply_date, :apply_type, :case_name, :customer, :manager, :vat, :total_price, :total_items, :buy_fee, :install_fee, :contact_address, :workdeadline_a, :workdeadline_b, :test_time, :freedeadline, :trade_address, :tradedeadline, :secondPayDeadline, :progress, :status, :person, :personname, :submit_date, :created_at, :created_by)";
$stmt = $conn -> prepare($sql_str);
$stmt ->bindParam(':mid', $mid);
$stmt ->bindParam(':contractno', $vol_no);
@ -57,6 +58,7 @@ if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 0
$stmt ->bindParam(':manager', $manager);
$stmt ->bindParam(':vat', $vat);
$stmt ->bindParam(':total_price', $total_price);
$stmt ->bindParam(':total_items', $total_items);
$stmt ->bindParam(':buy_fee', $buy_fee);
$stmt ->bindParam(':install_fee', $install_fee);
$stmt ->bindParam(':contact_address', $contact_address);
@ -95,7 +97,7 @@ if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 0
header("HTTP/1.1 201 success!");
$conn->commit();
}else{
$sql_str = "UPDATE contract_new_apply SET status = :status, apply_date=:apply_date, apply_type=:apply_type, case_name=:case_name, customer=:customer, manager=:manager, vat=:vat, total_price=:total_price, buy_fee=:buy_fee, install_fee=:install_fee, contact_address=:contact_address, trade_address=:trade_address, workdeadline_a=:workdeadline_a, workdeadline_b=:workdeadline_b, test_time=:test_time, freedeadline=:freedeadline, trade_address=:trade_address, trade_address=:trade_address, tradedeadline=:tradedeadline, secondPayDeadline=:secondPayDeadline, progress=:progress, person=:person, personname=:personname, submit_date=:submit_date, updated_at=:updated_at, updated_by=:updated_by WHERE mid = :mid";
$sql_str = "UPDATE contract_new_apply SET status = :status, apply_date=:apply_date, apply_type=:apply_type, case_name=:case_name, customer=:customer, manager=:manager, vat=:vat, total_price=:total_price, total_items=:total_items, buy_fee=:buy_fee, install_fee=:install_fee, contact_address=:contact_address, trade_address=:trade_address, workdeadline_a=:workdeadline_a, workdeadline_b=:workdeadline_b, test_time=:test_time, freedeadline=:freedeadline, trade_address=:trade_address, trade_address=:trade_address, tradedeadline=:tradedeadline, secondPayDeadline=:secondPayDeadline, progress=:progress, person=:person, personname=:personname, submit_date=:submit_date, updated_at=:updated_at, updated_by=:updated_by WHERE mid = :mid";
$stmt = $conn -> prepare($sql_str);
$stmt ->bindParam(':mid', $mid);
$stmt ->bindParam(':status', $status);
@ -106,6 +108,7 @@ if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 0
$stmt ->bindParam(':manager', $manager);
$stmt ->bindParam(':vat', $vat);
$stmt ->bindParam(':total_price', $total_price);
$stmt ->bindParam(':total_items', $total_items);
$stmt ->bindParam(':buy_fee', $buy_fee);
$stmt ->bindParam(':install_fee', $install_fee);
$stmt ->bindParam(':contact_address', $contact_address);

24
wms/contract/contract-download.php

@ -51,16 +51,13 @@ if(isset($_GET['id']) && $_GET['id']!=""){
$install_total_price = 0;
// $noteArr = explode(",", $contracts[0]['note']);
$noteArr = array(1,1,1,1,1);
$qty = $contracts[0]['item_qty'];
// print_r($contracts);
// print_r($buyArr);
$qty = $contracts[0]['total_items'];
foreach($contracts as $idx=>$amount){
$isset = false;
if($amount['pay_kind']==5 || $amount['pay_kind']==6){
echo "111111";
if($amount['pay_scale'] >= 0){
$install_total_price = $install_total_price + $amount['pay_amount'];
$installArr[] = ['installment'=> $amount['pay_kind'], 'scale'=> $amount['pay_scale'], 'amount'=> $amount['pay_amount'], 'note'=>$amount['note']];
$installArr[] = ['installment'=> $amount['pay_kind'], 'scale'=> $amount['pay_scale'], 'amount'=> $amount['pay_amount'], 'pay_period'=>$amount['pay_period']];
}
}
if($amount['pay_kind']==1 || $amount['pay_kind']==2 || $amount['pay_kind']==3){
@ -72,7 +69,7 @@ if(isset($_GET['id']) && $_GET['id']!=""){
}
}
if(!$isset){{
$buyArr[] = ['installment'=>$amount['pay_kind'], 'scale'=>$amount['pay_scale'], 'amount'=>$amount['pay_amount'], 'note'=>$amount['note']];
$buyArr[] = ['installment'=>$amount['pay_kind'], 'scale'=>$amount['pay_scale'], 'amount'=>$amount['pay_amount'], 'pay_period'=>$amount['pay_period']];
}
if($amount['pay_kind'] == 2){
$buyNo2Pay = true;
@ -82,7 +79,7 @@ if(isset($_GET['id']) && $_GET['id']!=""){
}
}
// print_r($buyArr);
print_r($buyArr);
}
catch (PDOException $e ){
@ -389,8 +386,7 @@ if(isset($_GET['id']) && $_GET['id']!=""){
let buy_pay_text = ''
const chineseArr = ['零','一','二','三','四','五','六','七']
const bigChineseArr = ['零','壹','貳','參','肆','伍','陸','柒','捌','玖','拾'];
// const num = <?php echo $qty; ?>;
const num = 7;
const num = <?php echo $qty; ?>;
const people = <?php echo $noteArr[1]; ?>;
const floor = <?php echo $noteArr[2]; ?>;
const speed = <?php echo $noteArr[3]; ?>;
@ -399,11 +395,11 @@ if(isset($_GET['id']) && $_GET['id']!=""){
buyArr.forEach((item, idx) => {
if(item.scale > 0){
if(item.installment == 1){
buy_pay_text = `${buy_pay_text}第${chineseArr[idx+1]}期款:合約簽定時,甲方應付合約定金新台幣&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(30天期票)。<br>`
buy_pay_text = `${buy_pay_text}第${chineseArr[idx+1]}期款:合約簽定時,甲方應付合約定金新台幣&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(${item.pay_period}天期票)。<br>`
}else if(item.installment == 2){
buy_pay_text = `${buy_pay_text}第${chineseArr[idx+1]}期款:合約簽訂後&nbsp;____&nbsp;天付第二期款新台幣&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(30天期票)。<br>`
buy_pay_text = `${buy_pay_text}第${chineseArr[idx+1]}期款:合約簽訂後&nbsp;____&nbsp;天付第二期款新台幣&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(${item.pay_period}天期票)。<br>`
}else if(item.installment == 3){
buy_pay_text = `${buy_pay_text}第${chineseArr[idx+1]}期款:產品貨到工地時應付新台幣&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(&nbsp;含5%加值型營業稅)(30天期票)。<br>`
buy_pay_text = `${buy_pay_text}第${chineseArr[idx+1]}期款:產品貨到工地時應付新台幣&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(&nbsp;含5%加值型營業稅)(${item.pay_period}天期票)。<br>`
}
}
});;
@ -412,9 +408,9 @@ if(isset($_GET['id']) && $_GET['id']!=""){
installArr.forEach((item,idx)=>{
if(item.scale > 0){
if(item.installment == 5){
install_pay_text = `${install_pay_text}第${chineseArr[idx+1]}期款:甲方應於安裝及試車完成後給付安裝費用&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(30天期票)。<br>`
install_pay_text = `${install_pay_text}第${chineseArr[idx+1]}期款:甲方應於安裝及試車完成後給付安裝費用&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(${item.pay_period}天期票)。<br>`
}else if(item.installment == 6){
install_pay_text = `${install_pay_text}第二期款:甲方應於交車後給付&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(30天期票)。<br>`
install_pay_text = `${install_pay_text}第二期款:甲方應於交車後給付&nbsp;${numberToChinese(item.amount)}&nbsp;元整(&nbsp;${numberWithCommas(item.amount)}&nbsp;)(含5%加值型營業稅)(${item.pay_period}天期票)。<br>`
}
}
})

114
wms/contract/contract-new-apply.php

@ -45,7 +45,11 @@ if(empty($contract_new_apply)){
$stmt->bindParam(':mid', $mid);
$stmt->execute();
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
$total_items = 0;
foreach($items as $item){
$total_items += $item['item_qty'];
}
echo $total_items ;
$sql_str = "SELECT * FROM pricereview_pay WHERE mid = :mid ORDER BY pay_kind ASC";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':mid', $mid);
@ -84,6 +88,13 @@ if(empty($contract_new_apply)){
$stmt->bindParam(':mid', $mid);
$stmt->execute();
$pays = $stmt->fetchAll(PDO::FETCH_ASSOC);
$sql_str = "SELECT * FROM pricereview_item WHERE mid = :mid AND item_group = 'A'";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':mid', $mid);
$stmt->execute();
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($items);
$price_a = 0;
$price_b = 0;
foreach($pays as $pay){
@ -284,7 +295,7 @@ $person = $contract['person'];
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="number" x-model="item.item_qty" >
<span x-text="item.item_qty + '台'" style="padding:0 20px"></span>
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td colspan="3" style="vertical-align: middle">
@ -293,6 +304,11 @@ $person = $contract['person'];
</td>
</tr>
</template>
<tr>
<td colspan=4></td>
<td>電梯總數</td>
<td colspan='3'> <span x-text="data.total_items + '台'" style="padding:0 20px"></span></td>
</tr>
</tbody>
</table>
@ -455,7 +471,7 @@ $person = $contract['person'];
<?php if($status == -1): ?><span class="">未提交</span><?php endif; ?>
</td>
<td colspan=2>---</td>
<td><?php echo $contract['submit_date']; ?> </td>
<td><?php echo ($contract['submit_date']) ?? "---"; ?> </td>
<td colspan=2 rowspan="2">
<?php if($user_id === "M0174" && $status == 1): ?>
<textarea class="form-control opinion" x-model="data.review_comment"></textarea>
@ -464,13 +480,14 @@ $person = $contract['person'];
</tr>
<tr>
<td>業務承辦人</td>
<td><span><?php echo ($contract['review_person_name'] == "" || $contract['review_person_name'] == null || empty($contract['review_person_name'])) ? "---" : $contract['review_person_name'] ."(".$contract['review_person_id'].")"; ?></span></td>
<td><span><?php echo (isset($contract['review_person_name']) || empty($contract['review_person_name'])) ? "---" : $contract['review_person_name'] ."(".$contract['review_person_id'].")"; ?></span></td>
<td>
<?php if($status == 3): ?><span class="successtext">結案同意</span><?php endif; ?>
<?php if($status == 2): ?><span class="failtext">結案不同意</span><?php endif; ?>
<?php if($status < 2): ?><span>---</span><?php endif; ?>
</td>
<td colspan=2><?php echo $contract['review_comment']; ?></td>
<td><?php echo $contract['review_date']; ?></td>
<td colspan=2><?php echo $contract['review_comment'] ?? "---"; ?></td>
<td><?php echo $contract['review_date'] ?? "---"; ?></td>
</tr>
<!-- <tr>
<td colspan="2" style="font-weight:bold">業務部承辦人</td>
@ -536,22 +553,22 @@ $person = $contract['person'];
<script src="./js/alpine.js"></script>
<?php if(empty($contract_new_apply)): ?>
<script>
const contractno = '<?php echo $contract['contractno'] ?>';
const salesman = '<?php echo $contract['person'] ?>';
const salesmanname = '<?php echo $contract['accountname'] ?>';
const contractno = '<?php echo $contract['contractno'] ?? ''; ?>';
const salesman = '<?php echo $contract['person'] ?? ''; ?>';
const salesmanname = '<?php echo $contract['accountname'] ?? ''; ?>';
const apply_date = '<?php echo date('Y-m-d') ?>';
const case_name = '<?php echo $contract['case_name'] ?>';
const company = '<?php echo $contract['company'] ?>';
const manager = '<?php echo $customer['manager'] ?>';
const vat = '<?php echo $customer['uscc'] ?>';
const price_total = <?php echo $contract['price_total'] ?>;
const address = '<?php echo $contract['address'] ?>';
const price_a = <?php echo $price_a; ?>;
const price_b = <?php echo $price_b; ?>;
const items = [...<?php echo json_encode($items); ?>];
const case_name = '<?php echo $contract['case_name'] ?? ''; ?>';
const company = '<?php echo $contract['company'] ?? ''; ?>';
const manager = '<?php echo $customer['manager'] ?? ''; ?>';
const vat = '<?php echo $customer['uscc'] ?? ''; ?>';
const price_total = <?php echo $contract['price_total'] ?? ''; ?>;
const address = '<?php echo $contract['address'] ?? ''; ?>';
const price_a = <?php echo $price_a ?? ''; ?>;
const price_b = <?php echo $price_b ?? ''; ?>;
const items = [...<?php echo json_encode($items) ?? [];?>];
const user_id = '<?php echo $user_id ?>';
const mid = '<?php echo $_GET['id']; ?>';
const pays = [...<?php echo json_encode($pays); ?>];
const pays = [...<?php echo json_encode($pays) ?? []; ?>];
const secondPayDeadline = '';
const tradeaddress = "";
const tradedeadline = 90
@ -559,51 +576,42 @@ $person = $contract['person'];
const regulations = 10;
const workdeadline_a = 30;
const workdeadline_b = 7;
const total_items = <?php echo $total_items ?? ''; ?>;
const isFirst = <?php echo $isFirst; ?>;
</script>
<?php else: ?>
<script>
const contractno = '<?php echo $contract['contractno'] ?>';
const salesman = '<?php echo $contract['person'] ?>';
const salesmanname = '<?php echo $contract['personname'] ?>';
const contractno = '<?php echo $contract['contractno'] ?? ''; ?>';
const salesman = '<?php echo $contract['person'] ?? ''; ?>';
const salesmanname = '<?php echo $contract['personname'] ?? ''; ?>';
const apply_date = '<?php echo date('Y-m-d') ?>';
const case_name = '<?php echo $contract['case_name'] ?>';
const company = '<?php echo $contract['customer'] ?>';
const manager = '<?php echo $contract['manager'] ?>';
const vat = '<?php echo $contract['vat'] ?>';
const price_total = <?php echo $contract['total_price'] ?>;
const address = '<?php echo $contract['contact_address'] ?>';
const price_a = <?php echo $contract['buy_fee']; ?>;
const price_b = <?php echo $contract['install_fee']; ?>;
// const items = [...<?php echo json_encode($items); ?>];
const items = [];
const user_id = '<?php echo $user_id ?>';
const case_name = '<?php echo $contract['case_name'] ?? ''; ?>';
const company = '<?php echo $contract['customer'] ?? ''; ?>';
const manager = '<?php echo $contract['manager'] ?? ''; ?>';
const vat = '<?php echo $contract['vat'] ?? ''; ?>';
const price_total = <?php echo $contract['total_price'] ?? ''; ?>;
const address = '<?php echo $contract['contact_address'] ?? ''; ?>';
const price_a = <?php echo $contract['buy_fee'] ?? ''; ?>;
const price_b = <?php echo $contract['install_fee'] ?? ''; ?>;
const items = [...<?php echo json_encode($items) ?? []; ?>];
const user_id = '<?php echo $user_id ?? ''; ?>';
const mid = '<?php echo $_GET['id']; ?>';
const pays = [...<?php echo json_encode($pays); ?>];
const pays = [...<?php echo json_encode($pays) ?? []; ?>];
const isFirst = <?php echo $isFirst; ?>;
const tradeaddress = '<?php echo $contract['trade_address'] ?>';
const tradedeadline = '<?php echo $contract['tradedeadline'] ?>';
const freedeadline = '<?php echo $contract['freedeadline'] ?>';
const regulations = '<?php echo $contract['test_time'] ?>';
const workdeadline_a = '<?php echo $contract['workdeadline_a'] ?>';
const workdeadline_b = '<?php echo $contract['workdeadline_b'] ?>';
const secondPayDeadline = <?php echo $secondPayDeadline; ?>;
const tradeaddress = '<?php echo $contract['trade_address'] ?? ''; ?>';
const tradedeadline = '<?php echo $contract['tradedeadline'] ?? ''; ?>';
const freedeadline = '<?php echo $contract['freedeadline'] ?? ''; ?>';
const regulations = '<?php echo $contract['test_time'] ?? ''; ?>';
const workdeadline_a = '<?php echo $contract['workdeadline_a'] ?? ''; ?>';
const workdeadline_b = '<?php echo $contract['workdeadline_b'] ?? ''; ?>';
const secondPayDeadline = <?php echo $secondPayDeadline ?? ''; ?>;
const total_items = <?php echo $contract['total_items'] ?? ''; ?>;
const contract_new_apply_id = <?php echo $contract_new_apply_id; ?>;
</script>
<?php endif; ?>
<?php if($status > 0 || $person != $user_id): ?>
<script>
const input = document.querySelectorAll('input');
for(let i=0;i<input.length;i++){
input[i].disabled = true
}
const select = document.querySelectorAll('select');
for(let i=0;i<select.length;i++){
select[i].disabled = true
}
</script>
<?php if($status > 0 ||( $person != $user_id && $user_id != "M0174")): ?>
<?php endif; ?>

18
wms/contract/js/alpine.js

@ -1180,7 +1180,21 @@ const contractNewApply = ()=>{
this.pays[idx+1].condition_date = (pay.condition_date == "" || pay.condition_date == null) ? 0: pay.condition_date;
this.pays[idx+1].scale = (pay.pay_scale == "" || pay.pay_scale == null) ? 0 : pay.pay_scale;
this.pays[idx+1].amount = (pay.pay_amount == "" || pay.pay_amount == null) ? 0: pay.pay_amount;
})
});
window.onload = ()=>{
const input = document.querySelectorAll('input');
const alerttext = document.querySelectorAll('p.alerttext');
const select = document.querySelectorAll('select');
for(let i=0;i<input.length;i++){
input[i].disabled = true
}
for(let i=0;i<select.length;i++){
select[i].disabled = true
}
for(let i=0;i<alerttext.length;i++){
alerttext[i].style.display = "none"
}
}
},
step:1,
isLoading:false,
@ -1209,6 +1223,7 @@ const contractNewApply = ()=>{
salesman_comment:'',
review_comment:'',
secondPayDeadline: secondPayDeadline,
total_items: total_items,
},
pays:{
1:{
@ -1275,6 +1290,7 @@ const contractNewApply = ()=>{
form.append('manager', this.data.manager);
form.append('vat', this.data.vat);
form.append('total_price', this.data.total_price);
form.append('total_items', this.data.total_items);
form.append('price_a', this.data.price_a);
form.append('price_b', this.data.price_b);
form.append('address', this.data.address);

Loading…
Cancel
Save