diff --git a/wms/cont/api/getElevatorPrice.php b/wms/cont/api/getElevatorPrice.php
index 92f9d4c1..cd3be6b1 100644
--- a/wms/cont/api/getElevatorPrice.php
+++ b/wms/cont/api/getElevatorPrice.php
@@ -2,29 +2,27 @@
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";
+$spec = $_GET['spec'] ?? '';
+$person = $_GET['person'] ?? '';
+$stop = $_GET['stop'] ?? '';
+$weight = $_GET['weight'] ?? '';
+$speed = $_GET['speed'] ?? '';
+$m1 = $_GET['m1'] ?? '';
+$method = $_GET['method'] ?? '';
+$cycle = $_GET['cycle'] ?? '';
+$elevator_type = match($spec){
+ "MAE100" => "A",
+ "MAF100" => "B",
+ "MAM200" => "D",
+ "MAH100" => "E",
+};
+$sql_str = "SELECT * FROM maintain_standard_option
+WHERE elevator_type=:elevator_type AND min_speed<=:speed AND max_speed>=: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(':speed', $speed);
$stmt->bindParam(':m1', $m1);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
diff --git a/wms/cont/api/getUsername.php b/wms/cont/api/getUsername.php
new file mode 100644
index 00000000..396682d1
--- /dev/null
+++ b/wms/cont/api/getUsername.php
@@ -0,0 +1,15 @@
+prepare($sql_str);
+$stmt->bindParam(':accountid', $accountid);
+$stmt->execute();
+$user = $stmt->fetch(PDO::FETCH_ASSOC);
+echo $user['name'];
\ No newline at end of file
diff --git a/wms/cont/api/postElevatorPricereview.php b/wms/cont/api/postElevatorPricereview.php
index e69de29b..03356932 100644
--- a/wms/cont/api/postElevatorPricereview.php
+++ b/wms/cont/api/postElevatorPricereview.php
@@ -0,0 +1,484 @@
+prepare($sql_str);
+$stmt->bindParam(':vol_no', $vol_no);
+$stmt->bindParam(':apply_key', $apply_key);
+$stmt->execute();
+$contract = $stmt->fetch(PDO::FETCH_ASSOC);
+
+
+$conn->beginTransaction();
+try{
+ if(!$contract){
+ $sql_str = "INSERT INTO con_maintance_examine_apply (apply_key, vol_no, customer, address, case_name ,brand, num, salesman, maintain_kind, contract_begin_date, contract_end_date, contract_kind, payment_kind, progress_remark, service_fee, total_price, total_sale_price, penalty, deposit_rate, keep_rate, warranty_rate, memo, status, creater, create_at)
+ VALUES (:apply_key, :vol_no, :customer, :address, :case_name ,:brand, :num, :salesman, :maintain_kind, :contract_begin_date, :contract_end_date, :contract_kind, :payment_kind, :progress_remark, :service_fee, :total_price, :total_sale_price, :penalty, :deposit_rate, :keep_rate, :warranty_rate, :memo, :status, :creater, :create_at)";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':vol_no', $vol_no);
+ $stmt->bindParam(':customer', $customer);
+ $stmt->bindParam(':address', $address);
+ $stmt->bindParam(':case_name', $case_name);
+ $stmt->bindParam(':brand', $brand);
+ $stmt->bindParam(':num', $num);
+ $stmt->bindParam(':salesman', $salesman);
+ $stmt->bindParam(':maintain_kind', $maintain_kind);
+ $stmt->bindParam(':contract_begin_date', $contract_begin_date);
+ $stmt->bindParam(':contract_end_date', $contract_end_date);
+ $stmt->bindParam(':contract_kind', $contract_kind);
+ $stmt->bindParam(':payment_kind', $payment_kind);
+ $stmt->bindParam(':progress_remark', $progress_remark);
+ $stmt->bindParam(':service_fee', $serviceFee);
+ $stmt->bindParam(':total_price', $total_price);
+ $stmt->bindParam(':total_sale_price', $total_sale_price);
+ $stmt->bindParam(':penalty', $penalty);
+ $stmt->bindParam(':deposit_rate', $deposit_rate);
+ $stmt->bindParam(':keep_rate', $keep_rate);
+ $stmt->bindParam(':warranty_rate', $warranty_rate);
+ $stmt->bindParam(':memo', $remark);
+ $stmt->bindParam(':status', $status);
+ $stmt->bindParam(':creater', $creater);
+ $stmt->bindParam(':create_at', $current_date);
+ $stmt->execute();
+
+ $sql_str = "INSERT INTO con_maintance_examine_clear (apply_key, item_no, register_code, elevator_brand, elevator_kind, spec, weight, speed, stop, floors, persons, elevator_num, useful_years, last_check_date, speed_governors_check_expense, maintain_times, is_m1_bundle, maintain_months, maintain_period, maintain_method, stand_price, contract_price, sold_price, commission_expense, management_expense, annual_survey_expense, service_expense, cmstatus, updated_at, creater, created_at)
+ VALUES (:apply_key, :item_no, :register_code, :elevator_brand, :elevator_kind, :spec, :weight, :speed, :stop, :floors, :persons, :elevator_num, :useful_years, :last_check_date, :speed_governors_check_expense, :maintain_times, :is_m1_bundle, :maintain_months, :maintain_period, :maintain_method, :stand_price, :contract_price, :sold_price, :commission_expense, :management_expense, :annual_survey_expense, :service_expense, :cmstatus, :updated_at, :creater, :created_at) ";
+
+ foreach($elevators as $elevator){
+ if(empty($elevator['permitNumber'])) $register_code = "A";
+
+ if($elevator['spec'] == "MAE100") $elevator_kind = "A";
+ if($elevator['spec'] == "MAF100") $elevator_kind = "B";
+ if($elevator['spec'] == "MAM200") $elevator_kind = "D";
+ if($elevator['spec'] == "MAH100") $elevator_kind = "E";
+
+ $speed_governors_check_expense = null;
+ $maintain_times = 1;
+ $commission_expense = null;
+ $management_expense = null;
+ $service_expense = ($elevator['sale_price'] / $total_sale_price) * $serviceFee;
+ $cmstatus = "Y";
+ $cycle = (int)$elevator['cycle'];
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':item_no', $elevator['id']);
+ $stmt->bindParam(':register_code', $register_code);
+ $stmt->bindParam(':elevator_brand', $elevator['brand']);
+ $stmt->bindParam(':elevator_kind', $elevator_kind);
+ $stmt->bindParam(':spec', $elevator['spec']);
+ $stmt->bindParam(':weight', $elevator['weight']);
+ $stmt->bindParam(':speed', $elevator['speed']);
+ $stmt->bindParam(':stop', $elevator['stop']);
+ $stmt->bindParam(':floors', $elevator['stop']);
+ $stmt->bindParam(':persons', $elevator['person']);
+ $stmt->bindParam(':elevator_num', $elevator['qty']);
+ $stmt->bindParam(':useful_years', $elevator['checkYear']);
+ $stmt->bindParam(':last_check_date', $elevator['lastDate']);
+ $stmt->bindParam(':speed_governors_check_expense', $speed_governors_check_expense);
+ $stmt->bindParam(':maintain_times', $maintain_times);
+ $stmt->bindParam(':is_m1_bundle', $elevator['m1']);
+ $stmt->bindParam(':maintain_months', $elevator['months']);
+ $stmt->bindParam(':maintain_period', $cycle);
+ $stmt->bindParam(':maintain_method', $elevator['method']);
+ $stmt->bindParam(':stand_price', $elevator['price']);
+ $stmt->bindParam(':contract_price', $elevator['sale_price']);
+ $stmt->bindParam(':sold_price', $elevator['sale_price']);
+ $stmt->bindParam(':commission_expense', $elevator['commission_expense']);
+ $stmt->bindParam(':management_expense', $elevator['management_expense']);
+ $stmt->bindParam(':annual_survey_expense', $elevator['yearCheckFee']);
+ $stmt->bindParam(':service_expense', $elevator['service_expense']);
+ $stmt->bindParam(':cmstatus', $cmstatus);
+ $stmt->bindParam(':updated_at', $updated_at);
+ $stmt->bindParam(':creater', $creater);
+ $stmt->bindParam(':created_at', $current_date);
+ $stmt->execute();
+ }
+
+ $sql_str = "INSERT INTO pricereview_maintain_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, memo)
+ VALUES (:mid, :price_id, :item_no, :item_group, :item_spec, :option_relate_spec, :item_unit_price, :item_qty, :item_price_bp, :memo)";
+
+ foreach($otherOptions as $option){
+ $item_price_bp = $option['price']*$option['num'];
+ $option_relate_spec = (count($option['toElevator']) > 0) ? $option['toElevator'][0]['id'] : null;
+ $item_group = "E";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':mid', $apply_key);
+ $stmt->bindParam(':price_id', $option['pr_no']);
+ $stmt->bindParam(':item_no', $option['id']);
+ $stmt->bindParam(':item_group', $item_group);
+ $stmt->bindParam(':item_spec', $option['name']);
+ $stmt->bindParam(':option_relate_spec', $option_relate_spec);
+ $stmt->bindParam(':item_unit_price', $option['price']);
+ $stmt->bindParam(':item_qty', $option['num']);
+ $stmt->bindParam(':item_price_bp', $item_price_bp);
+ $stmt->bindParam(':memo', $option['memo']);
+ $stmt->execute();
+ }
+ }else{
+ $sql_str = "UPDATE con_maintance_examine_apply SET
+ case_name=:case_name,
+ num=:num,
+ maintain_kind=:maintain_kind,
+ contract_kind=:contract_kind,
+ payment_kind=:payment_kind,
+ contract_begin_date=:contract_begin_date,
+ contract_end_date=:contract_end_date,
+ service_fee=:service_fee,
+ total_price=:total_price,
+ total_sale_price=:total_sale_price,
+ penalty=:penalty,
+ deposit_rate=:deposit_rate,
+ keep_rate=:keep_rate,
+ warranty_rate=:warranty_rate,
+ memo=:memo,
+ brand=:brand,
+ status=:status,
+ updated_at=:updated_at,
+ progress_remark=:progress_remark
+ WHERE apply_key=:apply_key AND vol_no=:vol_no";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':vol_no', $vol_no);
+ $stmt->bindParam(':case_name', $case_name);
+ $stmt->bindParam(':num', $num);
+ $stmt->bindParam(':maintain_kind', $maintain_kind);
+ $stmt->bindParam(':contract_begin_date', $contract_begin_date);
+ $stmt->bindParam(':contract_end_date', $contract_end_date);
+ $stmt->bindParam(':contract_kind', $contract_kind);
+ $stmt->bindParam(':payment_kind', $payment_kind);
+ $stmt->bindParam(':progress_remark', $progress_remark);
+ $stmt->bindParam(':service_fee', $serviceFee);
+ $stmt->bindParam(':total_price', $total_price);
+ $stmt->bindParam(':total_sale_price', $total_sale_price);
+ $stmt->bindParam(':penalty', $penalty);
+ $stmt->bindParam(':deposit_rate', $deposit_rate);
+ $stmt->bindParam(':keep_rate', $keep_rate);
+ $stmt->bindParam(':warranty_rate', $warranty_rate);
+ $stmt->bindParam(':memo', $remark);
+ $stmt->bindParam(':brand', $brand);
+ $stmt->bindParam(':status', $status);
+ $stmt->bindParam(':updated_at', $current_date);
+ $stmt->execute();
+
+ //整機單價
+ $sql_str = "SELECT * FROM con_maintance_examine_clear WHERE (apply_key, cmstatus) = (:apply_key, 'Y')";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->execute();
+ $oldElevators = $stmt->fetchAll(PDO::FETCH_ASSOC);
+
+ $oldItemsNo = (array)array_column($oldElevators, 'item_no');
+ $newItemsNo = (array)array_column($elevators, 'id');
+ $onlyInOldIds = array_values(array_diff($oldItemsNo, $newItemsNo)); // 只有舊的有,新傳入的沒有,所以刪除(delete)
+ $onlyInNewIds = array_values(array_diff($newItemsNo, $oldItemsNo)); //只有新傳入的有,舊的沒有,所以新增(insert)
+ $inBothIds = array_values(array_intersect($oldItemsNo, $newItemsNo)); //舊的跟新的都有,所以要更新(update)
+
+ foreach($onlyInOldIds as $oldIdx){
+ // $sql_str = "DELETE FROM con_maintance_examine_clear WHERE apply_key=:apply_key AND item_no=:item_no";
+ $sql_str = "UPDATE con_maintance_examine_clear SET cmstatus = 'D' WHERE apply_key=:apply_key AND item_no=:item_no";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':item_no', $oldIdx);
+ $stmt->execute();
+ }
+ foreach($onlyInNewIds as $newidx){
+ $sql_str = "INSERT INTO con_maintance_examine_clear (apply_key, item_no, register_code, elevator_brand, elevator_kind, spec, weight, speed, stop, floors, persons, elevator_num, useful_years, last_check_date, speed_governors_check_expense, maintain_times, is_m1_bundle, maintain_months, maintain_period, maintain_method, stand_price, contract_price, sold_price, commission_expense, management_expense, annual_survey_expense, service_expense, cmstatus, updated_at, creater, created_at)
+ VALUES (:apply_key, :item_no, :register_code, :elevator_brand, :elevator_kind, :spec, :weight, :speed, :stop, :floors, :persons, :elevator_num, :useful_years, :last_check_date, :speed_governors_check_expense, :maintain_times, :is_m1_bundle, :maintain_months, :maintain_period, :maintain_method, :stand_price, :contract_price, :sold_price, :commission_expense, :management_expense, :annual_survey_expense, :service_expense, :cmstatus, :updated_at, :creater, :created_at) ";
+ $elevator = array_values(array_filter($elevators, fn($el)=> $el['id'] == $newidx))[0];
+ $register_code = empty($elevator['permitNumber']) ? "A" : $elevator['permitNumber'];
+ if($elevator['spec'] == "MAE100") $elevator_kind = "A";
+ if($elevator['spec'] == "MAF100") $elevator_kind = "B";
+ if($elevator['spec'] == "MAM200") $elevator_kind = "D";
+ if($elevator['spec'] == "MAH100") $elevator_kind = "E";
+
+ $speed_governors_check_expense = null;
+ $maintain_times = 1;
+ $commission_expense = null;
+ $management_expense = null;
+ $service_expense = ($elevator['sale_price'] / $total_sale_price) * $serviceFee;
+ $cmstatus = "Y";
+ $cycle = (int)$elevator['cycle'];
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':item_no', $elevator['id']);
+ $stmt->bindParam(':register_code', $register_code);
+ $stmt->bindParam(':elevator_brand', $elevator['brand']);
+ $stmt->bindParam(':elevator_kind', $elevator_kind);
+ $stmt->bindParam(':spec', $elevator['spec']);
+ $stmt->bindParam(':weight', $elevator['weight']);
+ $stmt->bindParam(':speed', $elevator['speed']);
+ $stmt->bindParam(':stop', $elevator['stop']);
+ $stmt->bindParam(':floors', $elevator['stop']);
+ $stmt->bindParam(':persons', $elevator['person']);
+ $stmt->bindParam(':elevator_num', $elevator['qty']);
+ $stmt->bindParam(':useful_years', $elevator['checkYear']);
+ $stmt->bindParam(':last_check_date', $elevator['lastDate']);
+ $stmt->bindParam(':speed_governors_check_expense', $speed_governors_check_expense);
+ $stmt->bindParam(':maintain_times', $maintain_times);
+ $stmt->bindParam(':is_m1_bundle', $elevator['m1']);
+ $stmt->bindParam(':maintain_months', $elevator['months']);
+ $stmt->bindParam(':maintain_period', $cycle);
+ $stmt->bindParam(':maintain_method', $elevator['method']);
+ $stmt->bindParam(':stand_price', $elevator['price']);
+ $stmt->bindParam(':contract_price', $elevator['sale_price']);
+ $stmt->bindParam(':sold_price', $elevator['sale_price']);
+ $stmt->bindParam(':commission_expense', $elevator['commission_expense']);
+ $stmt->bindParam(':management_expense', $elevator['management_expense']);
+ $stmt->bindParam(':annual_survey_expense', $elevator['yearCheckFee']);
+ $stmt->bindParam(':service_expense', $elevator['service_expense']);
+ $stmt->bindParam(':cmstatus', $cmstatus);
+ $stmt->bindParam(':updated_at', $updated_at);
+ $stmt->bindParam(':creater', $creater);
+ $stmt->bindParam(':created_at', $current_date);
+ $stmt->execute();
+ }
+ foreach($inBothIds as $bothidx){
+ $sql_str = "UPDATE con_maintance_examine_clear SET
+ register_code=:register_code,
+ elevator_brand=:elevator_brand,
+ elevator_kind=:elevator_kind,
+ spec=:spec,
+ weight=:weight,
+ speed=:speed,
+ stop=:stop,
+ floors=:floors,
+ persons=:persons,
+ elevator_num=:elevator_num,
+ useful_years=:useful_years,
+ last_check_date=:last_check_date,
+ speed_governors_check_expense=:speed_governors_check_expense,
+ maintain_times=:maintain_times,
+ is_m1_bundle=:is_m1_bundle,
+ maintain_months=:maintain_months,
+ maintain_period=:maintain_period,
+ maintain_method=:maintain_method,
+ stand_price=:stand_price,
+ contract_price=:contract_price,
+ sold_price=:sold_price,
+ commission_expense=:commission_expense,
+ management_expense=:management_expense,
+ annual_survey_expense=:annual_survey_expense,
+ service_expense=:service_expense,
+ cmstatus=:cmstatus,
+ updated_at=:updated_at
+ WHERE (apply_key, item_no) = (:apply_key, :item_no)";
+
+ $elevator = array_values(array_filter($elevators, fn($el)=> $el['id'] == $bothidx))[0];
+ $register_code = empty($elevator['permitNumber']) ? "A" : $elevator['permitNumber'];
+ if($elevator['spec'] == "MAE100") $elevator_kind = "A";
+ if($elevator['spec'] == "MAF100") $elevator_kind = "B";
+ if($elevator['spec'] == "MAM200") $elevator_kind = "D";
+ if($elevator['spec'] == "MAH100") $elevator_kind = "E";
+
+ $speed_governors_check_expense = null;
+ $maintain_times = 1;
+ $commission_expense = null;
+ $management_expense = null;
+ $service_expense = ($elevator['sale_price'] / $total_sale_price) * $serviceFee;
+ $cmstatus = "Y";
+ $cycle = (int)$elevator['cycle'];
+
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':register_code', $register_code);
+ $stmt->bindParam(':elevator_brand', $elevator['brand']);
+ $stmt->bindParam(':elevator_kind', $elevator_kind);
+ $stmt->bindParam(':spec', $elevator['spec']);
+ $stmt->bindParam(':weight', $elevator['weight']);
+ $stmt->bindParam(':speed', $elevator['speed']);
+ $stmt->bindParam(':stop', $elevator['stop']);
+ $stmt->bindParam(':floors', $elevator['stop']);
+ $stmt->bindParam(':persons', $elevator['person']);
+ $stmt->bindParam(':elevator_num', $elevator['qty']);
+ $stmt->bindParam(':useful_years', $elevator['checkYear']);
+ $stmt->bindParam(':last_check_date', $elevator['lastDate']);
+ $stmt->bindParam(':speed_governors_check_expense', $speed_governors_check_expense);
+ $stmt->bindParam(':maintain_times', $maintain_times);
+ $stmt->bindParam(':is_m1_bundle', $elevator['m1']);
+ $stmt->bindParam(':maintain_months', $elevator['months']);
+ $stmt->bindParam(':maintain_period', $cycle);
+ $stmt->bindParam(':maintain_method', $elevator['method']);
+ $stmt->bindParam(':stand_price', $elevator['price']);
+ $stmt->bindParam(':contract_price', $elevator['sale_price']);
+ $stmt->bindParam(':sold_price', $elevator['sale_price']);
+ $stmt->bindParam(':commission_expense', $elevator['commission_expense']);
+ $stmt->bindParam(':management_expense', $elevator['management_expense']);
+ $stmt->bindParam(':annual_survey_expense', $elevator['yearCheckFee']);
+ $stmt->bindParam(':service_expense', $elevator['service_expense']);
+ $stmt->bindParam(':cmstatus', $cmstatus);
+ $stmt->bindParam(':updated_at', $updated_at);
+
+ $stmt->bindParam(':item_no', $bothidx);
+ $stmt->execute();
+ }
+
+ //除外項目
+ $sql_str = "SELECT * FROM pricereview_maintain_item WHERE (mid, item_group) = (:apply_key, 'E')";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->execute();
+ $item_other_options = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $oldOtherOptionsNo = (array)array_column($item_other_options, 'item_no');
+ $newOtherOptioinNo = (array)array_column($otherOptions, 'id');
+
+ $onlyInOtherOptionOldIds = array_values(array_diff($oldOtherOptionsNo, $newOtherOptioinNo));
+ $onlyInOtherOptionNewIds = array_values(array_diff($newOtherOptioinNo, $oldOtherOptionsNo));
+ $inBothOtherOptionIds = array_values(array_intersect($oldOtherOptionsNo, $newOtherOptioinNo));
+
+ foreach($onlyInOtherOptionOldIds as $oldotheroptionidx){
+ $sql_str = "DELETE FROM pricereview_maintain_item WHERE (mid, item_no, item_group) = (:apply_key, :item_no, 'E')";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':item_no', $oldotheroptionidx);
+ $stmt->execute();
+ }
+
+ foreach($onlyInOtherOptionNewIds as $newotheroptionidx){
+ $option = array_values(array_filter($otherOptions, fn($el)=> $el['id'] == $newotheroptionidx))[0];
+
+ $sql_str = "INSERT INTO pricereview_maintain_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, memo)
+ VALUES (:mid, :price_id, :item_no, :item_group, :item_spec, :option_relate_spec, :item_unit_price, :item_qty, :item_price_bp, :memo)";
+
+ $item_price_bp = $option['price']*$option['num'];
+ $option_relate_spec = (count($option['toElevator']) > 0) ? $option['toElevator'][0]['id'] : null;
+ $item_group = "E";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':mid', $apply_key);
+ $stmt->bindParam(':price_id', $option['pr_no']);
+ $stmt->bindParam(':item_no', $option['id']);
+ $stmt->bindParam(':item_group', $item_group);
+ $stmt->bindParam(':item_spec', $option['name']);
+ $stmt->bindParam(':option_relate_spec', $option_relate_spec);
+ $stmt->bindParam(':item_unit_price', $option['price']);
+ $stmt->bindParam(':item_qty', $option['num']);
+ $stmt->bindParam(':item_price_bp', $item_price_bp);
+ $stmt->bindParam(':memo', $option['memo']);
+ $stmt->execute();
+ }
+ foreach($inBothOtherOptionIds as $bothotheroptionidx){
+ $option = array_values(array_filter($otherOptions, fn($el)=> $el['id'] == $bothotheroptionidx))[0];
+
+ $sql_str = "UPDATE pricereview_maintain_item SET item_spec=:item_spec, price_id=:price_id, option_relate_spec=:option_relate_spec, item_unit_price = :item_unit_price, item_qty = :item_qty, item_price_bp = :item_price_bp, memo = :memo
+ WHERE (mid, item_no, item_group) = (:apply_key, :item_no, :item_group)";
+
+ $item_group = "E";
+ $item_price_bp = $option['price']*$option['num'];
+ $option_relate_spec = (count($option['toElevator']) > 0) ? $option['toElevator'][0]['id'] : null;
+
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->bindParam(':item_no', $option['id']);
+ $stmt->bindParam(':price_id', $option['pr_no']);
+ $stmt->bindParam(':item_group', $item_group);
+ $stmt->bindParam(':item_spec', $option['name']);
+ $stmt->bindParam(':option_relate_spec', $option_relate_spec);
+ $stmt->bindParam(':item_unit_price', $option['price']);
+ $stmt->bindParam(':item_qty', $option['num']);
+ $stmt->bindParam(':item_price_bp', $item_price_bp);
+ $stmt->bindParam(':memo', $option['memo']);
+ $stmt->execute();
+ }
+ }
+ if($status == "YS"){
+ $sql_str = "SELECT * FROM account WHERE accountid = :accountid";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':accountid', $creater);
+ $stmt->execute();
+ $account = $stmt->fetch(PDO::FETCH_ASSOC);
+ $manager = $account['manager'];
+ $sign1 = $manager . ",,";
+ $sign2 = "M0012,,";
+ $sign3 = "M0008,,";
+
+ $sign_total = 3;
+ //服務費大於0 或是 價率低於0.8送至總經理(M0006)
+ if(false && ($serviceFee > 0 || ($total_sale_price / $total_price) < 0.8)){
+ $sign4 = "M0006,,";
+ $sign_total = 4;
+ }
+
+ $sql_str = "INSERT INTO pricereview_maintain_sign (mid, sign1, sign1_note, sign2, sign2_note, sign3, sign3_note, sign4, sign4_note, sign_total, created_at, created_by)
+ VALUES (:mid, :sign1, :sign1_note, :sign2, :sign2_note, :sign3, :sign3_note, :sign4, :sign4_note, :sign_total, :created_at, :created_by)";
+
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':mid', $apply_key);
+ $stmt->bindParam(':sign1', $sign1);
+ $stmt->bindParam(':sign1_note', $sign1_note);
+ $stmt->bindParam(':sign2', $sign2);
+ $stmt->bindParam(':sign2_note', $sign2_note);
+ $stmt->bindParam(':sign3', $sign3);
+ $stmt->bindParam(':sign3_note', $sign3_note);
+ $stmt->bindParam(':sign4', $sign4);
+ $stmt->bindParam(':sign4_note', $sign4_note);
+ $stmt->bindParam(':sign_total', $sign_total);
+ $stmt->bindParam(':created_at', $current_date);
+ $stmt->bindParam(':created_by', $creater);
+ $stmt->execute();
+
+ include_once "./postFlow.php";
+ $form_key = null;
+ $createFlow = createFlow($apply_key, $manager, "A", "保養", $form_key);
+
+ include_once "./postSystemNotice.php";
+ $sql_str = "SELECT * FROM con_maintance_examine_apply WHERE apply_key = :apply_key ORDER BY create_at DESC LIMIT 1";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':apply_key', $apply_key);
+ $stmt->execute();
+ $contract = $stmt->fetch(PDO::FETCH_ASSOC);
+ $kind = 1;
+ $related_id = $apply_key;
+ $title = "保養價審待簽通知(".$vol_no."," .$customer. ")";
+ $content = "待簽核";
+ $content = "合約號:".$vol_no . "
";
+ $content .= "客戶名稱:" . $customer . "
";
+ $content .= "案件名稱:" . $case_name . "
";
+ $content .= "時間" . $current_date;
+ // $content .= "prepare($sql_str);
+ $stmt->execute();
+ $result = $stmt->fetch(PDO::FETCH_ASSOC);
+ $form_key = $result['form_key'];
+ $seq = 0;
+
+ $sql_str = "INSERT INTO flow (system_id, flow_id, form_id, form_key, flow_code)
+ VALUES (:system_id, :flow_id, :form_id, :form_key, :flow_code)";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':system_id', $system_id);
+ $stmt->bindParam(':flow_id', $flow_id);
+ $stmt->bindParam(':form_id', $form_id);
+ $stmt->bindParam(':form_key', $form_key);
+ $stmt->bindParam(':flow_code', $flow_code);
+ $stmt->execute();
+ }else{
+ $sql_str = "UPDATE flow SET flow_code = :flow_code WHERE form_key = :form_key";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':form_key', $form_key);
+ $stmt->bindParam(':flow_code', $flow_code);
+ $stmt->execute();
+
+ $sql_str = "SELECT MAX(seq) AS max_seq FROM subflow WHERE form_key = :form_key";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':form_key', $form_key);
+ $stmt->execute();
+ $result = $stmt->fetch(PDO::FETCH_ASSOC);
+ $seq = $result['max_seq'];
+ $seq ++;
+ }
+
+ $created_at = date("Y-m-d H:i:s");
+ $sql_str = "INSERT INTO subflow (form_key, seq, current_assigner, update_date,create_date)
+ VALUES (:form_key, :seq, :current_assigner, :update_date,:create_date)";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(':form_key', $form_key);
+ $stmt->bindParam(':seq', $seq);
+ $stmt->bindParam(':current_assigner', $current_assigner);
+ $stmt->bindParam(':update_date', $created_at);
+ $stmt->bindParam(':create_date', $created_at);
+ $stmt->execute();
+
+
+ return $form_key;
+}
\ No newline at end of file
diff --git a/wms/cont/api/postSystemNotice.php b/wms/cont/api/postSystemNotice.php
new file mode 100644
index 00000000..acfc49e1
--- /dev/null
+++ b/wms/cont/api/postSystemNotice.php
@@ -0,0 +1,20 @@
+prepare($sql_str);
+ $stmt->bindParam(':kind', $kind);
+ $stmt->bindParam(':related_id', $related_id);
+ $stmt->bindParam(':title', $title);
+ $stmt->bindParam(':content', $content);
+ $stmt->bindParam(':haveread', $haveread);
+ $stmt->bindParam(':permission', $permission);
+ $stmt->bindParam(':url', $url);
+ $stmt->bindParam(':creater', $creater);
+ $stmt->bindParam(':create_at', $create_at);
+ $stmt->execute();
+ }
+}
\ No newline at end of file
diff --git a/wms/cont/js/pricereviewAlpine.js b/wms/cont/js/pricereviewAlpine.js
index 1fabad15..03423d76 100644
--- a/wms/cont/js/pricereviewAlpine.js
+++ b/wms/cont/js/pricereviewAlpine.js
@@ -1,7 +1,6 @@
const pricereviewCreate = ()=>{
return {
init(){
- console.log(123);
},
modalShow:{
elevator: false,
@@ -17,13 +16,14 @@ const pricereviewCreate = ()=>{
pre_order_date:pre_order_date,
address:address,
progress_status:progress_status,
- total_spec:0,
- elevators:[],
- case_name:'', //案件名稱
- contract_status:'', // 契約性質
- pay_method:'', // 付款方式
- startDate:'', //合約開始日期
- endDate:'', // 合約結束日期
+ total_spec:total_spec,
+ elevators: hope_elevators,
+ case_name:case_name, //案件名稱
+ contract_status:contract_kind, // 契約性質
+ pay_method:payment_kind, // 付款方式
+ startDate:contract_begin_date, //合約開始日期
+ endDate:contract_end_date, // 合約結束日期
+ brand:brand,
modalElevatorInfo:{
spec:'',
person:'',
@@ -33,7 +33,7 @@ const pricereviewCreate = ()=>{
permitNumber:'', //許可證號碼
brand:'', //品牌
m1:'N', //贈送M1
- months:'', // 保養月數
+ months:12, // 保養月數
cycle:'', // 保養週期
method:'', //保養方式
checkYear:'', //竣工檢查年度
@@ -43,23 +43,24 @@ const pricereviewCreate = ()=>{
qty:1, //電梯數量
sale_price:'', //契約報價
},
- otherOptions: [],
+ otherOptions: otherOptions,
modalOtherOptionInfo:{
pr_no:"",
name:"",
price: 0,
num:"",
+ memo:"",
},
- otherOptionKey:0,
+ otherOptionKey: otherOptionKey,
currentOtherOptionKey:'',
toElevators:[],
toElevatorNo:'',
- serviceFee:0,
- remark:'',
- penalty:'',
- deposit_rate:'',
- keep_rate:'',
- warranty_rate:'',
+ serviceFee: service_fee,
+ remark:memo,
+ penalty: penalty,
+ deposit_rate: deposit_rate,
+ keep_rate: keep_rate,
+ warranty_rate: warranty_rate,
openCreateElevatorModal(){
this.modalShow.elevator = true;
body.style.overflow = 'hidden';
@@ -76,7 +77,7 @@ const pricereviewCreate = ()=>{
permitNumber:'', //許可證號碼
brand:'', //品牌
m1:'N', //贈送M1
- months:'', // 保養月數
+ months:12, // 保養月數
cycle:'', // 保養週期
method:'', //保養方式
checkYear:'', //竣工檢查年度
@@ -140,7 +141,6 @@ const pricereviewCreate = ()=>{
const price = this.elevators[idx].price;
const qty = this.elevators[idx].qty;
const sale_price = this.elevators[idx].sale_price;
-
this.total_spec ++;
this.elevators.push({
id: this.total_spec,
@@ -166,6 +166,15 @@ const pricereviewCreate = ()=>{
removeElevator(id){
if(!confirm('確定刪除該電梯?')) return;
this.elevators = this.elevators.filter(elevator=> elevator.id != id)
+ const issetElevators = [];
+ this.elevators.forEach(elevator=>{
+ issetElevators.push(elevator.id);
+ })
+ this.otherOptions.forEach(option=>{
+ option.toElevator = option.toElevator.filter(el=>{
+ return issetElevators.includes(el.id)
+ })
+ })
},
openCreateOtherOptionFn(){
this.modalShow.other = true
@@ -179,6 +188,7 @@ const pricereviewCreate = ()=>{
name: this.modalOtherOptionInfo.name,
price: this.modalOtherOptionInfo.price,
num: this.modalOtherOptionInfo.num,
+ memo: this.modalOtherOptionInfo.memo,
toElevator:[],
})
this.modalOtherOptionInfo = {
@@ -186,6 +196,7 @@ const pricereviewCreate = ()=>{
name: '',
price: 0,
num: '',
+ memo: '',
}
this.hideCreateOtherOptionModal();
},
@@ -295,11 +306,29 @@ const pricereviewCreate = ()=>{
console.error("Error message:", error);
}
},
+ async getElevatorPrice(idx){
+ const spec = this.elevators[idx].spec
+ const person = this.elevators[idx].person
+ const stop = this.elevators[idx].stop
+ const weight = this.elevators[idx].weight
+ const speed = this.elevators[idx].speed
+ const m1 = this.elevators[idx].m1
+ const method = this.elevators[idx].method
+ const cycle = this.elevators[idx].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.elevators[idx].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('brand', this.brand);
form.append('address', this.address);
form.append('case_name', this.case_name);
form.append('brand', this.brand);
@@ -315,10 +344,12 @@ const pricereviewCreate = ()=>{
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('creater', user_id);
form.append('pay_method', this.pay_method);
form.append('status', 'Y1');
+ form.append('total_price', this.totalPrice);
+ form.append('total_sale_price', this.totalSalePrice);
form.append('elevators', JSON.stringify(this.elevators));
form.append('otherOptions', JSON.stringify(this.otherOptions));
@@ -332,7 +363,49 @@ const pricereviewCreate = ()=>{
})
},
submit(){
+ 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('brand', this.brand);
+ 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', user_id);
+ form.append('pay_method', this.pay_method);
+ form.append('status', 'YS');
+ form.append('total_price', this.totalPrice);
+ form.append('total_sale_price', this.totalSalePrice);
+
+ 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();
+ // window.location.href = './pricereview-index.php?' + token;
+ }
+ })
+ },
+ async getUsername(user_id){
+ if(user_id == '') return '---'
+ const res = await axios.get('./api/getUsername.php', {params: {user_id: user_id}})
+ return res.data ;
},
}
}
\ No newline at end of file
diff --git a/wms/cont/pricereviewCreate.php b/wms/cont/pricereviewCreate.php
index 27174458..e8eaf216 100644
--- a/wms/cont/pricereviewCreate.php
+++ b/wms/cont/pricereviewCreate.php
@@ -13,8 +13,90 @@ $stmt->bindParam(':vol_no', $vol_no);
$stmt->execute();
$hope_customer = $stmt->fetch(PDO::FETCH_ASSOC);
-$apply_key = getApplyKey(date('ym'), 'cmea_apply_key');
-echo $apply_key;
+
+$sql_str = "SELECT * FROM con_maintance_examine_apply WHERE vol_no = :vol_no ORDER BY create_at DESC LIMIT 1";
+$stmt = $conn->prepare($sql_str);
+$stmt->bindParam(':vol_no', $vol_no);
+$stmt->execute();
+$apply = $stmt->fetch(PDO::FETCH_ASSOC);
+if($apply['status'] == 'D'){
+ echo "";
+}
+if($apply['status'] == 'YS'){
+ echo "";
+}
+if($apply['status'] == 'YY' || $apply['status'] == 'YN'){
+ echo "";
+}
+
+$apply_key = $apply ? $apply['apply_key'] : getApplyKey(date('ym'), 'cmea_apply_key');
+
+$sql_str = "SELECT * FROM con_maintance_examine_clear WHERE apply_key = :apply_key ORDER BY created_at ASC";
+$stmt = $conn->prepare($sql_str);
+$stmt->bindParam(':apply_key', $apply_key);
+$stmt->execute();
+$elevators = $stmt->fetchAll(PDO::FETCH_ASSOC);
+$hope_elevators = [];
+$total_spec = 0;
+foreach($elevators as $elevator){
+ if($elevator['item_no'] > $total_spec){
+ $total_spec = $elevator['item_no'];
+ }
+ if($elevator['cmstatus'] == 'D') continue;
+ $hope_elevators[] = [
+ 'id'=> $elevator['item_no'],
+ 'spec'=> $elevator['spec'],
+ 'person'=> $elevator['persons'],
+ 'weight'=> $elevator['weight'],
+ 'stop'=> $elevator['stop'],
+ 'speed'=> $elevator['speed'],
+ 'permitNumber'=> $elevator['register_code'],
+ 'brand'=> $elevator['elevator_brand'],
+ 'm1'=> $elevator['is_m1_bundle'],
+ 'months'=> $elevator['maintain_months'],
+ 'cycle'=> $elevator['maintain_period'],
+ 'method'=> $elevator['maintain_method'],
+ 'checkYear'=> $elevator['useful_years'],
+ 'lastDate'=> $elevator['last_check_date'],
+ 'yearCheckFee'=> $elevator['annual_survey_expense'],
+ 'price'=> $elevator['stand_price'],
+ 'qty'=> $elevator['elevator_num'],
+ 'sale_price'=> $elevator['contract_price'],
+ ];
+
+}
+
+$sql_str = "SELECT * FROM pricereview_maintain_item WHERE (mid, item_group) = (:apply_key, 'E') ORDER BY id ASC";
+$stmt = $conn->prepare($sql_str);
+$stmt->bindParam(':apply_key', $apply_key);
+$stmt->execute();
+$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
+$otherOptions = [];
+$otherOptionKey = 0;
+foreach($items as $item){
+ if($item['item_no'] > $otherOptionKey){
+ $otherOptionKey = (int)$item['item_no'];
+ }
+ if($item['option_relate_spec']!= 0 ){
+
+ }
+ $toElevator = $item['option_relate_spec']==0 ? [] : [[
+ 'id'=>$item['option_relate_spec'],
+ 'model'=> array_values(array_filter($hope_elevators, fn($val)=> $val['id'] == $item['option_relate_spec']))[0]['spec'],
+ ]];
+ $otherOptions[] = [
+ 'id'=> $item['item_no'],
+ 'pr_no'=> $item['price_id'],
+ 'name'=> $item['item_spec'],
+ 'price' => $item['item_unit_price'],
+ 'num'=> $item['item_qty'],
+ 'memo'=> $item['memo'],
+ 'toElevator'=>$toElevator,
+ ];
+}
+
+
+
function getApplyKey($p_yyyymm, $seq_name){
if (empty($p_yyyymm) || empty($seq_name)) return null;
global $conn;
@@ -78,11 +160,11 @@ function getApplyKey($p_yyyymm, $seq_name){
電梯品牌 |
- |
+ |
電梯數量 |
|
營業員 |
- |
+ |
當前契約期限結束 |
|
@@ -106,6 +188,7 @@ function getApplyKey($p_yyyymm, $seq_name){
+ 請選擇契約性質
付款方式 |
@@ -117,13 +200,23 @@ function getApplyKey($p_yyyymm, $seq_name){
+ 請選擇付款方式
|
案件名稱 |
- |
+
+
+ 請填寫案件名稱
+ |
合約開始日期 |
- |
+
+
+ 請填寫合約開始日期
+ |
合約結束日期 |
- |
+
+
+ 請填寫合約結束日期
+ |
@@ -136,7 +229,7 @@ function getApplyKey($p_yyyymm, $seq_name){
-
+
|
@@ -179,28 +272,26 @@ function getApplyKey($p_yyyymm, $seq_name){
電梯 |
- |
載重(KG) |
-
+
|
停數 |
-
+
|
速度(m/min) |
-
+
@@ -215,7 +306,7 @@ function getApplyKey($p_yyyymm, $seq_name){
|
人乘 |
-
+
@@ -296,7 +387,7 @@ function getApplyKey($p_yyyymm, $seq_name){
|
保養方式 |
-
+
@@ -305,7 +396,7 @@ function getApplyKey($p_yyyymm, $seq_name){
|
贈送M1 |
-
+
@@ -315,6 +406,7 @@ function getApplyKey($p_yyyymm, $seq_name){
公司發布價(月) |
+ 公司無提供此規格牌價
|
保養月數 |
@@ -350,6 +442,7 @@ function getApplyKey($p_yyyymm, $seq_name){
| 單價 |
數量 |
複價 |
+ 備註 |
所屬電梯 |
功能 |
|
@@ -364,10 +457,11 @@ function getApplyKey($p_yyyymm, $seq_name){
|
-
+
請輸入正整數
|
|
+ |
@@ -385,7 +479,7 @@ function getApplyKey($p_yyyymm, $seq_name){
|
小計 |
- |
+ |
|
|
@@ -481,5 +575,26 @@ function getApplyKey($p_yyyymm, $seq_name){
const progress_status = '';
const user_id = '';
const user_name = '';
+ const progress_remark = ``;
+
+ const memo = ``;
+
+ const contract_kind = '';
+ const payment_kind = '';
+ const case_name = '';
+ const contract_begin_date = '';
+ const contract_end_date = '';
+
+ const total_spec = '';
+ const hope_elevators = [...];
+ const otherOptionKey = '';
+ const otherOptions = [...];
+ const token = '';
+
+ const penalty = '';
+ const deposit_rate = '';
+ const keep_rate = '';
+ const warranty_rate = '';
+ const service_fee = '';
\ No newline at end of file
diff --git a/wms/cont/window-modal/modalElevaotr.php b/wms/cont/window-modal/modalElevaotr.php
index 045362b7..602e7c86 100644
--- a/wms/cont/window-modal/modalElevaotr.php
+++ b/wms/cont/window-modal/modalElevaotr.php
@@ -110,7 +110,7 @@
保養方式 |
- |
+ |
diff --git a/wms/cont/window-modal/otherOptionModal.php b/wms/cont/window-modal/otherOptionModal.php
index 565ccbf5..588bf0b7 100644
--- a/wms/cont/window-modal/otherOptionModal.php
+++ b/wms/cont/window-modal/otherOptionModal.php
@@ -13,13 +13,15 @@
單價 |
數量 |
複價 |
+ 備註 |
|
|
|
|
- |
+ |
|
+ |
diff --git a/wms/contract/js/alpine.js b/wms/contract/js/alpine.js
index f94fcb91..7de02def 100644
--- a/wms/contract/js/alpine.js
+++ b/wms/contract/js/alpine.js
@@ -246,7 +246,7 @@ const contractDownload = () => {
{
editshow: false,
origin: true,
- text: '交貨期限及甲方配合事項:
乙方應於接獲甲方圖色確認第180日(應於合約簽訂日起兩年內),將本工程所需之全部設備、器材 運抵工地,甲方應提供適當的場所供乙方貯放設備、器材。',
+ text: '交貨期限及甲方配合事項:
乙方應於接獲甲方圖色確認第180日(應於合約簽訂日起兩年內),將本工程所需之全部設備、器材運抵工地,甲方應提供適當的場所供乙方貯放設備、器材。於指定出貨日期,且乙方備妥材料後,如甲方向後延展出貨日期,如延展日期逾三個月,乙方得酌收額外增生之倉儲保管費用。',
type: 'title',
deleted: false,
id: 5,
diff --git a/wms/mkt/assets/js/pricereviewAlpine.js b/wms/mkt/assets/js/pricereviewAlpine0311.js
similarity index 98%
rename from wms/mkt/assets/js/pricereviewAlpine.js
rename to wms/mkt/assets/js/pricereviewAlpine0311.js
index 255c8251..8208b859 100644
--- a/wms/mkt/assets/js/pricereviewAlpine.js
+++ b/wms/mkt/assets/js/pricereviewAlpine0311.js
@@ -988,8 +988,6 @@ const pricereviewCheck = ()=>{
this.demolishOptions = items.filter(item=> item.item_group =='C');
this.maintainOptions = items.filter(item=> item.item_group =='D');
this.otherOptions = items.filter(item=> item.item_group =='E');
- console.log("optionnnn=>", this.options);
- console.log(this.elevators);
this.elevators.forEach((elevator, idx)=>{
this.options.forEach(option=>{
if(option.option_relate_spec == elevator.item_no){
@@ -1071,10 +1069,7 @@ const pricereviewCheck = ()=>{
}
}
}
-
-
this.getElevatorMi(idx, spec, person, stop, open, speed, elevator.item_weight)
-
});
this.sign1 = this.getUsername(sign1)
this.sign2 = this.getUsername(sign2)
@@ -1170,38 +1165,38 @@ const pricereviewCheck = ()=>{
mid: mid,
user_id: user_id,
reviewcomment:'',
- optionsTotalPrice(){
+ get optionsTotalPrice(){
return this.options.reduce((total, option) => {
return total + (option.item_qty * option.item_unit_price);
}, 0);
},
- otherOptionsTotalPrice(){
+ get otherOptionsTotalPrice(){
return this.otherOptions.reduce((total, option) => {
return total + (option.item_qty * option.item_unit_price);
}, 0);
},
- maintainOptionsTotalPrice(){
+ get maintainOptionsTotalPrice(){
return this.maintainOptions.reduce((total, option) => {
return total + (option.item_qty * option.item_unit_price);
}, 0);
},
- demolishOptionsTotalPrice(){
+ get demolishOptionsTotalPrice(){
return this.demolishOptions.reduce((total, option) => {
return total + (option.item_qty * option.item_unit_price);
}, 0);
},
- totalScale(){
+ get totalScale(){
return this.pays.reduce((total, option) => {
return total + Number(option.pay_scale );
}, 0);
},
- totalElevatorsPrice(){
+ get totalElevatorsPrice(){
return this.elevators.reduce((total, elevator) => {
return total + (elevator.item_qty * elevator.price);
}, 0);
},
- totalStandardPrice(){
- return this.totalElevatorsPrice() + this.otherOptionsTotalPrice() + this.optionsTotalPrice() + this.maintainOptionsTotalPrice() + this.demolishOptionsTotalPrice();
+ get totalStandardPrice(){
+ return this.totalElevatorsPrice + this.otherOptionsTotalPrice + this.optionsTotalPrice + this.maintainOptionsTotalPrice + this.demolishOptionsTotalPrice;
},
check(sign, status, user_id = this.user_id ){
console.log(sign);
diff --git a/wms/mkt/pricereviewCheck.php b/wms/mkt/pricereviewCheck.php
index 5eec5566..48c64625 100644
--- a/wms/mkt/pricereviewCheck.php
+++ b/wms/mkt/pricereviewCheck.php
@@ -264,7 +264,7 @@ function getSignerName($signer){
-
+
@@ -409,7 +409,7 @@ function getSignerName($signer){
小計 |
-
+
|
|
@@ -449,7 +449,7 @@ function getSignerName($signer){
小計 |
-
+
|
|
@@ -457,7 +457,7 @@ function getSignerName($signer){
-
+
-
+
拆梯價格 |
@@ -529,7 +529,7 @@ function getSignerName($signer){
小計 |
-
+
|
|
@@ -671,7 +671,7 @@ function getSignerName($signer){
合計 |
- |
+ |
|
|
@@ -707,12 +707,12 @@ function getSignerName($signer){
價率%(B/A) |
- |
+ |
|
|
|
|
- |
+ |
預定成交日 |
@@ -935,6 +935,7 @@ function getSignerName($signer){
const is_renovate = '';
+
const user_id = '';
const sign1 = '';
@@ -946,4 +947,6 @@ function getSignerName($signer){
const currentSignId = '';
const token = '';
const form_key = '';
+
+ console.log(is_renovate);
\ No newline at end of file
diff --git a/wms/mkt/pricereviewCreate.php b/wms/mkt/pricereviewCreate.php
index 72d58e0e..2860cc2c 100644
--- a/wms/mkt/pricereviewCreate.php
+++ b/wms/mkt/pricereviewCreate.php
@@ -376,7 +376,7 @@ function convertDateTimeFormat($dateTimeStr) {
-
+