42 changed files with 4041 additions and 1651 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,111 @@ |
|||||
|
<?php |
||||
|
require_once("../../contract/conn.php"); |
||||
|
|
||||
|
if (!empty($_POST['id']) && !empty($_POST['postType']) && $_POST['postType'] == 'a') { |
||||
|
try { |
||||
|
$id = empty($_POST['id']) ? '' : $_POST['id']; |
||||
|
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; |
||||
|
$amount = empty($_POST['amount']) ? '' : $_POST['amount']; |
||||
|
$pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day']; |
||||
|
$review_at = date("Y-m-d H:i:s"); |
||||
|
$sql = "UPDATE bonus SET status = 2 ,bonus_actual='$amount',review_hr = '$user_id' ,review_at = '$review_at',pay_day ='$pay_day',update_id='$user_id',update_at='$review_at' WHERE id = $id"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->execute(); |
||||
|
|
||||
|
header("HTTP/1.1 200 success!"); |
||||
|
echo 'Success'; |
||||
|
} catch (PDOException $e) { |
||||
|
header("HTTP/1.1 404 failed!"); |
||||
|
echo $e->getMessage(); |
||||
|
die('Error!:' . $e->getMessage()); |
||||
|
} |
||||
|
} |
||||
|
// 獎金確認發放,並更新獎金 OR 實際發放時間 |
||||
|
if (!empty($_POST['postType']) && $_POST['postType'] == 'b') { |
||||
|
try { |
||||
|
$id = empty($_POST['id']) ? '' : $_POST['id']; |
||||
|
$pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day']; |
||||
|
$bonus_actual = empty($_POST['bonus_actual']) ? '' : $_POST['bonus_actual']; |
||||
|
$note = empty($_POST['note']) ? '' : $_POST['note']; |
||||
|
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; |
||||
|
$review_at = date("Y-m-d H:i:s"); |
||||
|
if ($pay_day != '' && $bonus_actual != '') { |
||||
|
$sql = "UPDATE bonus SET status = 2,review_hr='$user_id',review_at='$review_at',bonus_actual='$bonus_actual',pay_day='$pay_day',note='$note' WHERE id = $id"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->execute(); |
||||
|
header("HTTP/1.1 200 success!"); |
||||
|
} else { |
||||
|
header("HTTP/1.1 400"); |
||||
|
echo '請填寫發放時間和實發獎金'; |
||||
|
} |
||||
|
} catch (PDOException $e) { |
||||
|
header("HTTP/1.1 404 failed!"); |
||||
|
echo $e->getMessage(); |
||||
|
die('Error!:' . $e->getMessage()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 獎金暫不發放 |
||||
|
if (!empty($_POST['postType']) && $_POST['postType'] == 'c') { |
||||
|
// echo 'cccccc'; |
||||
|
try { |
||||
|
$id = empty($_POST['id']) ? '' : $_POST['id']; |
||||
|
$pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day']; |
||||
|
$bonus_actual = empty($_POST['bonus_issue']) ? '' : $_POST['bonus_issue']; |
||||
|
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; |
||||
|
$note = empty($_POST['note']) ? '' : $_POST['note']; |
||||
|
$review_at = date("Y-m-d H:i:s"); |
||||
|
|
||||
|
if ($note != '') { |
||||
|
$sql = "UPDATE bonus SET status = 4,review_hr='$user_id',review_at='$review_at',pay_day='$pay_day',note='$note' WHERE id = $id"; |
||||
|
echo $sql; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->execute(); |
||||
|
header("HTTP/1.1 200 success!"); |
||||
|
} else { |
||||
|
echo '請填寫備註!!'; |
||||
|
header("HTTP/1.1 400!"); |
||||
|
} |
||||
|
} catch (PDOException $e) { |
||||
|
header("HTTP/1.1 404 failed!"); |
||||
|
echo $e->getMessage(); |
||||
|
die('Error!:' . $e->getMessage()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (!empty($_POST['postType']) && $_POST['postType'] == 'd') { |
||||
|
try { |
||||
|
$id = empty($_POST['id']) ? '' : $_POST['id']; |
||||
|
$review_at = date("Y-m-d H:i:s"); |
||||
|
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; |
||||
|
|
||||
|
$sql = "SELECT * FROM bonus WHERE id IN ($id)"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->execute(); |
||||
|
$results = $stmt->fetchAll(PDO::FETCH_ASSOC); |
||||
|
|
||||
|
$conn->beginTransaction(); |
||||
|
foreach ($results as $result) { |
||||
|
// echo '<pre>'; |
||||
|
// print_r($result); |
||||
|
// echo '</pre>'; |
||||
|
// exit(); |
||||
|
$amount = $result['amount']; |
||||
|
$id = $result['id']; |
||||
|
$pay_day = $result['pay_day_due']; |
||||
|
|
||||
|
$sql = "UPDATE bonus SET status = 5 ,bonus_actual='$amount',review_hr = '$user_id' ,review_at = '$review_at',pay_day ='$pay_day' WHERE id = $id"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->execute(); |
||||
|
} |
||||
|
|
||||
|
$conn->commit(); |
||||
|
header("HTTP/1.1 200 success!"); |
||||
|
} catch (PDOException $e) { |
||||
|
$conn->rollBack(); |
||||
|
header("HTTP/1.1 404 failed!"); |
||||
|
echo $e->getMessage(); |
||||
|
die('Error!:' . $e->getMessage()); |
||||
|
} |
||||
|
// echo 'ddddd'; |
||||
|
} |
@ -0,0 +1,199 @@ |
|||||
|
<?php |
||||
|
include('../header.php'); |
||||
|
require_once('../contract-repair/conn.php'); |
||||
|
|
||||
|
$sql = "SELECT * FROM bonus WHERE id = :id"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->bindParam(':id', $_GET['id']); |
||||
|
$stmt->execute(); |
||||
|
$result = $stmt->fetch(PDO::FETCH_ASSOC); |
||||
|
// echo '<pre>'; |
||||
|
// print_r($result['bonus_json']); |
||||
|
// echo '</pre>'; |
||||
|
$bonus_json = json_decode($result['bonus_json']); |
||||
|
|
||||
|
$paykind = [ |
||||
|
'monthly' => '月繳', |
||||
|
'bimonthly' => '雙月繳', |
||||
|
'quarterly' => '季繳', |
||||
|
'semiannually' => '半年繳', |
||||
|
'annually' => '年繳' |
||||
|
]; |
||||
|
|
||||
|
$maintain_type = [ |
||||
|
'new' => '新簽約', |
||||
|
'free_to_charge' => '免保轉有費', |
||||
|
'renew_priceissue' => '續簽約' |
||||
|
]; |
||||
|
?> |
||||
|
|
||||
|
<link rel="stylesheet" href="../contract-repair/styles/style.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" /> |
||||
|
<script src="../contract-repair/js/alpine.js"></script> |
||||
|
<script defer src="../contract-repair/js/alpinejs/cdn.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/semantic/dist/semantic.min.js"></script> |
||||
|
|
||||
|
<div class="bonuns_index" x-data="bonunsIndex"> |
||||
|
<div class="form" method="post" id="form" enctype="multipart/form-data"> |
||||
|
<input type="hidden" name="form_name" value="main_form"> |
||||
|
<div> |
||||
|
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<td colspan="8"> |
||||
|
<h3 style='text-align:center'>獎金計算</h3> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
|
||||
|
<template x-if="step==1"> |
||||
|
<tbody style="font-weight: bolder;margin-bottom:20px"> |
||||
|
<tr> |
||||
|
<td colspan="7" style="vertical-align:middle;border-right:0px"> |
||||
|
<h4>獎金確認項</h4> |
||||
|
</td> |
||||
|
<td class="text-right" style="border: left 0px;"> |
||||
|
<button type="button" id="btn_back" class="btn btn-default" onclick="window.history.back();">返回</button> |
||||
|
<button type="button" id="btn_close" class="btn btn-default" onclick="window.close()">關閉</button> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td style="vertical-align:middle">合約號</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.contract_no" disabled="disabled"> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">合約類別</td> |
||||
|
<td> |
||||
|
<select id="contract_type" x-model="data.contract_type" disabled="disabled"> |
||||
|
<option value="">--請選擇--</option> |
||||
|
<option value="1">新梯</option> |
||||
|
<option value="2">汰改</option> |
||||
|
<option value="3">保養</option> |
||||
|
</select> |
||||
|
<p class="alerttext" x-show="data.contract_type==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">作番號</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.facility_no" disabled="disabled"> |
||||
|
</td> |
||||
|
|
||||
|
<td style="vertical-align:middle">獎金適用版本</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.bonus_verson" disabled="disabled"> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td style="vertical-align:middle">保養類別</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.maintain_type" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">付款方式</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.pay_kind" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">合約付款日</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.receivable_date_due" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">應發獎金</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.maintain_price_total" disabled> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td style="vertical-align:middle">作番總價</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.total" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">牌價</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.fee_per_st" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">服務費</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.commission_fee" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">價率</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.discount" disabled> |
||||
|
</td> |
||||
|
|
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td style="vertical-align:middle">實發獎金</td> |
||||
|
<td> |
||||
|
<input type="text" x-model="data.bonus_actual" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">實發時間</td> |
||||
|
<td> <input class="form-control disabled_select" type="date" x-model="data.payDay" disabled> |
||||
|
</td> |
||||
|
<td style="vertical-align:middle">備註</td> |
||||
|
<td><input type="text" x-model='data.note' disabled></td> |
||||
|
<td></td> |
||||
|
<td></td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</template> |
||||
|
</table> |
||||
|
|
||||
|
<!-- <button x-show=" step==1" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
||||
|
<template x-if="!isLoading"> |
||||
|
<span>確認</span> |
||||
|
</template> |
||||
|
<template x-if="isLoading"> |
||||
|
<div class="loader"></div> |
||||
|
</template> |
||||
|
</button> |
||||
|
<button x-show=" step==1" @click="stop()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
||||
|
<template x-if="!isLoading"> |
||||
|
<span>暫不發放</span> |
||||
|
</template> |
||||
|
<template x-if="isLoading"> |
||||
|
<div class="loader"></div> |
||||
|
</template> |
||||
|
</button> --> |
||||
|
<!-- <button x-show="step<=2" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading"> |
||||
|
<template x-if="!isLoading"> |
||||
|
<span>下一步</span> |
||||
|
</template> |
||||
|
<template x-if="isLoading"> |
||||
|
<div class="loader"></div> |
||||
|
</template> |
||||
|
</button> |
||||
|
<button x-show="step>1" @click="preStepFn()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
||||
|
<template x-if="!isLoading"> |
||||
|
<span>上一步</span> |
||||
|
</template> |
||||
|
<template x-if="isLoading"> |
||||
|
<div class="loader"></div> |
||||
|
</template> |
||||
|
</button> --> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<script> |
||||
|
const user_id = '<?= $user_id ?>'; |
||||
|
const id = '<?= $_GET['id'] ?>'; |
||||
|
const contract_no = '<?= $result['contract_no'] ?>'; |
||||
|
const facility_no = '<?= $result['facility_no'] ?>'; |
||||
|
const bonus_verson = '<?= $result['bonus_verson'] ?>'; |
||||
|
const receiver = '<?= $result['receiver'] ?>'; |
||||
|
const payDaydue = '<?= $result['pay_day'] ?>'; |
||||
|
const maintain_price_total = '<?= $result['amount'] ?>'; |
||||
|
const contract_type = '<?= $result['contract_type'] ?>'; |
||||
|
// const bonus_verson = '<?= $result['bonus_verson'] ?>'; |
||||
|
const maintain_type = '<?= $maintain_type[$bonus_json->contract_type] ?>'; |
||||
|
const pay_kind = '<?= $paykind[$bonus_json->paykind] ?>'; |
||||
|
const receivable_date_due = '<?= $bonus_json->receivable_date_due ?>'; |
||||
|
const total = '<?= $bonus_json->total ?>'; |
||||
|
const fee_per_st = '<?= $bonus_json->fee_per_st ?>'; |
||||
|
const commission_fee = '<?= $bonus_json->commission_fee ?>'; |
||||
|
const discount = '<?= $bonus_json->discount ?>' |
||||
|
const bonus_actual = '<?= $result['bonus_actual'] ?>'; |
||||
|
const payDay = '<?= $result['pay_day'] ?>'; |
||||
|
const note = '<?= $result['note'] ?>' |
||||
|
</script> |
@ -0,0 +1,218 @@ |
|||||
|
<?php |
||||
|
function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $elevator_list_price, $elevator_knockdown_price, $sales_id, $region_manger_id) |
||||
|
{ |
||||
|
$bonus_array = []; |
||||
|
if ($ver == "2.0") { |
||||
|
$discount = round($elevator_knockdown_price / $elevator_list_price, 3); #銷售點數,取到小數點第三位。 |
||||
|
|
||||
|
#合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) |
||||
|
switch ($contract_type) { |
||||
|
case "strategy_customer": |
||||
|
#契約員獎金($sales_bonus) |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.007; |
||||
|
#地區經理提成獎金($region_manager_bonus) |
||||
|
$region_manager_bonus = 400; |
||||
|
break; |
||||
|
|
||||
|
case "general_customer": |
||||
|
switch ($elevator_type) { |
||||
|
#客梯(passenger)、貨梯(cargo) |
||||
|
case ($elevator_type == "passenger" or $elevator_type == "cargo"): |
||||
|
switch ($discount) { |
||||
|
case ($discount >= 1.0): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.02; |
||||
|
break; |
||||
|
case ($discount >= 0.9 and $discount < 1.0): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.018; |
||||
|
break; |
||||
|
case ($discount >= 0.75 and $discount < 0.9): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.015; |
||||
|
break; |
||||
|
case ($discount < 0.75): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.008; |
||||
|
break; |
||||
|
}; |
||||
|
break; |
||||
|
|
||||
|
#小電梯(dumbwaiter)、平台梯(flatbase)、強驅(positive_drive) |
||||
|
case ($elevator_type == "dumbwaiter" or $elevator_type == "flatbase" or $elevator_type == "positive_drive"): |
||||
|
switch ($discount) { |
||||
|
case ($discount >= 1.0): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.02; |
||||
|
break; |
||||
|
case ($discount >= 0.9 and $discount < 1.0): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.018; |
||||
|
break; |
||||
|
case ($discount >= 0.72 and $discount < 0.9): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.015; |
||||
|
break; |
||||
|
case ($discount < 0.72): |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.008; |
||||
|
break; |
||||
|
}; |
||||
|
break; |
||||
|
}; |
||||
|
#區域經理提成獎金($region_manager_bonus) |
||||
|
$region_manager_bonus = 600; |
||||
|
break; |
||||
|
}; |
||||
|
|
||||
|
#營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 |
||||
|
"bonus_receiver" => $sales_id, #發放人員 |
||||
|
"bonus_amount" => round($sales_bonus * 0.2), #金額 |
||||
|
"payment_schedul_due" => "deposit", #訂金已收款20% |
||||
|
"payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 |
||||
|
"bonus_receiver" => $sales_id, #發放人員 |
||||
|
"bonus_amount" => round($sales_bonus * 0.5), #金額 |
||||
|
"payment_schedul_due" => "shipping", #訂金已收款20% |
||||
|
"payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 |
||||
|
"bonus_receiver" => $sales_id, #發放人員 |
||||
|
"bonus_amount" => round($sales_bonus * 0.3), #金額 |
||||
|
"payment_schedul_due" => "acceptance", #訂金已收款20% |
||||
|
"payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#區域經理提成獎金水庫-----訂金已收款100%,發放總獎金50% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 |
||||
|
"bonus_receiver" => $region_manger_id, #發放人員 |
||||
|
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
||||
|
"payment_schedul_due" => "deposit", #訂金已收款100% |
||||
|
"payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 |
||||
|
"bonus_receiver" => $region_manger_id, #發放人員 |
||||
|
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
||||
|
"payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% |
||||
|
"payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
$result_array = [ |
||||
|
"ver" => $ver, #獎金版本 |
||||
|
"result_status" => "success", #計算結果 |
||||
|
"bonus_array" => $bonus_array #獎金水庫 |
||||
|
]; |
||||
|
} else { |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "error", #獎金名稱 |
||||
|
"bonus_receiver" => "error", #發放人員 |
||||
|
"bonus_amount" => 0, #金額 |
||||
|
"payment_schedul_due" => "9999-1-1", #預計發放時間 |
||||
|
"payment_schedul_regulation" => "error" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
$result_array = [ |
||||
|
"ver" => $ver, #獎金版本 |
||||
|
"result_status" => "error", #計算結果 |
||||
|
"bonus_array" => $bonus_array #獎金水庫 |
||||
|
]; |
||||
|
}; |
||||
|
|
||||
|
return $result_array; |
||||
|
}; |
||||
|
|
||||
|
function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_price, $sales_id, $region_manger_id) |
||||
|
{ |
||||
|
$bonus_array = []; |
||||
|
if ($ver == "1.0") { |
||||
|
|
||||
|
#合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) |
||||
|
switch ($contract_type) { |
||||
|
case "strategy_customer": |
||||
|
#契約員獎金($sales_bonus) |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.007; |
||||
|
#地區經理經理獎金($region_manager_bonus) |
||||
|
$region_manager_bonus = 400; |
||||
|
break; |
||||
|
|
||||
|
case "general_customer": |
||||
|
#契約員獎金($sales_bonus) |
||||
|
$sales_bonus = $elevator_knockdown_price * 0.015; |
||||
|
#區域經理獎金($region_manager_bonus) |
||||
|
$region_manager_bonus = 600; |
||||
|
break; |
||||
|
}; |
||||
|
|
||||
|
#營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 |
||||
|
"bonus_receiver" => $sales_id, #發放人員 |
||||
|
"bonus_amount" => round($sales_bonus * 0.2), #金額 |
||||
|
"payment_schedul_due" => "deposit", #訂金已收款20% |
||||
|
"payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 |
||||
|
"bonus_receiver" => $sales_id, #發放人員 |
||||
|
"bonus_amount" => round($sales_bonus * 0.5), #金額 |
||||
|
"payment_schedul_due" => "shipping", #訂金已收款20% |
||||
|
"payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 |
||||
|
"bonus_receiver" => $sales_id, #發放人員 |
||||
|
"bonus_amount" => round($sales_bonus * 0.3), #金額 |
||||
|
"payment_schedul_due" => "acceptance", #訂金已收款20% |
||||
|
"payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#區域經理獎金水庫-----訂金已收款100%,發放總獎金50% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 |
||||
|
"bonus_receiver" => $region_manger_id, #發放人員 |
||||
|
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
||||
|
"payment_schedul_due" => "deposit", #訂金已收款100% |
||||
|
"payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
#區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 |
||||
|
"bonus_receiver" => $region_manger_id, #發放人員 |
||||
|
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
||||
|
"payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% |
||||
|
"payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
$result_array = [ |
||||
|
"ver" => $ver, #獎金版本 |
||||
|
"result_status" => "success", #計算結果 |
||||
|
"bonus_array" => $bonus_array #獎金水庫 |
||||
|
]; |
||||
|
} else { |
||||
|
array_push($bonus_array, [ |
||||
|
"bonus_type" => "error", #獎金名稱 |
||||
|
"bonus_receiver" => "error", #發放人員 |
||||
|
"bonus_amount" => 0, #金額 |
||||
|
"payment_schedul_due" => "9999-1-1", #預計發放時間 |
||||
|
"payment_schedul_regulation" => "error" #發放規定 |
||||
|
]); |
||||
|
|
||||
|
$result_array = [ |
||||
|
"ver" => $ver, #獎金版本 |
||||
|
"result_status" => "error", #計算結果 |
||||
|
"bonus_array" => $bonus_array #獎金水庫 |
||||
|
]; |
||||
|
}; |
||||
|
|
||||
|
return $result_array; |
||||
|
}; |
@ -1,21 +1,36 @@ |
|||||
<?php |
<?php |
||||
$date = Date('Y-m-d'); |
?> |
||||
$date1 = Date('Y-m-d', strtotime("$date +1 months")); |
|
||||
// $paymonth = $i * $SQuantity; |
<head> |
||||
// $countDay = date('Y-m-d', strtotime("$date + $paymonth months")); |
<title>地址轉經緯度</title> |
||||
// $payDay = str_replace('-', '', $countDay); |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> |
||||
// $countDay = date('Ymd', strtotime("$date1 + 1 months")); |
</head> |
||||
// echo '<pre>'; |
|
||||
// print_r($countDay); |
<body> |
||||
// echo '</pre>'; |
<h1>輸入地址以獲取經緯度</h1> |
||||
// exit(); |
<form id="addressForm" method="post"> |
||||
$SQuantity = 2; |
<input type="text" id="addressInput" name="address" placeholder="輸入地址"> |
||||
// $b = 24 / $a; |
<button type="submit">查詢</button> |
||||
for ($i = 0; $i < 12; $i++) { |
</form> |
||||
$paymonth = $i * $SQuantity; |
<div id="map"></div> |
||||
$countDay = date('Y-m-d', strtotime("$date + $paymonth months")); |
|
||||
$payDay = str_replace('-', '', $countDay); |
<script> |
||||
echo '<pre>'; |
// 使用AJAX提交表單 |
||||
print_r($payDay); |
$(document).ready(function() { |
||||
echo '</pre>'; |
$("#addressForm").submit(function(event) { |
||||
|
event.preventDefault(); |
||||
|
var address = $("#addressInput").val(); |
||||
|
$.ajax({ |
||||
|
url: "get_lat_lng.php", |
||||
|
type: "POST", |
||||
|
data: { |
||||
|
address: address |
||||
|
}, |
||||
|
success: function(data) { |
||||
|
$("#map").html(data); |
||||
} |
} |
||||
|
}); |
||||
|
}); |
||||
|
}); |
||||
|
</script> |
||||
|
</body> |
@ -1 +1,10 @@ |
|||||
{"version":3,"sources":["pricereview.scss","pricereview.css"],"names":[],"mappings":"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","file":"pricereview.css"} |
{ |
||||
|
"version": 3, |
||||
|
"sources": [ |
||||
|
"pricereview.scss", |
||||
|
"pricereview.css" |
||||
|
], |
||||
|
"names": [], |
||||
|
"mappings": "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", |
||||
|
"file": "pricereview.css" |
||||
|
} |
@ -0,0 +1,195 @@ |
|||||
|
<?php |
||||
|
include_once('../header.php'); |
||||
|
require_once('./conn.php'); |
||||
|
$vol_no = empty($_GET['vol_no']) ? '' : $_GET['vol_no']; |
||||
|
// 有望客戶 |
||||
|
$sql = "SELECT a.*,b.content FROM hope_contract_customer AS a |
||||
|
LEFT JOIN code AS b ON a.source = b.code_name |
||||
|
WHERE a.vol_no = '$vol_no' AND b.field_name = 'customer_source' |
||||
|
"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
// $stmt->bindParam(':vol_no', $vol_no); |
||||
|
$stmt->execute(); |
||||
|
$hope_contract = $stmt->fetch(PDO::FETCH_ASSOC); |
||||
|
|
||||
|
$hope_customer_status = [ |
||||
|
'A' => '有望簽約(已報價)', |
||||
|
'B' => '觀望考慮(等待時機報價)', |
||||
|
'C' => '在途合約', |
||||
|
'D' => '已簽約', |
||||
|
'N' => '無望簽約', |
||||
|
]; |
||||
|
|
||||
|
$salename = $hope_contract['salesman']; |
||||
|
$sql = "SELECT * FROM account WHERE accountid = :salename"; |
||||
|
$stmt = $conn->prepare($sql); |
||||
|
$stmt->bindParam(':salename', $salename); |
||||
|
$stmt->execute(); |
||||
|
$salename = $stmt->fetch(PDO::FETCH_ASSOC); |
||||
|
// echo '<pre>'; |
||||
|
// print_r($hope_customer_status); |
||||
|
// echo '</pre>'; |
||||
|
|
||||
|
|
||||
|
?> |
||||
|
<link rel="stylesheet" href="./css/pricereview.css"> |
||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.5.0/axios.min.js" integrity="sha512-aoTNnqZcT8B4AmeCFmiSnDlc4Nj/KPaZyB5G7JnOnUEkdNpCZs1LCankiYi01sLTyWy+m2P+W4XM+BuQ3Q4/Dg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> |
||||
|
<script defer src="./assets/js/alpinejs/cdn.min.js"></script> |
||||
|
<script src="./assets/js/pricereviewAlpine.js"></script> |
||||
|
|
||||
|
<div id="pricereviewMaintainCreate" x-data=pricereviewMaintainCreate()> |
||||
|
<div class="container"> |
||||
|
<table class="table" border="1"> |
||||
|
<thead> |
||||
|
<tr class=""></tr> |
||||
|
<th scope="col" class="text-center" colspan=8>有望客戶基本資料</th> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<tr> |
||||
|
<th>卷號</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['vol_no'] ?>"></td> |
||||
|
<th>客戶名稱</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['customer'] ?>"></td> |
||||
|
<th>負責人</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['manager'] ?>"></td> |
||||
|
<th>客戶來源</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['content'] ?>"></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<th>地址</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['address'] ?>"></td> |
||||
|
<th>案件名稱</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['customer'] ?>"></td> |
||||
|
<th>市話 / 手機</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['tel'] ?>"></td> |
||||
|
<th>業主方聯繫人</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['linkman'] ?>"></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<th>營業員</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $salename['name'] ?>"></td> |
||||
|
<th>台數</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['num'] ?>"></td> |
||||
|
<th>預定成交日</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_contract['pre_order_date'] ?>"></td> |
||||
|
<th>有望客戶狀態</th> |
||||
|
<td><input type="text" class="form-control" disabled value="<?= $hope_customer_status[$hope_contract['status']] ?>"></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<th>有望客戶狀態</th> |
||||
|
<td><input type="text" class="form-control" disabled value=""></td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
|
||||
|
<table class="table" border="1"> |
||||
|
<thead> |
||||
|
<tr class=""></tr> |
||||
|
<th scope="col" class="text-center" colspan="8">洽商進度</th> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<td colspan=8> |
||||
|
<textarea name="progress" class="form-control" id="progress" cols="20" rows="5" disabled><?= $hope_contract['progress_status'] ?></textarea> |
||||
|
</td> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
|
||||
|
|
||||
|
<div class="pricreviewmain container"> |
||||
|
<div class="divitem"> |
||||
|
<div class="title"> |
||||
|
<h4>整機單價</h4> |
||||
|
<button class="addbtn btn" x-ref="addElevatorBtn" data-bs-toggle="modal" data-bs-target="#createElevatorModal">+</button> |
||||
|
</div> |
||||
|
<table class="table" border=1> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<td>項次</td> |
||||
|
<td>電梯</td> |
||||
|
<td>人乘/<br>載重</td> |
||||
|
<td>停數</td> |
||||
|
<td>速度(m/min)</td> |
||||
|
<td>保養月數</td> |
||||
|
<td>保養次數(月)</td> |
||||
|
<td>保養方式</td> |
||||
|
<td>公司發布價(月)</td> |
||||
|
<td>數量</td> |
||||
|
<td>公司發布價(總價)</td> |
||||
|
<td>售價(月)</td> |
||||
|
<td>售價(總價)</td> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<template x-for="(elevator, idx) in elevator" :key="elevator.id"> |
||||
|
<tr> |
||||
|
<td x-text="elevator.id"></td> |
||||
|
<td> |
||||
|
<select name="" id="" class="form-control" x-model="elevator.specifications" @change="getElevatorPrice(idx)"> |
||||
|
<option value="">請選擇</option> |
||||
|
<option value="MAE100">MAE100有機房</option> |
||||
|
<option value="MAM200">MAM200無機房</option> |
||||
|
<option value="MAH100">MAH100小電梯</option> |
||||
|
<option value="MAF100">MAE100貨梯(有機房)</option> |
||||
|
<option value="MAQ100">MAQ100強趨梯</option> |
||||
|
<option value="MAP100">MAP100平台梯</option> |
||||
|
</select> |
||||
|
</td> |
||||
|
<td> |
||||
|
<select name="" id="" class="form-control" x-model=elevator.person" @change="getElevatorPrice(idx)"> |
||||
|
<option value="">請選擇</option> |
||||
|
<option value="6">6</option> |
||||
|
<option value="8">8</option> |
||||
|
<option value="9">9</option> |
||||
|
<option value="10">10</option> |
||||
|
<option value="11">11</option> |
||||
|
<option value="12">12</option> |
||||
|
<option value="13">13</option> |
||||
|
<option value="15">15</option> |
||||
|
<option value="17">17</option> |
||||
|
<option value="20">20</option> |
||||
|
<option value="24">24</option> |
||||
|
</select> |
||||
|
</td> |
||||
|
<td> |
||||
|
<input type="number" class="form-control" style="width: 83px;" x-model="elevator.stop" @keyup="getElevatorPrice(idx)" "> |
||||
|
</td> |
||||
|
<td> |
||||
|
<select name="" id="" class=" form-control" x-model="elevator.speed" @change="getElevatorPrice(idx)"></select> |
||||
|
<option value="">請選擇</option> |
||||
|
<option value="9">9</option> |
||||
|
<option value="24">24</option> |
||||
|
<option value="30">30</option> |
||||
|
<option value="45">45</option> |
||||
|
<option value="60">60</option> |
||||
|
<option value="90">90</option> |
||||
|
<option value="105">105</option> |
||||
|
<option value="120">120</option> |
||||
|
<option value="150">150</option> |
||||
|
</td> |
||||
|
<td> |
||||
|
<input type="number" class="form-control" style="width: 63px;" x-model="maintain_month" @keyup="getElevatorPrice(idx)"> |
||||
|
</td> |
||||
|
<td> |
||||
|
<input type="number" class="form-control" style="width: 63px;" x-model="maintain_times" @keyup="getElevatorPrice(idx)"> |
||||
|
</td> |
||||
|
<td> |
||||
|
<select name="" id="" class="form-control" style="width: 63px" x-model="maintain_kind" @change="getElevatorPrice(idx)"> |
||||
|
<option value="">請選擇</option> |
||||
|
<option value="2">半包</option> |
||||
|
<option value="3">全包</option> |
||||
|
<option value="4">清包</option> |
||||
|
</select> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</template> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<script> |
||||
|
const body = document.querySelector('body'); |
||||
|
// const elevator = [...<?= json_encode($hope_elevator) ?>]; |
||||
|
</script> |
Loading…
Reference in new issue