Cheng 1 year ago
parent
commit
c5e5a29294
  1. BIN
      wms/account-receivable-contract.xlsx
  2. 267
      wms/account-receivable-new-index.php
  3. 2
      wms/account-receivable.txt
  4. 44
      wms/cont/api/getElevatorPrice.php
  5. 0
      wms/cont/api/postElevatorPricereview.php
  6. 5
      wms/cont/css/pricereview.css
  7. 2
      wms/cont/css/pricereview.css.map
  8. 5
      wms/cont/css/pricereview.scss
  9. 149
      wms/cont/js/pricereviewAlpine.js
  10. 128
      wms/cont/pricereviewCreate.php
  11. 78
      wms/cont/window-modal/modalElevaotr.php
  12. 2
      wms/contract/contract-new-apply.php
  13. 2
      wms/contract/js/alpine.js
  14. 8
      wms/crm/crmm03-edit.php
  15. 1
      wms/crm/model/HopeElevatorCustomerModel.php

BIN
wms/account-receivable-contract.xlsx

Binary file not shown.

267
wms/account-receivable-new-index.php

@ -519,7 +519,7 @@ foreach ($PayStage_array as $key => &$value) {
$estimate_time = strtotime($arrayData[$key]['PayStage'][1]['PlanPayDate']); $estimate_time = strtotime($arrayData[$key]['PayStage'][1]['PlanPayDate']);
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); $payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time);
break; break;
case (stristr($payvalue['PayStage'], '試車')): case (stristr($payvalue['PayStage'], '試車') || $payvalue['PayStage'] == '安裝試車'):
$payvalue['stage'] = '試車款'; $payvalue['stage'] = '試車款';
if ($wip_array[$payvalue['facilityno']]['tryrun_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['tryrun_end_date'])) { if ($wip_array[$payvalue['facilityno']]['tryrun_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['tryrun_end_date'])) {
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']); $estimate_time = strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']);
@ -528,6 +528,15 @@ foreach ($PayStage_array as $key => &$value) {
$payvalue['PlanPayDate'] = NULL; $payvalue['PlanPayDate'] = NULL;
} }
break; break;
case (stristr($payvalue['PayStage'], '合格') || stristr($payvalue['PayStage'], '驗收') || stristr($payvalue['PayStage'], '驗收')):
$payvalue['stage'] = '官檢驗收款';
if ($wip_array[$payvalue['facilityno']]['official_check_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['official_check_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['official_check_date'])) {
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['official_check_date']);
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time);
} else {
$payvalue['PlanPayDate'] = NULL;
}
break;
case (stristr($payvalue['PayStage'], '安裝') || stristr($payvalue['PayStage'], '貨抵工地且完工')): case (stristr($payvalue['PayStage'], '安裝') || stristr($payvalue['PayStage'], '貨抵工地且完工')):
$payvalue['stage'] = '安裝款'; $payvalue['stage'] = '安裝款';
if ($wip_array[$payvalue['facilityno']]['install_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['install_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['install_end_date'])) { if ($wip_array[$payvalue['facilityno']]['install_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['install_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['install_end_date'])) {
@ -547,15 +556,7 @@ foreach ($PayStage_array as $key => &$value) {
$payvalue['PlanPayDate'] = NULL; $payvalue['PlanPayDate'] = NULL;
} }
break; break;
case (stristr($payvalue['PayStage'], '合格') || stristr($payvalue['PayStage'], '驗收') || stristr($payvalue['PayStage'], '驗收')):
$payvalue['stage'] = '官檢驗收款';
if ($wip_array[$payvalue['facilityno']]['official_check_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['official_check_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['official_check_date'])) {
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['official_check_date']);
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time);
} else {
$payvalue['PlanPayDate'] = NULL;
}
break;
case (stristr($payvalue['PayStage'], '交車') || stristr($payvalue['PayStage'], '移交') || stristr($payvalue['PayStage'], '完工') || stristr($payvalue['PayStage'], '許可') || stristr($payvalue['PayStage'], '核可')): case (stristr($payvalue['PayStage'], '交車') || stristr($payvalue['PayStage'], '移交') || stristr($payvalue['PayStage'], '完工') || stristr($payvalue['PayStage'], '許可') || stristr($payvalue['PayStage'], '核可')):
$payvalue['stage'] = '交車款'; $payvalue['stage'] = '交車款';
if ($wip_array[$payvalue['facilityno']]['delivery_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['delivery_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['delivery_date'])) { if ($wip_array[$payvalue['facilityno']]['delivery_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['delivery_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['delivery_date'])) {
@ -618,7 +619,7 @@ CheckAll.FromSalSalesOrder AS BillNo
SELECT CheckDetail.BillNo, CheckDetail.FromSalSalesOrder, CheckDetail.RowNo SELECT CheckDetail.BillNo, CheckDetail.FromSalSalesOrder, CheckDetail.RowNo
FROM arCheckBillDetail AS CheckDetail ) FROM arCheckBillDetail AS CheckDetail )
AS CheckAll ON CheckAll.BillNo= Detail.FromBillNo AND Detail.FromRowCode = CheckAll.RowNo AS CheckAll ON CheckAll.BillNo= Detail.FromBillNo AND Detail.FromRowCode = CheckAll.RowNo
WHERE Main.InvoiceState!=2 AND LEN(CheckAll.FromSalSalesOrder)>0"; WHERE Main.InvoiceState!=2 AND LEN(CheckAll.FromSalSalesOrder)>0 AND Main.InvoiceDate > 20240229";
$query_invoice = $conn->query($sql_invoice); $query_invoice = $conn->query($sql_invoice);
//發票資訊回填到arrayData //發票資訊回填到arrayData
@ -629,53 +630,145 @@ foreach ($query_invoice as $invoice) {
} }
//未在T8的收款資料 //未在T8的收款資料
$sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers"; // $sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers";
$query_wms = mysqli_query($link, $sql_wms); // $query_wms = mysqli_query($link, $sql_wms);
foreach ($query_wms as $wms) { // foreach ($query_wms as $wms) {
if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) { // if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) {
$arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget']; // $arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget'];
} // }
if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) { // if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) {
$arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget']; // $arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget'];
} // }
} // }
// 核銷資訊 // 核銷資訊
$sql_received = "SELECT // $sql_received = "SELECT
CheckDetail.OrderBillNo, // CheckDetail.OrderBillNo,
arWriteOffBillDetail.FromBillNo AS CheckBillNo, // arWriteOffBillDetail.FromBillNo AS CheckBillNo,
arWriteOffBillDetail.FromRowCode AS CheckRowCode, // arWriteOffBillDetail.FromRowCode AS CheckRowCode,
arWriteOffBillDetail.CurrStandOffOAmount, // arWriteOffBillDetail.CurrStandOffOAmount,
CheckDetail.TypeId // CheckDetail.TypeId
FROM arWriteOffBillDetail // FROM arWriteOffBillDetail
LEFT JOIN // LEFT JOIN
(SELECT // (SELECT
arCheckBillDetail.BillNo, // arCheckBillDetail.BillNo,
arCheckBillDetail.RowCode, // arCheckBillDetail.RowCode,
arCheckBillDetail.FromSalSalesOrder AS OrderBillNo, // arCheckBillDetail.FromSalSalesOrder AS OrderBillNo,
salSalesOrder.TypeId, // salSalesOrder.TypeId,
salSalesOrder.ModeId // salSalesOrder.ModeId
FROM arCheckBillDetail // FROM arCheckBillDetail
LEFT JOIN salSalesOrder // LEFT JOIN salSalesOrder
ON salSalesOrder.BillNo =arCheckBillDetail.FromSalSalesOrder ) // ON salSalesOrder.BillNo =arCheckBillDetail.FromSalSalesOrder )
AS CheckDetail // AS CheckDetail
ON CheckDetail.BillNo=arWriteOffBillDetail.FromBillNo AND arWriteOffBillDetail.FromRowCode = CheckDetail.RowCode // ON CheckDetail.BillNo=arWriteOffBillDetail.FromBillNo AND arWriteOffBillDetail.FromRowCode = CheckDetail.RowCode
WHERE CheckDetail.ModeId = 'M'"; // WHERE CheckDetail.ModeId = 'M'";
$sql_received = "
SELECT Detail.OrderBillNo,
Detail.CurrWriteOffLAmount,
Main.BillDate
FROM arWriteOffBillDetail AS Detail
LEFT JOIN arWriteOffBill AS Main
ON Detail.BillNo=Main.BillNo
WHERE Main.BillDate >20240229 AND LEN(Detail.OrderBillNo)>0";
$query_received = $conn->query($sql_received); $query_received = $conn->query($sql_received);
// 核銷資訊回填到arrayData // 核銷資訊回填到arrayData
foreach ($query_received as $received) { if(is_iterable($query_received)){
if (isset($arrayData[$received['OrderBillNo']])) { foreach ($query_received as $received) {
$arrayData[$received['OrderBillNo']]['received_budget'] += $received['CurrStandOffOAmount']; if (isset($arrayData[$received['OrderBillNo']])) {
$arrayData[$received['OrderBillNo']]['received_budget'] += $received['CurrWriteOffLAmount'];
}
} }
} }
// 取WMS期初資料並依作番款別填入 $wms_initial
$wms_initial = array();
$sql_initial = "SELECT * FROM account_receivable";
$initail_data = mysqli_query($link, $sql_initial);
foreach ($initail_data as $initial) {
if ($initial['invoice_budget'] > 0) {
if (isset($wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'])) {
$wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'] += $initial['invoice_budget'];
} else {
$wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'] = $initial['invoice_budget'];
}
}
if ($initial['received_budget'] > 0) {
if (isset($wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'])) {
$wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'] += $initial['received_budget'];
} else {
$wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'] = $initial['received_budget'];
}
}
}
// 將發票與核銷資訊 分別計算作番收款階段金額 與 催收次數 // 將發票與核銷資訊 分別計算作番收款階段金額 與 催收次數
$today = strtotime(date('Y-m-t')); $today = strtotime(date('Y-m-t'));
foreach ($final_paystage as $key => &$value) { foreach ($final_paystage as $key => &$value) {
$tmpinvoice = $arrayData[$key]['invoice_budget']; $tmpinvoice = $arrayData[$key]['invoice_budget'];
$tmpreceived = $arrayData[$key]['received_budget']; $tmpreceived = $arrayData[$key]['received_budget'];
for ($sequenceNumber = 1; $sequenceNumber <= count($value); $sequenceNumber++) { for ($sequenceNumber = 1; $sequenceNumber <= count($value); $sequenceNumber++) {
if (isset($value[$sequenceNumber]['stage'])) {
switch ($value[$sequenceNumber]['stage']) {
case '訂金':
$istage = 100;
break;
case '二次款':
$istage = 200;
break;
case '貨抵工地款':
$istage = 300;
break;
case '安裝款':
$istage = 400;
break;
case '試車款':
$istage = 500;
break;
case '官檢驗收款':
$istage = 600;
break;
case '交車款':
$istage = 700;
break;
case '尾款':
$istage = 800;
break;
}
} else {
$istage = 0;
}
if (isset($wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['invoice_budget'])) {
$value[$sequenceNumber]['invoice_budget'] = $wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['invoice_budget'];
} else {
if ($tmpinvoice > $value[$sequenceNumber]['PlanPayAmt']) {
$value[$sequenceNumber]['invoice_budget'] = $value[$sequenceNumber]['PlanPayAmt'];
$tmpinvoice = $tmpinvoice - $value[$sequenceNumber]['invoice_budget'];
} elseif ($tmpinvoice > 0) {
$value[$sequenceNumber]['invoice_budget'] = $tmpinvoice;
$tmpinvoice = 0;
} else {
$value[$sequenceNumber]['invoice_budget'] = 0;
}
}
if (isset($wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['received_budget'])) {
$value[$sequenceNumber]['received_budget'] = $wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['received_budget'];
} else {
if ($tmpreceived > $value[$sequenceNumber]['PlanPayAmt']) {
$value[$sequenceNumber]['received_budget'] = $value[$sequenceNumber]['PlanPayAmt'];
$tmpreceived -= $value[$sequenceNumber]['received_budget'];
} elseif ($tmpreceived > 0) {
$value[$sequenceNumber]['received_budget'] = $tmpreceived;
$tmpreceived = 0;
} else {
$value[$sequenceNumber]['received_budget'] = 0;
}
}
if (isset($value[$sequenceNumber]['PlanPayDate'])) { if (isset($value[$sequenceNumber]['PlanPayDate'])) {
$collect_month = collect_month(strtotime($value[$sequenceNumber]['PlanPayDate'])); $collect_month = collect_month(strtotime($value[$sequenceNumber]['PlanPayDate']));
if ($today > strtotime($value[$sequenceNumber]['PlanPayDate'])) { if ($today > strtotime($value[$sequenceNumber]['PlanPayDate'])) {
@ -687,24 +780,8 @@ foreach ($final_paystage as $key => &$value) {
$collect_month = 0; $collect_month = 0;
$value[$sequenceNumber]['hadtopay'] = '--'; $value[$sequenceNumber]['hadtopay'] = '--';
} }
if ($tmpinvoice > $value[$sequenceNumber]['PlanPayAmt']) {
$value[$sequenceNumber]['invoice_budget'] = $value[$sequenceNumber]['PlanPayAmt'];
$tmpinvoice = $tmpinvoice - $value[$sequenceNumber]['invoice_budget'];
} elseif ($tmpinvoice > 0) {
$value[$sequenceNumber]['invoice_budget'] = $tmpinvoice;
$tmpinvoice = 0;
} else {
$value[$sequenceNumber]['invoice_budget'] = 0;
}
if ($tmpreceived > $value[$sequenceNumber]['PlanPayAmt']) {
$value[$sequenceNumber]['received_budget'] = $value[$sequenceNumber]['PlanPayAmt'];
$tmpreceived -= $value[$sequenceNumber]['received_budget'];
} elseif ($tmpreceived > 0) {
$value[$sequenceNumber]['received_budget'] = $tmpreceived;
$tmpreceived = 0;
} else {
$value[$sequenceNumber]['received_budget'] = 0;
}
if ($collect_month > 0 && $value[$sequenceNumber]['PlanPayAmt'] > $value[$sequenceNumber]['received_budget']) { if ($collect_month > 0 && $value[$sequenceNumber]['PlanPayAmt'] > $value[$sequenceNumber]['received_budget']) {
$value[$sequenceNumber]['collect_month'] = $collect_month; $value[$sequenceNumber]['collect_month'] = $collect_month;
} else { } else {
@ -714,7 +791,6 @@ foreach ($final_paystage as $key => &$value) {
} }
//合約資料填回arrayData //合約資料填回arrayData
foreach ($final_paystage as $key => $value) { foreach ($final_paystage as $key => $value) {
for ($sequence = 1; $sequence <= count($value); $sequence++) { for ($sequence = 1; $sequence <= count($value); $sequence++) {
@ -724,13 +800,16 @@ foreach ($final_paystage as $key => $value) {
if ($arvalue['PayStage'] == $value[$sequence]['PayStage']) { if ($arvalue['PayStage'] == $value[$sequence]['PayStage']) {
if (isset($arvalue['receivable_budget']) && isset($arvalue['received_budget']) && isset($arvalue['invoice_budget'])) { if (isset($arvalue['receivable_budget']) && isset($arvalue['received_budget']) && isset($arvalue['invoice_budget'])) {
$arvalue['received_budget'] += $value[$sequence]['received_budget']; $arvalue['received_budget'] += $value[$sequence]['received_budget'];
$arrayData[$key]['received_budget'] += $value[$sequence]['received_budget'];
$arvalue['invoice_budget'] += $value[$sequence]['invoice_budget']; $arvalue['invoice_budget'] += $value[$sequence]['invoice_budget'];
$arrayData[$key]['invoice_budget'] += $value[$sequence]['invoice_budget'];
if ($value[$sequence]['hadtopay'] == 'V') { if ($value[$sequence]['hadtopay'] == 'V') {
$arvalue['receivable_budget'] += $value[$sequence]['PlanPayAmt']; $arvalue['receivable_budget'] += $value[$sequence]['PlanPayAmt'];
$arrayData[$key]['receivable_budget'] += $value[$sequence]['PlanPayAmt']; $arrayData[$key]['receivable_budget'] += $value[$sequence]['PlanPayAmt'];
} else { }
$arvalue['receivable_budget'] = 0; // else {
} // $arvalue['receivable_budget'] = 0;
// }
if ($arvalue['collect_month'] < $value[$sequence]['collect_month']) { if ($arvalue['collect_month'] < $value[$sequence]['collect_month']) {
$arvalue['collect_month'] = $value[$sequence]['collect_month']; $arvalue['collect_month'] = $value[$sequence]['collect_month'];
} }
@ -746,7 +825,9 @@ foreach ($final_paystage as $key => $value) {
$arvalue['receivable_budget'] = 0; $arvalue['receivable_budget'] = 0;
} }
$arvalue['received_budget'] = $value[$sequence]['received_budget']; $arvalue['received_budget'] = $value[$sequence]['received_budget'];
$arrayData[$key]['received_budget'] += $value[$sequence]['received_budget'];
$arvalue['invoice_budget'] = $value[$sequence]['invoice_budget']; $arvalue['invoice_budget'] = $value[$sequence]['invoice_budget'];
$arrayData[$key]['invoice_budget'] += $value[$sequence]['invoice_budget'];
$arvalue['collect_month'] = $value[$sequence]['collect_month']; $arvalue['collect_month'] = $value[$sequence]['collect_month'];
$sum_receivable_budget += $value[$sequence]['PlanPayAmt']; $sum_receivable_budget += $value[$sequence]['PlanPayAmt'];
$sum_received_budget += $value[$sequence]['received_budget']; $sum_received_budget += $value[$sequence]['received_budget'];
@ -779,6 +860,7 @@ $excel_contract_boga_array = array();
$excel_contract_noboga_array = array(); $excel_contract_noboga_array = array();
$excel_facility_array = array(); $excel_facility_array = array();
foreach ($arrayData as $key => &$value) { foreach ($arrayData as $key => &$value) {
$excel_contract_array[$key] = array_fill(0, 76, ''); $excel_contract_array[$key] = array_fill(0, 76, '');
@ -799,7 +881,7 @@ foreach ($arrayData as $key => &$value) {
$excel_contract_array[$key][14] = (isset($value['receivable_budget']) && !is_null($value['receivable_budget'])) ? $value['receivable_budget'] : 0; $excel_contract_array[$key][14] = (isset($value['receivable_budget']) && !is_null($value['receivable_budget'])) ? $value['receivable_budget'] : 0;
$excel_contract_array[$key][15] = (isset($value['invoice_budget']) && !is_null($value['invoice_budget'])) ? number_format(round($value['invoice_budget'])) : '0'; $excel_contract_array[$key][15] = (isset($value['invoice_budget']) && !is_null($value['invoice_budget'])) ? number_format(round($value['invoice_budget'])) : '0';
$excel_contract_array[$key][16] = (isset($value['received_budget']) && !is_null($value['received_budget'])) ? $value['received_budget'] : 0; $excel_contract_array[$key][16] = (isset($value['received_budget']) && !is_null($value['received_budget'])) ? $value['received_budget'] : 0;
$value['collect_budget'] = ($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0 ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0; $value['collect_budget'] = (($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0) ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0;
$excel_contract_array[$key][17] = number_format(round($excel_contract_array[$key][14] - $excel_contract_array[$key][16])); $excel_contract_array[$key][17] = number_format(round($excel_contract_array[$key][14] - $excel_contract_array[$key][16]));
$excel_contract_array[$key][18] = (isset($value['collect_month']) && !is_null($value['collect_month'])) ? number_format(round($value['collect_month'])) : '0'; $excel_contract_array[$key][18] = (isset($value['collect_month']) && !is_null($value['collect_month'])) ? number_format(round($value['collect_month'])) : '0';
$excel_contract_array[$key][19] = (isset($value['facility_num']) && !is_null($value['facility_num'])) ? number_format(round($value['facility_num'])) : '0'; $excel_contract_array[$key][19] = (isset($value['facility_num']) && !is_null($value['facility_num'])) ? number_format(round($value['facility_num'])) : '0';
@ -807,7 +889,7 @@ foreach ($arrayData as $key => &$value) {
$excel_contract_array[$key][14] = number_format(round($excel_contract_array[$key][14])); $excel_contract_array[$key][14] = number_format(round($excel_contract_array[$key][14]));
$excel_contract_array[$key][16] = number_format(round($excel_contract_array[$key][16])); $excel_contract_array[$key][16] = number_format(round($excel_contract_array[$key][16]));
if (isset($value['PayStage']) && is_iterable($value['PayStage'])) { if (isset($value['PayStage']) && is_iterable($value['PayStage'])) {
if ($excel_contract_array[$key][17] > 1) { if ($excel_contract_array[$key][18] !== '0') {
$excel_contract_all_array[$key] = array_fill(0, 24, 0); $excel_contract_all_array[$key] = array_fill(0, 24, 0);
$excel_contract_all_array[$key][0] = $excel_contract_array[$key][0]; $excel_contract_all_array[$key][0] = $excel_contract_array[$key][0];
$excel_contract_all_array[$key][1] = $excel_contract_array[$key][3]; $excel_contract_all_array[$key][1] = $excel_contract_array[$key][3];
@ -817,30 +899,31 @@ foreach ($arrayData as $key => &$value) {
$excel_contract_all_array[$key][5] = $excel_contract_array[$key][20]; $excel_contract_all_array[$key][5] = $excel_contract_array[$key][20];
$excel_contract_all_array[$key][6] = $excel_contract_array[$key][17]; $excel_contract_all_array[$key][6] = $excel_contract_array[$key][17];
$excel_contract_all_array[$key][7] = $excel_contract_array[$key][18]; $excel_contract_all_array[$key][7] = $excel_contract_array[$key][18];
$isBoga = 0;
if (stristr($value['PayStage'][1]['PayStage'], '寶佳')) {
$isBoga = 1;
$excel_contract_boga_array[$key] = array_fill(0, 24, '');
$excel_contract_boga_array[$key][0] = $excel_contract_array[$key][0];
$excel_contract_boga_array[$key][1] = $excel_contract_array[$key][3];
$excel_contract_boga_array[$key][2] = $excel_contract_array[$key][8];
$excel_contract_boga_array[$key][3] = $excel_contract_array[$key][11];
$excel_contract_boga_array[$key][4] = $excel_contract_array[$key][19];
$excel_contract_boga_array[$key][5] = $excel_contract_array[$key][20];
$excel_contract_boga_array[$key][6] = $excel_contract_array[$key][17];
$excel_contract_boga_array[$key][7] = $excel_contract_array[$key][18];
} else {
$excel_contract_noboga_array[$key] = array_fill(0, 24, '');
$excel_contract_noboga_array[$key][0] = $excel_contract_array[$key][0];
$excel_contract_noboga_array[$key][1] = $excel_contract_array[$key][3];
$excel_contract_noboga_array[$key][2] = $excel_contract_array[$key][8];
$excel_contract_noboga_array[$key][3] = $excel_contract_array[$key][11];
$excel_contract_noboga_array[$key][4] = $excel_contract_array[$key][19];
$excel_contract_noboga_array[$key][5] = $excel_contract_array[$key][20];
$excel_contract_noboga_array[$key][6] = $excel_contract_array[$key][17];
$excel_contract_noboga_array[$key][7] = $excel_contract_array[$key][18];
}
} }
$isBoga = 0;
if (stristr($value['PayStage'][1]['PayStage'], '寶佳')) {
$isBoga = 1;
$excel_contract_boga_array[$key] = array_fill(0, 24, '');
$excel_contract_boga_array[$key][0] = $excel_contract_array[$key][0];
$excel_contract_boga_array[$key][1] = $excel_contract_array[$key][3];
$excel_contract_boga_array[$key][2] = $excel_contract_array[$key][8];
$excel_contract_boga_array[$key][3] = $excel_contract_array[$key][11];
$excel_contract_boga_array[$key][4] = $excel_contract_array[$key][19];
$excel_contract_boga_array[$key][5] = $excel_contract_array[$key][20];
$excel_contract_boga_array[$key][6] = $excel_contract_array[$key][17];
$excel_contract_boga_array[$key][7] = $excel_contract_array[$key][18];
} else {
$excel_contract_noboga_array[$key] = array_fill(0, 24, '');
$excel_contract_noboga_array[$key][0] = $excel_contract_array[$key][0];
$excel_contract_noboga_array[$key][1] = $excel_contract_array[$key][3];
$excel_contract_noboga_array[$key][2] = $excel_contract_array[$key][8];
$excel_contract_noboga_array[$key][3] = $excel_contract_array[$key][11];
$excel_contract_noboga_array[$key][4] = $excel_contract_array[$key][19];
$excel_contract_noboga_array[$key][5] = $excel_contract_array[$key][20];
$excel_contract_noboga_array[$key][6] = $excel_contract_array[$key][17];
$excel_contract_noboga_array[$key][7] = $excel_contract_array[$key][18];
}
foreach ($value['PayStage'] as $paykey => $payvalue) { foreach ($value['PayStage'] as $paykey => $payvalue) {
switch ($payvalue['stage']) { switch ($payvalue['stage']) {
case "訂金": case "訂金":
@ -1040,7 +1123,7 @@ $total_data = json_encode($excel_contract_all_array);
$boga_data = json_encode($excel_contract_boga_array); $boga_data = json_encode($excel_contract_boga_array);
$noboga_data = json_encode($excel_contract_noboga_array); $noboga_data = json_encode($excel_contract_noboga_array);
$table = ""; $table = "";
$testtotal =0; $testtotal = 0;
// foreach ($arrayData as $key => $value) { // foreach ($arrayData as $key => $value) {
// if (isset($value['facility']) && is_iterable($value['facility'])) { // if (isset($value['facility']) && is_iterable($value['facility'])) {
// foreach ($value['facility'] as $fkey => $fvalue) { // foreach ($value['facility'] as $fkey => $fvalue) {

2
wms/account-receivable.txt

File diff suppressed because one or more lines are too long

44
wms/cont/api/getElevatorPrice.php

@ -0,0 +1,44 @@
<?php
require_once "../../mkt/conn.php";
$spec = $_GET['spec'];
$person = $_GET['person'];
$stop = $_GET['stop'];
$weight = $_GET['weight'];
$speed = $_GET['speed'];
$m1 = $_GET['m1'];
$method = $_GET['method'];
$cycle = $_GET['cycle'];
if($spec == "MAE100"){
$elevator_type = "A";
}elseif($spec == "MAF100"){
$elevator_type = "B";
}elseif($spec == "MAM200"){
$elevator_type = "D";
}elseif($spec == "MAH100"){
$elevator_type = "E";
}
$sql_str = "SELECT * FROM maintain_standard_option WHERE elevator_type=:elevator_type AND min_speed = :min_speed AND min_persons <= :person AND max_persons >= :person AND is_m1_bundle=:m1 ORDER bY id DESC";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':elevator_type', $elevator_type);
$stmt->bindParam(':min_speed', $speed);
$stmt->bindParam(':person', $person);
$stmt->bindParam(':m1', $m1);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if(!$result){
echo 0;
exit;
}
$differ = $stop > $result['max_floors'] ? $result['max_floors'] - $result['min_floors'] : ($stop - $result['min_floors']);
$price = $result['base_price'] + $differ * $result['floors_price'] +$result['m1_bundle_fee'];
if($cycle == 2){
$price += $price * $result['maintenance_fee_coefficient'];
}
if($method == "A"){
$price += $result['all_inclusive_fee'];
}
echo $price;

0
wms/cont/api/postElevatorPricereview.php

5
wms/cont/css/pricereview.css

@ -271,6 +271,11 @@
.window-modal .window-modal-content .window-modal-header > div > input { .window-modal .window-modal-content .window-modal-header > div > input {
width: 250px; width: 250px;
} }
.window-modal .window-modal-content input[type=number]::-webkit-outer-spin-button,
.window-modal .window-modal-content input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.window-modal .window-back { .window-modal .window-back {
position: absolute; position: absolute;
top: 0; top: 0;

2
wms/cont/css/pricereview.css.map

@ -1 +1 @@
{"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"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","file":"pricereview.css"} {"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACEZ;EACI,WAAA;ADAR;ACEI;EACI,gBAAA;ADAR;ACEI;EACI,wBAAA,EAAA,6BAAA;EACA,qBAAA,EAAA,eAAA;EACA,gBAAA,EAAA,SAAA;ADAR;ACEI;EACI,aAAA;ADAR;ACCQ;EACI,sBAAA;ADCZ;ACCQ;EACI,cAAA;ADCZ;ACCQ;EACI,yBAAA;ADCZ;ACKQ;EACI,sBAAA;EACA,YAAA;ADHZ;ACIY;EACI,YAAA;ADFhB;ACOY;EACI,yBAAA;ADLhB;ACQgB;EACI,eAAA;ADNpB;ACQgB;EACI,yBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;ADNpB;ACSY;EACI,eAAA;ADPhB;ACUQ;EACI,yBAAA;EACA,aAAA;EACA,kBAAA;EACA,cAAA;ADRZ;ACSY;EACI,WAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;ADPhB;ACQgB;EACI,yBAAA;EACA,WAAA;ADNpB;ACQgB;EACI,yBAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;ADNpB;ACQgB;EACI,yBAAA;EACA,WAAA;ADNpB;ACUY;EACI,sBAAA;EACA,aAAA;EACA,kBAAA;ADRhB;ACSgB;EACI,aAAA;EACA,mBAAA;EACA,6BAAA;EACA,eAAA;EACA,mBAAA;ADPpB;ACQoB;EACI,gBAAA;ADNxB;ACUgB;EACI,eAAA;EACA,6BAAA;ADRpB;ACSoB;EACI,eAAA;EACA,eAAA;ADPxB;ACSoB;EACI,eAAA;ADPxB;ACSoB;;;;EAEA,wBAAA;EACA,SAAA;ADLpB;ACSoB;EACI,UAAA;ADPxB;ACSoB;EACI,YAAA;ADPxB;ACSoB;EACI,kBAAA;ADPxB;ACQwB;EACI,kBAAA;EACA,QAAA;EACA,2BAAA;EACA,UAAA;EACA,UAAA;EACA,gBAAA;ADN5B;ACQwB;EACI,kBAAA;EACA,QAAA;EACA,2BAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;ADN5B;ACSoB;EACI,YAAA;EACA,gBAAA;ADPxB;ACWY;EACI,aAAA;EACA,sBAAA;EACA,gBAAA;ADThB;ACUgB;EACI,aAAA;EACA,mBAAA;EACA,cAAA;ADRpB;ACSoB;EACI,YAAA;EACA,eAAA;EACA,gBAAA;ADPxB;ACSoB;EACI,YAAA;ADPxB;ACSoB;EACI,YAAA;EACA,YAAA;EACA,SAAA;EACA,kBAAA;EACA,gBAAA;ADPxB;ACaI;EACI,+CAAA;EACA,gBAAA;ADXR;;ACeA;EACI,4BAAA;EACA,WAAA;ADZJ;ACaI;EACI,gBAAA;ADXR;ACaI;EACI,yBAAA;ADXR;;ACcA;;EAGI,wBAAA;ADZJ;;ACcA;EACI,0BAAA;EACA,qBAAA;EACA,2BAAA;ADXJ;;ACaA;EACI,eAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,aAAA;EACA,oCAAA;EACA,UAAA;EACA,aAAA;ADVJ;ACYI;EACI;IACI,gCAAA;IACA,UAAA;EDVV;ECYM;IACI,gCAAA;IACA,UAAA;EDVV;AACF;ACYI;EACI,sBAAA;ADVR;ACYI;EACI,cAAA;ADVR;ACYI;EACI,yBAAA;ADVR;ACYI;EACI,gBAAA;ADVR;ACWQ;EACI,aAAA;EACA,kBAAA;ADTZ;ACYI;EACI,iBAAA;EACA,YAAA;ADVR;ACWQ;EACI,YAAA;ADTZ;ACYI;EACI,UAAA;EACA,sBAAA;EACA,mBAAA;EACA,kBAAA;EACA,UAAA;EACA,aAAA;EACA,QAAA;EACA,SAAA;EACA,gCAAA;EACA,0BAAA;EACA,8BAAA;ADVR;ACWQ;EACI,iBAAA;ADTZ;ACWQ;EACI,gBAAA;ADTZ;ACWQ;EACI,gBAAA;ADTZ;ACWQ;EACI,aAAA;EACA,sBAAA;ADTZ;ACUY;EACI,kBAAA;EACA,SAAA;EACA,WAAA;EACA,6BAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;ADRhB;ACUY;EACI,YAAA;ADRhB;ACWQ;;EAEI,wBAAA;EACA,SAAA;ADTZ;ACYI;EACI,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,6BAAA;ADVR;;ACeI;EACI,yBAAA;EACA,mBAAA;EACA,aAAA;ADZR;ACaQ;EACI,aAAA;EACA,gBAAA;ADXZ;ACaQ;EACI,gBAAA;ADXZ;ACaQ;EACI,sBAAA;ADXZ;ACaQ;EACI,uBAAA;ADXZ;ACYY;EACI,uBAAA;ADVhB;ACcY;EACI,yBAAA;ADZhB;ACgBY;EACI,gBAAA;ADdhB;ACgBY;EACI,yBAAA;EACA,mBAAA;EACA,iBAAA;EACA,eAAA;ADdhB;ACgBY;EACI,eAAA;ADdhB;ACegB;EACI,eAAA;EACA,gBAAA;ADbpB;ACegB;EACI,WAAA;EACA,aAAA;EACA,cAAA;EACA,sBAAA;ADbpB","file":"pricereview.css"}

5
wms/cont/css/pricereview.scss

@ -281,6 +281,11 @@
width: 250px; width: 250px;
} }
} }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
} }
.window-back{ .window-back{
position: absolute; position: absolute;

149
wms/cont/js/pricereviewAlpine.js

@ -8,8 +8,22 @@ const pricereviewCreate = ()=>{
other:false, other:false,
otherToElevator:false, otherToElevator:false,
}, },
vol_no: vol_no,
apply_key: apply_key,
customer:customer,
manager:manager,
salesman:salesman,
salesman_name:salesman_name,
pre_order_date:pre_order_date,
address:address,
progress_status:progress_status,
total_spec:0, total_spec:0,
elevators:[], elevators:[],
case_name:'', //案件名稱
contract_status:'', // 契約性質
pay_method:'', // 付款方式
startDate:'', //合約開始日期
endDate:'', // 合約結束日期
modalElevatorInfo:{ modalElevatorInfo:{
spec:'', spec:'',
person:'', person:'',
@ -18,9 +32,10 @@ const pricereviewCreate = ()=>{
speed:'', speed:'',
permitNumber:'', //許可證號碼 permitNumber:'', //許可證號碼
brand:'', //品牌 brand:'', //品牌
m1:0, //贈送M1 m1:'N', //贈送M1
months:12, //保養月數(月) months:'', // 保養月數
cycle:'EM', // 保養週期 cycle:'', // 保養週期
method:'', //保養方式
checkYear:'', //竣工檢查年度 checkYear:'', //竣工檢查年度
lastDate:'', // 上次年檢日期 lastDate:'', // 上次年檢日期
yearCheckFee:'', //年檢費用 yearCheckFee:'', //年檢費用
@ -39,6 +54,12 @@ const pricereviewCreate = ()=>{
currentOtherOptionKey:'', currentOtherOptionKey:'',
toElevators:[], toElevators:[],
toElevatorNo:'', toElevatorNo:'',
serviceFee:0,
remark:'',
penalty:'',
deposit_rate:'',
keep_rate:'',
warranty_rate:'',
openCreateElevatorModal(){ openCreateElevatorModal(){
this.modalShow.elevator = true; this.modalShow.elevator = true;
body.style.overflow = 'hidden'; body.style.overflow = 'hidden';
@ -52,21 +73,33 @@ const pricereviewCreate = ()=>{
weight:'', weight:'',
stop:'', stop:'',
speed:'', speed:'',
permitNumber:'', permitNumber:'', //許可證號碼
brand:'', brand:'', //品牌
m1:0, m1:'N', //贈送M1
startDate:'', months:'', // 保養月數
endDate:'', cycle:'', // 保養週期
cycle:'', method:'', //保養方式
checkYear:'', checkYear:'', //竣工檢查年度
lastDate:'', lastDate:'', // 上次年檢日期
yearCheckFee:'', yearCheckFee:'', //年檢費用
price:'', price:'', //公司發布價(月)
qty:1, qty:1, //電梯數量
sale_price:'', sale_price:'', //契約報價
}; };
}, },
createElevatorFn(){ createElevatorFn(){
// if(this.modalElevatorInfo.spec == '') return alert("請選擇電梯規格");
// if(this.modalElevatorInfo.person == '') return alert("請選擇人乘");
// if(this.modalElevatorInfo.weight == '') return alert("請輸入載重");
// if(this.modalElevatorInfo.stop == '') return alert("請輸入停數");
// if(this.modalElevatorInfo.speed == '') return alert("請選擇速度");
// if(this.modalElevatorInfo.brand == '') return alert("請選擇品牌");
// if(this.modalElevatorInfo.months == '') return alert("請輸入保養月數");
// if(this.modalElevatorInfo.method == '') return alert("請選擇保養方式");
// if(this.modalElevatorInfo.cycle == '') return alert("請選擇保養週期");
// if(this.modalElevatorInfo.checkYear == '') return alert("請輸入竣工檢查年度");
// if(this.modalElevatorInfo.price == '') return alert("請選擇正確規格");
// if(this.modalElevatorInfo.sale_price == '') return alert("請輸入契約報價");
this.total_spec ++; this.total_spec ++;
this.elevators.push({ this.elevators.push({
id: this.total_spec, id: this.total_spec,
@ -78,8 +111,9 @@ const pricereviewCreate = ()=>{
permitNumber: this.modalElevatorInfo.permitNumber, permitNumber: this.modalElevatorInfo.permitNumber,
brand: this.modalElevatorInfo.brand, brand: this.modalElevatorInfo.brand,
m1: this.modalElevatorInfo.m1, m1: this.modalElevatorInfo.m1,
months: this.modalElevatorInfo.months, months:this.modalElevatorInfo.months, // 保養月數
cycle: this.modalElevatorInfo.cycle, cycle: this.modalElevatorInfo.cycle,
method:this.modalElevatorInfo.method, // 保養方法
checkYear: this.modalElevatorInfo.checkYear, checkYear: this.modalElevatorInfo.checkYear,
lastDate: this.modalElevatorInfo.lastDate, lastDate: this.modalElevatorInfo.lastDate,
yearCheckFee: this.modalElevatorInfo.yearCheckFee, yearCheckFee: this.modalElevatorInfo.yearCheckFee,
@ -95,10 +129,10 @@ const pricereviewCreate = ()=>{
const stop = this.elevators[idx].stop; const stop = this.elevators[idx].stop;
const weight = this.elevators[idx].weight const weight = this.elevators[idx].weight
const speed = this.elevators[idx].speed; const speed = this.elevators[idx].speed;
const permitNumber = this.elevators[idx].permitNumber;
const brand = this.elevators[idx].brand; const brand = this.elevators[idx].brand;
const m1 = this.elevators[idx].m1; const m1 = this.elevators[idx].m1;
const months = this.elevators[idx].months; const months = this.elevators[idx].months;
const method = this.elevators[idx].method;
const cycle = this.elevators[idx].cycle; const cycle = this.elevators[idx].cycle;
const checkYear = this.elevators[idx].checkYear; const checkYear = this.elevators[idx].checkYear;
const lastDate = this.elevators[idx].lastDate; const lastDate = this.elevators[idx].lastDate;
@ -115,10 +149,11 @@ const pricereviewCreate = ()=>{
stop: stop, stop: stop,
weight:weight, weight:weight,
speed: speed, speed: speed,
permitNumber: permitNumber, permitNumber: '',
brand: brand, brand: brand,
m1: m1, m1: m1,
months: months, months: months,
method: method,
cycle: cycle, cycle: cycle,
checkYear: checkYear, checkYear: checkYear,
lastDate: lastDate, lastDate: lastDate,
@ -129,6 +164,7 @@ const pricereviewCreate = ()=>{
}) })
}, },
removeElevator(id){ removeElevator(id){
if(!confirm('確定刪除該電梯?')) return;
this.elevators = this.elevators.filter(elevator=> elevator.id != id) this.elevators = this.elevators.filter(elevator=> elevator.id != id)
}, },
openCreateOtherOptionFn(){ openCreateOtherOptionFn(){
@ -221,5 +257,82 @@ const pricereviewCreate = ()=>{
removeOtherOption(id){ removeOtherOption(id){
this.otherOptions = this.otherOptions.filter(option=> option.id != id) this.otherOptions = this.otherOptions.filter(option=> option.id != id)
}, },
get totalPrice(){
let total_price = this.elevators.reduce((accumulator, el) => accumulator + Number(el.price*el.months), 0);
let total_other_price = this.otherOptions.reduce((accumulator, option) => accumulator + Number(option.price*option.num), 0);
return total_price + total_other_price;
},
get totalSalePrice(){
let total_sale_price = this.elevators.reduce((accumulator, el) => accumulator + Number(el.sale_price*el.months), 0);
return total_sale_price + Number(this.serviceFee);
},
get totalElevatorsNum(){
let total_num = this.elevators.reduce((accumulator, el) => accumulator + Number(el.qty), 0);
return total_num;
},
get totalOtherOptionsNum(){
let total_other_num = this.otherOptions.reduce((accumulator, option) => accumulator + Number(option.num), 0);
return total_other_num;
},
get totalOtherOptionsPrice(){
let total_other_price = this.otherOptions.reduce((accumulator, option) => accumulator + Number(option.price*option.num), 0);
return total_other_price;
},
async getModalElevatorPrice(){
const spec = this.modalElevatorInfo.spec
const person = this.modalElevatorInfo.person
const stop = this.modalElevatorInfo.stop
const weight = this.modalElevatorInfo.weight
const speed = this.modalElevatorInfo.speed
const m1 = this.modalElevatorInfo.m1
const method = this.modalElevatorInfo.method
const cycle = this.modalElevatorInfo.cycle
try{
const res = await axios.get('./api/getElevatorPrice.php', {params: {spec: spec, person:person, weight: weight, stop: stop, speed: speed, m1: m1, method: method, cycle:cycle}})
this.modalElevatorInfo.price = res.data;
console.log(res.data);
}catch (error) {
console.error("Error message:", error);
}
},
save(){
const form = new FormData();
form.append('vol_no', this.vol_no);
form.append('apply_key', this.apply_key);
form.append('customer', this.customer);
form.append('address', this.address);
form.append('case_name', this.case_name);
form.append('brand', this.brand);
form.append('num', this.totalElevatorsNum);
form.append('salesman', this.salesman);
form.append('contract_begin_date', this.startDate);
form.append('contract_end_date', this.endDate);
form.append('contract_kind', this.contract_status);
form.append('progress_status', this.progress_status);
form.append('serviceFee', this.serviceFee);
form.append('penalty', this.penalty);
form.append('deposit_rate', this.deposit_rate);
form.append('keep_rate', this.keep_rate);
form.append('warranty_rate', this.warranty_rate);
form.append('remark', this.remark);
form.append('creater', this.user_id);
form.append('pay_method', this.pay_method);
form.append('status', 'Y1');
form.append('elevators', JSON.stringify(this.elevators));
form.append('otherOptions', JSON.stringify(this.otherOptions));
axios.post('./api/postElevatorPricereview.php', form).then(res=>{
console.log(res.data);
if(res.data == 'success'){
alert("保存成功!");
window.location.reload();
}
})
},
submit(){
},
} }
} }

128
wms/cont/pricereviewCreate.php

@ -68,7 +68,7 @@ function getApplyKey($p_yyyymm, $seq_name){
<tbody> <tbody>
<tr> <tr>
<th>價審單號</th> <th>價審單號</th>
<td><input class="form-control" type="text" disabled value="<?php echo $apply_key; ?>" /></td> <td><input class="form-control" type="text" disabled x-model="apply_key" /></td>
<th>卷號</th> <th>卷號</th>
<td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['vol_no']; ?>" /></td> <td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['vol_no']; ?>" /></td>
<th>現場名稱</th> <th>現場名稱</th>
@ -92,7 +92,7 @@ function getApplyKey($p_yyyymm, $seq_name){
<table class="table" border="1"> <table class="table" border="1">
<thead > <thead >
<tr class="" > <tr class="" >
<th scope="col" class="text-center " colspan="8">價格審查(契約)基本資料</th> <th scope="col" class="text-center " colspan="10">價格審查(契約)基本資料</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -100,25 +100,30 @@ function getApplyKey($p_yyyymm, $seq_name){
<th>契約性質</th> <th>契約性質</th>
<td> <td>
<select class="form-control"> <select class="form-control" x-model="contract_status">
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="">新簽約</option> <option value="1">新簽約</option>
<option value="">免保轉有費</option> <option value="2">免保轉有費</option>
<option value="">續約</option> <option value="3">續約</option>
</select> </select>
</td> </td>
<th>付款方式</th> <th>付款方式</th>
<td> <td>
<select class="form-control" > <select class="form-control" x-model="pay_method" >
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="">月付</option> <option value="A40003">月繳</option>
<option value="">季付</option> <option value="A40004">雙月繳</option>
<option value="">半年付</option> <option value="A40007">季繳</option>
<option value="">年付</option> <option value="A40005">半年繳</option>
<option value="A40006">年繳</option>
</select> </select>
</td> </td>
<th>案件名稱</th> <th>案件名稱</th>
<td><input class="form-control" type="text" value="" /></td> <td><input class="form-control" type="text" x-model="case_name" /></td>
<th>合約開始日期</th>
<td><input type="date" class="form-control" x-model="startDate" /></td>
<th>合約結束日期</th>
<td><input type="date" class="form-control" x-model="endDate" /></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -147,9 +152,8 @@ function getApplyKey($p_yyyymm, $seq_name){
<td colspan=8> <td colspan=8>
<textarea class="form-control" name="progress" id="progress" cols="20" rows="6" disabled>注意事項: <textarea class="form-control" name="progress" id="progress" cols="20" rows="6" disabled>注意事項:
1.速度單位是 米/分. 1.速度單位是 米/分.
2.選擇贈送M1,保養月數需填寫60. 2.標準價格未帶出,請聯係業務部建立該規格報價.
3.標準價格未帶出,請聯係業務部建立該規格報價. 3.無機房速度20~60米 以60米為標準.
4.無機房速度20~60米 以60米為標準.
</textarea> </textarea>
</td> </td>
</tr> </tr>
@ -233,9 +237,9 @@ function getApplyKey($p_yyyymm, $seq_name){
<input type="text" class="form-control" x-model="elevator.permitNumber" /> <input type="text" class="form-control" x-model="elevator.permitNumber" />
</td> </td>
<th>品牌</th> <th>品牌</th>
<td colspan="3"> <td>
<select class="form-control" x-model="modalElevatorInfo.brand"> <select class="form-control" x-model="elevator.brand">
<option value="請選擇">請選擇</option> <option value="">請選擇</option>
<option value='永大'>永大</option> <option value='永大'>永大</option>
<option value='三菱'>三菱</option> <option value='三菱'>三菱</option>
<option value='崇友'>崇友</option> <option value='崇友'>崇友</option>
@ -265,64 +269,69 @@ function getApplyKey($p_yyyymm, $seq_name){
<td> <td>
<input type="number" class="form-control" x-model="elevator.checkYear" /> <input type="number" class="form-control" x-model="elevator.checkYear" />
</td> </td>
<th>上次年檢日期</th>
<td>
<input type="date" class="form-control" x-model="elevator.lastDate" />
</td>
</tr> </tr>
<tr> <tr>
<th>年檢費用(元)</th>
<th>保養開始日期</th>
<td> <td>
<input type="date" class="form-control" x-model="elevator.months" /> <input type="number" class="form-control" x-model="elevator.yearCheckFee" />
</td> </td>
<th>保養結束日期</th> <th>電梯數量</th>
<td> <td>
<input type="date" class="form-control" x-model="elevator.months" /> <input type="number" class="form-control" x-model="elevator.qty" disabled />
</td> </td>
<th>保養週期</th> <th>保養週期</th>
<td> <td>
<select name="" id="" class="form-control" x-model="elevator.cycle"> <select name="" id="" class="form-control" x-model="elevator.cycle">
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="EM">月保</option> <option value="1">月保</option>
<option value="BW">雙週保</option> <option value="2">月保兩次</option>
<option value="3">雙月保</option>
<option value="4">季保</option>
</select> </select>
</td> </td>
<th>保養方式</th> <th>保養方式</th>
<td> <td>
<select class="form-control"> <select class="form-control" x-model="elevator.method">
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="3">全包</option> <option value="A">全包</option>
<option value="2">半包</option> <option value="B">半包</option>
<option value="4">清包</option> <option value="C">清包</option>
</select> </select>
</td> </td>
<th>送M1</th> <th>送M1</th>
<td> <td>
<select class="form-control" x-model="elevator.m1"> <select class="form-control" x-model="elevator.m1">
<option value="0"></option> <option value="N"></option>
<option value="1"></option> <option value="Y"></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>公司發布價(月)</th>
<th>上次年檢日期</th>
<td> <td>
<input type="date" class="form-control" x-model="elevator.lastDate" /> <input type="text" class="form-control" disabled x-model="elevator.price.toLocaleString()" />
</td> </td>
<th>年檢費用(元)</th> <th>保養月數</th>
<td> <td>
<input type="number" class="form-control" x-model="elevator.yearCheckFee" /> <input type="number" class="form-control" x-model="elevator.months" />
</td> </td>
<th>公司發布價()</th> <th>公司發布價(總價)</th>
<td> <td>
<input type="number" class="form-control" x-model="elevator.price" /> <input type="text" class="form-control" disabled x-model="(elevator.price * elevator.months).toLocaleString()" />
</td>
<th>電梯數量</th>
<td>
<input type="number" class="form-control" x-model="elevator.qty" disabled />
</td> </td>
<th>契約報價(月)</th> <th>契約報價(月)</th>
<td> <td>
<input type="number" class="form-control" x-model="elevator.sale_price" /> <input type="number" class="form-control" x-model="elevator.sale_price" />
</td> </td>
<th>契約報價(總價)</th>
<td>
<input type="text" class="form-control" disabled x-model="(elevator.sale_price * elevator.months).toLocaleString()" />
</td>
</tr> </tr>
</tbody> </tbody>
</template> </template>
@ -376,8 +385,8 @@ function getApplyKey($p_yyyymm, $seq_name){
</template> </template>
<tr x-show="otherOptions.length > 0"> <tr x-show="otherOptions.length > 0">
<td colspan=3>小計</td> <td colspan=3>小計</td>
<td colspan=1 ><input type="number" class="form-control" disabled :value="totalOtherOptionsNum().toLocaleString()" ></td> <td colspan=1 ><input type="number" class="form-control" disabled :value="totalOtherOptionsNum.toLocaleString()" ></td>
<td colspan=1 ><input type="text" class="form-control" disabled :value="totalOtherOptionsPrice().toLocaleString()" ></td> <td colspan=1 ><input type="text" class="form-control" disabled :value="totalOtherOptionsPrice.toLocaleString()" ></td>
<td colspan=3 ></td> <td colspan=3 ></td>
</tr> </tr>
</tbody> </tbody>
@ -395,14 +404,14 @@ function getApplyKey($p_yyyymm, $seq_name){
<th>服務費(介紹費)</th> <th>服務費(介紹費)</th>
</tr> </tr>
<tr> <tr>
<td><input type="text" class="form-control" x-model="totalPrice().toLocaleString()" disabled style="width:180px" /></td> <td><input type="text" class="form-control" x-model="totalPrice.toLocaleString()" disabled style="width:180px" /></td>
<td><input type="text" class="form-control" x-model="totalSalePrice().toLocaleString()" disabled style="width:180px" /></td> <td><input type="text" class="form-control" x-model="totalSalePrice.toLocaleString()" disabled style="width:180px" /></td>
<td><input type="text" class="form-control" x-model="(totalSalePrice() - totalPrice()).toLocaleString()" disabled style="width:180px" /></td> <td><input type="text" class="form-control" x-model="(totalSalePrice - totalPrice).toLocaleString()" disabled style="width:180px" /></td>
<td> <td>
<input type="text" class="form-control" x-show="totalPrice()!=0" x-model="Math.round(totalSalePrice() / totalPrice() * 100 * 10) /10" disabled /> <input type="text" class="form-control" x-show="totalPrice!=0" x-model="Math.round(totalSalePrice / totalPrice * 100* 10) /10 + '%'" disabled />
<input type="text" class="form-control" x-show="totalPrice()==0" value="0" disabled /> <input type="text" class="form-control" x-show="totalPrice==0" value="0" disabled />
</td> </td>
<td><input type="text" class="form-control" x-model="totalElevatorsNum()" disabled /></td> <td><input type="text" class="form-control" x-model="totalElevatorsNum" disabled /></td>
<td><input type="text" class="form-control" x-model="serviceFee" style="width:150px" /></td> <td><input type="text" class="form-control" x-model="serviceFee" style="width:150px" /></td>
</tr> </tr>
<tr> <tr>
@ -436,11 +445,11 @@ function getApplyKey($p_yyyymm, $seq_name){
<div class="filediv"> <div class="filediv">
<label style="font-size:13px">▪️ 營業權限85%以上;85-80%呈至區處長審核;80%以下呈至總經理審核。</label> <label style="font-size:13px">▪️ 營業權限85%以上;85-80%呈至區處長審核;80%以下呈至總經理審核。</label>
<label for=""> <label for="">
<p>報價單</p> <p style="width:120px">報價單</p>
<input type="file" class="form-control" multiple draggable="true" @change="uploadFiles($event, 1)" /> <input type="file" class="form-control" multiple draggable="true" @change="uploadFiles($event, 1)" />
</label> </label>
<label for=""> <label for="">
<p></p> <p style="width:120px">合約用印申請</p>
<input type="file" class="form-control" multiple draggable="true" @change="uploadFiles($event, 2)" /> <input type="file" class="form-control" multiple draggable="true" @change="uploadFiles($event, 2)" />
</label> </label>
<label for=""> <label for="">
@ -460,4 +469,17 @@ function getApplyKey($p_yyyymm, $seq_name){
<script> <script>
const body = document.querySelector('body'); const body = document.querySelector('body');
const vol_no = '<?php echo $hope_customer['vol_no']; ?>';
const apply_key = '<?php echo $apply_key; ?>';
const customer = '<?php echo $hope_customer['customer']; ?>';
const manager = '<?php echo $hope_customer['manager']; ?>';
const salesman = '<?php echo $hope_customer['salesman'] ?>';
const salesman_name = '<?php echo $hope_customer['salesman_name'] ?>';
const pre_order_date = '<?php echo $hope_customer['pre_order_date']; ?>';
const address = '<?php echo $hope_customer['address']; ?>';
const brand = '<?php echo $hope_customer['brand']; ?>';
const progress_status = '<?php echo $hope_customer['progress_status']; ?>';
const user_id = '<?php echo $user_id ?>';
const user_name = '<?php echo $user_name ?>';
</script> </script>

78
wms/cont/window-modal/modalElevaotr.php

@ -15,21 +15,16 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<select class="form-control" x-model="modalElevatorInfo.spec"> <select class="form-control" x-model="modalElevatorInfo.spec" @change="getModalElevatorPrice()">
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="MAE100">MAE100有機房</option> <option value="MAE100">MAE100有機房</option>
<option value="MAM200">MAM200無機房</option> <option value="MAM200">MAM200無機房</option>
<option value="MAH100">MAH100小電梯</option> <option value="MAH100">MAH100小電梯</option>
<option value="MAF100">MAF100貨梯(有機房)</option> <option value="MAF100">MAF100貨梯(有機房)</option>
<option value="MAQ100">MAQ100強趨梯</option>
<option value="MAP100">MAP100平台梯</option>
<option value="M1">M1(系統更新)</option>
<option value="M1+M4(1:1)">M1+M4(1:1)系統+主機</option>
<option value="M1+M4(2:1)">M1+M4(2:1)系統+主機</option>
</select> </select>
</td> </td>
<td> <td>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.person"> <select name="" id="" class="form-control" x-model="modalElevatorInfo.person" @change="getModalElevatorPrice()">
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="6">6</option> <option value="6">6</option>
<option value="8">8</option> <option value="8">8</option>
@ -45,21 +40,21 @@
</select> </select>
</td> </td>
<td> <td>
<input type="number" class="form-control" x-model="modalElevatorInfo.weight" /> <input type="number" class="form-control" x-model="modalElevatorInfo.weight" @change="getModalElevatorPrice()" />
</td> </td>
<td> <td>
<input type="number" class="form-control" x-model="modalElevatorInfo.stop" /> <input type="number" class="form-control" x-model="modalElevatorInfo.stop" @change="getModalElevatorPrice()" />
</td> </td>
</tr> </tr>
<tr class="table-active"> <tr class="table-active">
<th>速度</th> <th>速度</th>
<th>電梯許可證號</th> <th>電梯數量</th>
<th>品牌</th> <th>品牌</th>
<th>贈送M1</th> <th>贈送M1</th>
</tr> </tr>
<tr> <tr>
<td> <td>
<select name="" id="" class="form-control" style="width:93px" x-model="modalElevatorInfo.speed" @change="getModalElevatorPrice()" > <select name="" id="" class="form-control" x-model="modalElevatorInfo.speed" @change="getModalElevatorPrice()" @change="getModalElevatorPrice()" >
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="9">9</option> <option value="9">9</option>
<option value="24">24</option> <option value="24">24</option>
@ -73,11 +68,11 @@
</select> </select>
</td> </td>
<td> <td>
<input type="text" class="form-control" x-model="modalElevatorInfo.permitNumber" /> <input type="number" class="form-control" x-model="modalElevatorInfo.qty" disabled />
</td> </td>
<td> <td>
<select class="form-control" x-model="modalElevatorInfo.brand"> <select class="form-control" x-model="modalElevatorInfo.brand">
<option value="請選擇">請選擇</option> <option value="">請選擇</option>
<option value='永大'>永大</option> <option value='永大'>永大</option>
<option value='三菱'>三菱</option> <option value='三菱'>三菱</option>
<option value='崇友'>崇友</option> <option value='崇友'>崇友</option>
@ -104,40 +99,41 @@
</select> </select>
</td> </td>
<td> <td>
<select class="form-control" x-model="modalElevatorInfo.m1"> <select class="form-control" x-model="modalElevatorInfo.m1" @change="getModalElevatorPrice()">
<option value="0"></option> <option value="N"></option>
<option value="1"></option> <option value="Y"></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr class="table-active"> <tr class="table-active">
<th colspan=2>保養開始日期</th> <th colspan=2>電梯許可證號</th>
<th colspan=2>保養結束日期</th> <th colspan=2>保養方式</th>
</tr> </tr>
<tr class="table-active"> <tr class="table-active">
<td colspan=2><input type="date" class="form-control" x-model="modalElevatorInfo.startDate" /></td> <td colspan=2><input type="number" class="form-control" x-model="modalElevatorInfo.permitNumber" /></td>
<td colspan=2><input type="date" class="form-control" x-model="modalElevatorInfo.endDate" /></td> <td colspan=2>
<select class="form-control" x-model="modalElevatorInfo.method" @change="getModalElevatorPrice()">
<option value="">請選擇</option>
<option value="A">全包</option>
<option value="B">半包</option>
<option value="C">清包</option>
</select>
</td>
</tr> </tr>
<tr class="table-active"> <tr class="table-active">
<th>保養方式</th>
<th>保養週期</th> <th>保養週期</th>
<th>竣工檢查年度</th> <th>竣工檢查年度</th>
<th>上次年檢日期</th> <th>上次年檢日期</th>
<th>年檢費用(元)</th>
</tr> </tr>
<tr> <tr>
<td> <td>
<select class="form-control"> <select name="" id="" class="form-control" x-model="modalElevatorInfo.cycle" @change="getModalElevatorPrice()">
<option value="">請選擇</option>
<option value="3">全包</option>
<option value="2">半包</option>
<option value="4">清包</option>
</select>
</td>
<td>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.cycle">
<option value="">請選擇</option> <option value="">請選擇</option>
<option value="">月保</option> <option value="1">月保</option>
<option value="">雙週保</option> <option value="2">月保兩次</option>
<option value="3">雙月保</option>
<option value="4">季保</option>
</select> </select>
</td> </td>
<td> <td>
@ -146,32 +142,36 @@
<td> <td>
<input type="date" class="form-control" x-model="modalElevatorInfo.lastDate" /> <input type="date" class="form-control" x-model="modalElevatorInfo.lastDate" />
</td> </td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.yearCheckFee" />
</td>
</tr> </tr>
<tr class="table-active"> <tr class="table-active">
<th>年檢費用(元)</th>
<th>公司發布價(月)</th> <th>公司發布價(月)</th>
<th>電梯數量</th> <th>保養月數</th>
<th>契約報價(月)</th> <th>契約報價(月)</th>
<th>契約報價總額</th>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="number" class="form-control" x-model="modalElevatorInfo.yearCheckFee" /> <input type="text" class="form-control" disabled x-model="modalElevatorInfo.price.toLocaleString()" />
</td> </td>
<td> <td>
<input type="number" class="form-control" x-model="modalElevatorInfo.price" /> <input type="number" class="form-control" x-model="modalElevatorInfo.months" />
</td> </td>
<td> <td>
<input type="number" class="form-control" x-model="modalElevatorInfo.qty" disabled /> <input type="number" class="form-control" x-model="modalElevatorInfo.sale_price" />
</td> </td>
<td> <td>
<input type="number" class="form-control" x-model="modalElevatorInfo.sale_price" /> <input type="text" class="form-control" disabled x-model="(modalElevatorInfo.sale_price * modalElevatorInfo.months).toLocaleString()" />
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateElevatorModal()">關閉</button> <button type="button" class="btn btn-secondary" @click="hideCreateElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createElevatorFn()">新增</button> <button type="button" class="btn btn-primary" @click="createElevatorFn()">新增</button>
</div> </div>
</div> </div>

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

@ -714,7 +714,7 @@ $para = "function_name=pricereview&" . $token_link;
const total_items = <?php echo $contract['total_items'] ?? ''; ?>; const total_items = <?php echo $contract['total_items'] ?? ''; ?>;
const contract_new_apply_id = <?php echo $contract_new_apply_id; ?>; const contract_new_apply_id = <?php echo $contract_new_apply_id; ?>;
const originfiles = [...<?php echo json_encode($files) ?? []; ?>]; const originfiles = [...<?php echo json_encode($files) ?? []; ?>];
const description = '<?php echo $contract['description']; ?>'; const description = `<?php echo $contract['description']; ?>`;
const contractstatus = <?php echo $contract['status']; ?>; const contractstatus = <?php echo $contract['status']; ?>;
const progress = <?php echo $contract['progress']; ?>; const progress = <?php echo $contract['progress']; ?>;
</script> </script>

2
wms/contract/js/alpine.js

@ -23,7 +23,7 @@ const contractDownload = () => {
data: { data: {
illustrate: { illustrate: {
editshow: false, editshow: false,
plaintext: '茲因甲方向乙方訂購電梯,並委由乙方安裝系爭電梯,經雙方同意共同訂立本合約書,其條款如下:' plaintext: '茲因甲方向乙方訂購電梯,並委由乙方安裝新增電梯,經雙方同意共同訂立本合約書,其條款如下:'
}, },
partyA: { partyA: {
editshow: false, editshow: false,

8
wms/crm/crmm03-edit.php

@ -23,7 +23,7 @@ $salesman_opt = DB::result($sql);
#5.有望客戶狀態 #5.有望客戶狀態
$sql = "select code_name value ,content label from code where field_name='hope_customer_status'"; $sql = "select code_name value ,content label from code where field_name='hope_customer_status'";
$hope_customer_status_opt = DB::result($sql); $hope_customer_status_opt = DB::result($sql);
print_r($hope_customer_status_opt);
#6.是否汰改 #6.是否汰改
$is_renovation_opt = ["N" => "新梯(M)", "Y" => "汰改(T)"]; $is_renovation_opt = ["N" => "新梯(M)", "Y" => "汰改(T)"];
/* /*
@ -46,7 +46,10 @@ $speed_opt = DB::result($sql);
#卷號 #卷號
$vol_no = ""; $vol_no = "";
#抓取有望客戶資料 #抓取有望客戶資料
$customer_type = [
['value'=>'0', 0=>'0', 'label'=>'一般客戶', 1=>'一般客戶'],
['value'=>'1', 0=>'1', 'label'=>'戰略客戶', 1=>'戰略客戶'],
];
$hope_elevator_customer_column = [ $hope_elevator_customer_column = [
'is_renovation' => ['label' => "產品屬性", "tag" => 'radio', 'attr' => ['required', 'class' => ' form-control form-control-sm'], 'options' => $is_renovation_opt], 'is_renovation' => ['label' => "產品屬性", "tag" => 'radio', 'attr' => ['required', 'class' => ' form-control form-control-sm'], 'options' => $is_renovation_opt],
'vol_no' => ['label' => "卷號", "tag" => 'text', 'attr' => ['required', 'readonly=true ', "value" => "$vol_no", 'class' => 'form-control form-control-sm']], 'vol_no' => ['label' => "卷號", "tag" => 'text', 'attr' => ['required', 'readonly=true ', "value" => "$vol_no", 'class' => 'form-control form-control-sm']],
@ -67,6 +70,7 @@ $hope_elevator_customer_column = [
'num' => ['label' => "台數", "tag" => 'digits', 'attr' => ['min=1', 'digits', 'class' => 'form-control form-control-sm']], 'num' => ['label' => "台數", "tag" => 'digits', 'attr' => ['min=1', 'digits', 'class' => 'form-control form-control-sm']],
'pre_order_date' => ['label' => "預定成交日", "tag" => 'date', 'attr' => ['class' => 'date form-control form-control-sm']], 'pre_order_date' => ['label' => "預定成交日", "tag" => 'date', 'attr' => ['class' => 'date form-control form-control-sm']],
'status' => ['label' => "有望客戶狀態", "tag" => 'select', 'attr' => ['class' => 'form-control form-control-sm'], 'options' => $hope_customer_status_opt], 'status' => ['label' => "有望客戶狀態", "tag" => 'select', 'attr' => ['class' => 'form-control form-control-sm'], 'options' => $hope_customer_status_opt],
'customer_type' => ['label' => "客戶類型", "tag" => 'select', 'attr' => ['class' => 'form-control form-control-sm'], 'options' => $customer_type],
//'next_visit_date' => ['label' => "下次拜訪時間", "tag" => 'date', 'attr' => ['class' => 'date form-control form-control-sm']], //'next_visit_date' => ['label' => "下次拜訪時間", "tag" => 'date', 'attr' => ['class' => 'date form-control form-control-sm']],
// 'brand' => ['label' => "廠牌", "tag" => 'select', 'attr' => ['required', 'class' => ' form-control form-control-sm '], 'options' => $elevator_brand_opt], // 'brand' => ['label' => "廠牌", "tag" => 'select', 'attr' => ['required', 'class' => ' form-control form-control-sm '], 'options' => $elevator_brand_opt],
//'quote_date' => ['label' => "報價日期", "tag" => 'date', 'attr' => ['class' => 'date form-control form-control-sm']], //'quote_date' => ['label' => "報價日期", "tag" => 'date', 'attr' => ['class' => 'date form-control form-control-sm']],

1
wms/crm/model/HopeElevatorCustomerModel.php

@ -29,6 +29,7 @@ class HopeElevatorCustomerModel extends Model
'introducer', 'introducer',
'company', 'company',
'case_name', 'case_name',
'customer_type',
'creater_name', 'creater_name',
'creater']; 'creater'];
} }

Loading…
Cancel
Save