Cheng 1 year ago
parent
commit
486be88a55
  1. 181
      wms/account-receivable-maintainance-index.php
  2. 1
      wms/cont/css/pricereview.css
  3. 2
      wms/cont/css/pricereview.css.map
  4. 1
      wms/cont/css/pricereview.scss
  5. 113
      wms/cont/js/pricereviewAlpine.js
  6. 414
      wms/cont/pricereviewCreate.php
  7. 179
      wms/cont/window-modal/modalElevaotr.php
  8. 33
      wms/cont/window-modal/otherOptionModal.php
  9. 36
      wms/cont/window-modal/otherToElevatorModal.php
  10. 2
      wms/crm/crmm02-index.php
  11. 25
      wms/mkt/assets/js/pricereviewAlpine.js
  12. 5
      wms/mkt/pricereviewCreate.php
  13. 4
      wms/mkt/window-modal/demolishToElevatorModal.php
  14. 5
      wms/mkt/window-modal/elevatorModal.php
  15. 4
      wms/mkt/window-modal/maintainToElevatorModal.php
  16. 6
      wms/mkt/window-modal/optionToElevatorModal.php
  17. 4
      wms/mkt/window-modal/otherToElevatorModal.php

181
wms/account-receivable-maintainance-index.php

@ -26,16 +26,14 @@ SELECT
siamd.HadTransCheckBLAmtWTax,
siamd.OAmountWithTax,
siamd.CU_MaterialId,
acb_tmp.BillNo2,
acb_tmp.BillNo2 AS checkBillNo,
acb_tmp.RowCode2,
acb_tmp.checkOAmount,
asim.BillNo AS BillNo3,
asim.InvoiceName,
asim.OAmountWithTax AS InvoiceOAmount,
asi.InvoiceNo,
asi.InvoiceTime,
writeoff.BillDate AS WriteOffDate,
SUM(arwobd.CurrStandOffOAmount) AS TotalCurrStandOffOAmount
asi.InvoiceTime
FROM salIncomeApplyMaster AS siam -- 收入申請單
LEFT JOIN salIncomeApplyDetail AS siamd -- 收入申請單明細
ON siam.BillNo = siamd.BillNo
@ -66,26 +64,38 @@ SELECT
ON asim.BillNo = asi.BillNo
LEFT JOIN comBusinessPartner AS cbp
ON siam.BizPartnerId = cbp.BizPartnerId
LEFT JOIN
arWriteOffBillDetail AS arwobd
ON acb_tmp.BillNo2 = arwobd.FromBillNo
LEFT JOIN
arWriteOffBill AS writeoff ON arwobd.BillNo = writeoff.BillNo
WHERE 1 = 1
";
//核銷單 SQL
$sql_writeOff = "SELECT
wod.FromBillNo AS checkBillNo,
arCheckBill.LAmountWithTax,
SUM(wod.CurrWriteOffLAmount) AS TotalWriteOffAmount
FROM arWriteOffBillDetail AS wod
LEFT JOIN arCheckBill
ON arCheckBill.BillNo = wod.FromBillNo
LEFT JOIN comDepartment AS cd
ON cd.DeptId = arCheckBill.DeptId
WHERE arCheckBill.TypeId = 'RVS'";
$follower = find_follow($user_id);
if ((in_array($user_id, array('M0008', 'M0012'))) || (in_array(accountidToDepartId($user_id), array('220', '210', '501')))) {
} else {
$sql .= " AND (siam.PersonId = '$user_id'";
$sql_writeOff .= " AND (arCheckBill.PersonId = '$user_id'";
if (count($follower) > 0) {
$column_str = "('$user_id'" . ",'";
$column_str .= implode("','", $follower);
$column_str .= "')";
$sql .= " OR siam.PersonId IN $column_str OR cd.LeaderId = '$user_id')";
$sql_writeOff .= " OR arCheckBill.PersonId IN $column_str OR cd.LeaderId = '$user_id')";
} else {
$sql .= " OR cd.LeaderId = '$user_id')";
$sql_writeOff .= " OR cd.LeaderId = '$user_id')";
};
}
if (!is_null($start_date)) {
$start_date = (int)date('Ymd', strtotime($start_date));
$sql .= " AND siam.CU_ContractStart >= $start_date ";
@ -102,39 +112,23 @@ if (!is_null($end_SignDate)) {
$end_SignDate = (int)date('Ymd', strtotime($end_SignDate));
$sql .= " AND siam.BillDate <= $end_SignDate ";
}
$sql .= " GROUP BY
siam.PersonId,
cp.PersonName,
cd.DeptId,
cd.DeptName,
cd.LeaderId,
lcp.PersonName,
siam.BizPartnerId,
cbp.BizPartnerName,
siamd.RowCode,
siam.BillNo,
siamd.ProjectId,
siamd.CU_EstPayDate,
siamd.UnTransCheckBLAmtWTax,
siamd.HadTransCheckBLAmtWTax,
siamd.OAmountWithTax,
siamd.CU_MaterialId,
acb_tmp.BillNo2,
acb_tmp.RowCode2,
acb_tmp.checkOAmount,
asim.BillNo,
asim.InvoiceName,
asim.OAmountWithTax,
asi.InvoiceNo,
asi.InvoiceTime,
writeoff.BillDate
$sql .= "
ORDER BY
siam.PersonId ASC,
siam.BillNo ASC,
siamd.RowCode ASC";
$sql_writeOff.=" GROUP BY
wod.FromBillNo
,arCheckBill.LAmountWithTax";
$writeoff = array();
$query_T8 = $conn->query($sql);
$rows = $query_T8->fetchAll(PDO::FETCH_ASSOC);
$query_writeoff = $conn->query($sql_writeOff);
foreach($query_writeoff->fetchAll(PDO::FETCH_ASSOC) as $row){
$writeoff[$row['checkBillNo']]= ($row['TotalWriteOffAmount']==$row['LAmountWithTax'])?'V':'X';
}
$today = strtotime(date('Ymt'));
$table = "";
for ($i = 0; $i < count($rows); $i++) {
@ -142,21 +136,29 @@ for ($i = 0; $i < count($rows); $i++) {
$tmpname = $row['ProjectId'] . $row['RowCode'];
$data[$tmpname] = $row;
$data[$tmpname]['CU_EstPayDate'] = date('Y-m-d', strtotime($row['CU_EstPayDate']));
$receivable_date = $data[$tmpname]['CU_EstPayDate'];
$data[$tmpname]['havetopay'] = strtotime($row['CU_EstPayDate']) > $today ? '--' : 'V';
$datahavetopay = $row['CU_EstPayDate'] > $today ? 0 : 1;
$datahavetopay = strtotime($row['CU_EstPayDate']) > $today ? 0 : 1;
$data[$tmpname]['collecttime'] = collect_month(strtotime($row['CU_EstPayDate']));
$invoicedate = is_null($row['InvoiceTime']) ? null : date('Y-m-d', strtotime($row['InvoiceTime']));
$tableinvoice_state = is_null($invoicedate) ? 0 : 1;
$data[$tmpname]['invoicedate'] = is_null($row['InvoiceTime']) ? null : date('Y-m-d', strtotime($row['InvoiceTime']));
$invoicedate = $data[$tmpname]['invoicedate'];
$data[$tmpname]['invoice'] = is_null($data[$tmpname]['invoicedate']) ? 0 : 1;
if(!is_null($data[$tmpname]['checkBillNo']) && isset($writeoff[$data[$tmpname]['checkBillNo']])){
$data[$tmpname]['WriteOff'] = $writeoff[$data[$tmpname]['checkBillNo']];
}else{
$data[$tmpname]['WriteOff'] = '--';
}
$contract_no = $row['ProjectId'];
$facility_no = $row['CU_MaterialId'];
$RowCode = $row['RowCode'];
$BillNo = $row['BillNo'];
$receivable_date = date('Y-m-d', strtotime($row['CU_EstPayDate']));
$data[$tmpname]['receivable_date'] = date('Y-m-d', strtotime($row['CU_EstPayDate']));
$budget = $row['OAmountWithTax'];
$invoiceNo = $row['InvoiceNo'];
$invoice_budget = is_null($row['InvoiceOAmount']) ? 0 : $row['InvoiceOAmount'];
$table_writeoff_date = is_null($row['WriteOffDate']) ? null : date('Y-m-d', strtotime($row['WriteOffDate']));
$table_writeoff_amount = is_null($row['TotalCurrStandOffOAmount']) ? 0 : $row['TotalCurrStandOffOAmount'];
$tableinvoice_state = is_null($invoiceNo) ? 0 : 1;
$data[$tmpname]['invoice_budget'] = is_null($row['InvoiceOAmount']) ? 0 : $row['InvoiceOAmount'];
$invoice_budget = $data[$tmpname]['invoice_budget'];
$table_writeoff = ($data[$tmpname]['WriteOff'] =='V') ? 1 : 0;
$table1 = "INSERT INTO account_receivable_maintainance(
`contract_no`,
`facility_no`,
@ -167,7 +169,7 @@ for ($i = 0; $i < count($rows); $i++) {
`receivable`,
`invoice_state`,
`invoice_budget`,
`received_budget`
`received`
";
$table2 = ") VALUES(
'$contract_no',
@ -179,12 +181,10 @@ for ($i = 0; $i < count($rows); $i++) {
$datahavetopay,
$tableinvoice_state,
$invoice_budget,
$table_writeoff_amount
$table_writeoff
";
$table1 .= is_null($invoicedate) ? "" : ",`invoice_date`";
$table2 .= is_null($invoicedate) ? "" : ",'$invoicedate'";
$table1 .= is_null($table_writeoff_date) ? "" : ",`received_date`";
$table2 .= is_null($table_writeoff_date) ? "" : ",'$table_writeoff_date'";
$table1 .= is_null($invoiceNo) ? "" : ",`invoice_no`";
$table2 .= is_null($invoiceNo) ? "" : ",'$invoiceNo'";
$table .= $table1 . $table2 . "); \n";
@ -249,17 +249,17 @@ for ($i = 0; $i < count($rows); $i++) {
}
</style>
<div style="width: 98%;margin: 1%;">
<!-- <div style="width: 98%;margin: 1%;">
<div class="btn-group btn-group-md " style="padding:10 px; width: 100%;">
<button type="button" style="width: 12%;" onclick="downloadData()" class="btn btn-success">下載 <span class="glyphicon glyphicon-download-alt"></span></button>
</div>
</div>
</div> -->
<div class="container">
<div class="text-center" style="margin-bottom: 20px;">
<h3><strong>應收帳款(保養)</strong></h3>
</div>
<hr>
<form class="form-horizontal" id='myForm' method='post' action='account-receivable-new-index.php?<?= $token_link ?>'>
<form class="form-horizontal" id='myForm' method='post' action='account-receivable-maintainance-index.php?<?= $token_link ?>'>
<table class="table table-striped table-bordered" style='width:98%;text-align:center;margin:0 auto'>
<tbody>
<tr>
@ -271,7 +271,7 @@ for ($i = 0; $i < count($rows); $i++) {
</td>
<td rowspan="2">
<button type="submit" class="btn btn-primary btn-sm">搜尋</button>
<button type="submit" class="btn btn-primary btn-md">搜尋</button>
</td>
</tr>
<tr>
@ -286,19 +286,17 @@ for ($i = 0; $i < count($rows); $i++) {
<tr>
<th class="text-center" style="vertical-align: middle;">催收次數</th>
<td colspan="3">
<input type="text" class='form-control' id='search_collectstart' name='collect_time_start' style='width:30%;display:inline;' oninput="searchFront('collectstart')">
<input type="number" class='form-control' id='search_collectstart' name='search_collectstart' style='width:30%;display:inline;' onblur="searchFront('collectstart')">
≤ 催收次數 ≤
<input type="text" class='form-control' id='search_collectend' name='collect_time_end' style='width:30%;display:inline;' oninput="searchFront('collectend')">
<!-- <button type="submit" class="btn btn-primary btn-sm">搜尋</button> -->
<input type="number" class='form-control' id='search_collectend' name='search_collectend' style='width:30%;display:inline;' onblur="searchFront('collectend')">
</td>
</tr>
<tr>
<th class="text-center" style="vertical-align: middle;">催收金額</th>
<th class="text-center" style="vertical-align: middle;">款別金額</th>
<td colspan="3">
<input type="text" class='form-control' id='search_CBudgetstart' name='collect_budget_start' style='width:30%;display:inline;' onblur="searchFront('CBudgetstart')">
催收金額 ≤
款別金額 ≤
<input type="text" class='form-control' id='search_CBudgetend' name='collect_budget_end' style='width:30%;display:inline;' onblur="searchFront('CBudgetend')">
<!-- <button type="submit" class="btn btn-primary btn-sm">搜尋</button> -->
</td>
</tr>
</tbody>
@ -314,10 +312,10 @@ for ($i = 0; $i < count($rows); $i++) {
<label for="search_dept">查詢部門</label>
<input type="text" id="search_dept" name="search_dept" class="form-control" placeholder="請輸入部門" onblur="searchFront('dept')">
</div>
<div class="col-md-4">
<!-- <div class="col-md-4">
<label for="search_manager">查詢主管</label>
<input type="text" id="search_manager" name="search_manager" class="form-control" placeholder="請輸入主管工號/姓名" onblur="searchFront('manager')">
</div>
</div> -->
</div>
<div class="form-group">
@ -351,18 +349,15 @@ include "./footer.php";
<th style='text-align:center;vertical-align: middle;'>序號</th>
<th style='text-align:center;vertical-align: middle;width:100px'>作番號</th>
<th style='text-align:center;vertical-align: middle;width:110px'>部門</th>
<th style='text-align:center;vertical-align: middle;'>主管</th>
<!-- <th style='text-align:center;vertical-align: middle;'>主管</th> -->
<th style='text-align:center;vertical-align: middle;'>契約員</th>
<th style='text-align:center;vertical-align: middle;width:120px'>客戶名稱</th>
<th style='text-align:center;vertical-align: middle;'>應收日期</th>
<th style='text-align:center;vertical-align: middle;'>是否應收</th>
<th style='text-align:center;vertical-align: middle;'>應收金額</th>
<!--
<th style='text-align:end;vertical-align: middle;'>已開金額</th>
<th style='text-align:end;vertical-align: middle;'>未開金額</th> -->
<th style='text-align:center;vertical-align: middle;'>已收金額</th>
<th style='text-align:center;vertical-align: middle;'>催收金額</th>
<th style='text-align:center;vertical-align: middle;'>款別金額</th>
<th style='text-align:center;vertical-align: middle;'>是否收齊</th>
<th style='text-align:center;vertical-align: middle;'>催收次數</th>
</tr>
</thead>
@ -373,17 +368,16 @@ include "./footer.php";
<td><?= $row['RowCode']; ?></td>
<td class="facility"><?= $row['CU_MaterialId']; ?></td>
<td class="dept"><?= $row['DeptId'] . "<br>" . $row['DeptName']; ?></td>
<td class="manager"><?= $row['LeaderId'] . "<br>" . $row['LeaderName']; ?></td>
<!-- <td class="manager"><?= $row['LeaderId'] . "<br>" . $row['LeaderName']; ?></td> -->
<td class="personId"><?= $row['PersonId'] . "<br>" . $row['PersonName']; ?></td>
<td class="customerid"><?= $row['BizPartnerId'] . "<br>" . $row['BizPartnerName']; ?></td>
<td><?= $row['CU_EstPayDate']; ?></td>
<td><?= $row['havetopay']; ?></td>
<td><?= number_format(round($row['OAmountWithTax'])); ?></td>
<td><?= is_null($row['TotalCurrStandOffOAmount']) ? 0 : number_format(round($row['TotalCurrStandOffOAmount'])); ?></td>
<td class="CBudget"><?= ($row['havetopay'] == "V")? (number_format(round($row['OAmountWithTax'] - $row['TotalCurrStandOffOAmount']))) :0; ?></td>
<td class="collect"><?= (($row['havetopay'] == "V") && ($row['OAmountWithTax'] - $row['TotalCurrStandOffOAmount'] >1))? $row['collecttime']:0; ?></td>
<td class="CBudget"><?= number_format(round($row['OAmountWithTax'])); ?></td>
<td><?= $row['WriteOff']; ?></td>
<td class="collect"><?= (($row['havetopay'] == "V") && ($row['WriteOff'] !== 'V'))? $row['collecttime']:0; ?></td>
</tr>
<?php } ?>
</tbody>
@ -405,30 +399,29 @@ include "./footer.php";
}
}
}
// function downloadData() {
// var xhr = new XMLHttpRequest();
// var url = window.location.origin + "/wms/account-receivable-renovate-excel.php?type=all&<?= $token_link ?>";
// xhr.open('POST', url, true);
// xhr.setRequestHeader('Content-Type', 'application/json');
// xhr.onreadystatechange = function() {
// if (xhr.readyState === 4 && xhr.status === 200) {
// var file_path = xhr.responseText;
// var link = document.createElement('a');
// var name = "汰改應收帳款" + "<?= date('Y-m-d-Hm') ?>" + ".xlsx";
// link.setAttribute('href', window.location.origin + "/wms/account-receivable-renovate.xlsx");
// link.setAttribute('download', name);
// link.style.display = 'none';
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
// }
// }
// xhr.send(JSON.stringify({
// Bill:
// }));
function downloadData() {
var xhr = new XMLHttpRequest();
var url = window.location.origin + "/wms/account-receivable-renovate-excel.php?type=all&<?= $token_link ?>";
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var file_path = xhr.responseText;
var link = document.createElement('a');
var name = "汰改應收帳款" + "<?= date('Y-m-d-Hm') ?>" + ".xlsx";
link.setAttribute('href', window.location.origin + "/wms/account-receivable-renovate.xlsx");
link.setAttribute('download', name);
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
xhr.send(JSON.stringify({
Bill: <?= $total_data ?>
}));
}
// }
function searchFront(area) {
var term = 'search_' + area;

1
wms/cont/css/pricereview.css

@ -111,7 +111,6 @@
opacity: 1;
}
#pricereviewCreate .container .pricreviewmain > .divitem table .copyBtn {
width: 30px;
height: 30px;
}
#pricereviewCreate .container .pricreviewmain > .divitem table .saletd {

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":"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","file":"pricereview.css"}

1
wms/cont/css/pricereview.scss

@ -119,7 +119,6 @@
opacity: 1;
}
.copyBtn{
width: 30px;
height: 30px;
}
.saletd{

113
wms/cont/js/pricereviewAlpine.js

@ -5,6 +5,8 @@ const pricereviewCreate = ()=>{
},
modalShow:{
elevator: false,
other:false,
otherToElevator:false,
},
total_spec:0,
elevators:[],
@ -23,9 +25,20 @@ const pricereviewCreate = ()=>{
lastDate:'', // 上次年檢日期
yearCheckFee:'', //年檢費用
price:'', //公司發布價(月)
qty:'', //電梯數量
qty:1, //電梯數量
sale_price:'', //契約報價
},
otherOptions: [],
modalOtherOptionInfo:{
pr_no:"",
name:"",
price: 0,
num:"",
},
otherOptionKey:0,
currentOtherOptionKey:'',
toElevators:[],
toElevatorNo:'',
openCreateElevatorModal(){
this.modalShow.elevator = true;
body.style.overflow = 'hidden';
@ -42,13 +55,14 @@ const pricereviewCreate = ()=>{
permitNumber:'',
brand:'',
m1:0,
months:'',
startDate:'',
endDate:'',
cycle:'',
checkYear:'',
lastDate:'',
yearCheckFee:'',
price:'',
qty:'',
qty:1,
sale_price:'',
};
},
@ -114,5 +128,98 @@ const pricereviewCreate = ()=>{
sale_price: sale_price
})
},
removeElevator(id){
this.elevators = this.elevators.filter(elevator=> elevator.id != id)
},
openCreateOtherOptionFn(){
this.modalShow.other = true
body.style.overflow = 'hidden'
},
createOtherOptionFn(){
this.otherOptionKey ++;
this.otherOptions.push({
id: this.otherOptionKey,
pr_no: this.modalOtherOptionInfo.pr_no,
name: this.modalOtherOptionInfo.name,
price: this.modalOtherOptionInfo.price,
num: this.modalOtherOptionInfo.num,
toElevator:[],
})
this.modalOtherOptionInfo = {
pr_no: '',
name: '',
price: 0,
num: '',
}
this.hideCreateOtherOptionModal();
},
hideCreateOtherOptionModal(){
this.modalShow.other = false
// this.$refs.createOtherOptionModal.style.display = 'none';
body.style.overflow = 'auto'
},
addOtherOptionToElevator(id){
this.currentOtherOptionKey = id;
this.toElevators = [];
this.toElevatorNo = "";
const matchElevators = this.otherOptions.filter(option=> option.id == id)[0].toElevator.map(elevator=> elevator.id)
this.toElevatorNo = matchElevators[0]
console.log(this.elevators);
this.elevators.forEach(elevator=>{
if(elevator.price > 0){
let model = ''
model = elevator.spec
this.toElevators.push({
id: elevator.id,
model: model,
checked: matchElevators.includes(elevator.id) ? 1: 0,
})
}
})
this.modalShow.otherToElevator = true
body.style.overflow = 'hidden'
},
hideToOtherOptionElevatorModal(){
this.modalShow.otherToElevator = false
body.style.overflow = 'auto'
},
copyOtherOption(id){
this.otherOptionKey++;
const copyOption = this.otherOptions.filter(option=> option.id === id)[0]
console.log(copyOption);
this.otherOptions.push({
id: this.otherOptionKey,
name: copyOption.name,
price: copyOption.price,
num: copyOption.num,
toElevator: [],
pr_no: copyOption.pr_no
})
console.log(this.otherOptions);
},
chkOtherOptionToElevators(){
const checkedOptions = [];
const matchElevators = this.elevators.filter(elevator=> elevator.id == this.toElevatorNo)[0]
console.log(matchElevators);
checkedOptions.push({
id: this.toElevatorNo,
model: matchElevators['spec'],
})
this.otherOptions.forEach(option=>{
if(option.id == this.currentOtherOptionKey){
option.toElevator = [];
option.toElevator.push(...checkedOptions)
}
})
console.log(this.otherOptions);
this.currentOtherOptionKey = ''
this.hideToOtherOptionElevatorModal();
},
removeOtherOption(id){
this.otherOptions = this.otherOptions.filter(option=> option.id != id)
},
}
}

414
wms/cont/pricereviewCreate.php

@ -3,178 +3,61 @@
include_once "../header.php";
require_once "../mkt/conn.php";
if(!(isset($_GET['vol_no']) && $_GET['vol_no'] != "")){
echo "<script>alert('非法訪問!');window.history.go(-1);</script>";
}
$vol_no = $_GET['vol_no'];
$sql_str = "SELECT * FROM hope_contract_customer WHERE vol_no = :vol_no";
$stmt = $conn->prepare($sql_str);
$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;
function getApplyKey($p_yyyymm, $seq_name){
if (empty($p_yyyymm) || empty($seq_name)) return null;
global $conn;
$sql_str = "SELECT yyyymm, prefix FROM sequence WHERE seq_name = :seq_name";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':seq_name', $seq_name);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$yyyymm = $result['yyyymm'];
$prefix = $result['prefix'];
if ($p_yyyymm != $yyyymm) {
$sql_str = "UPDATE sequence SET yyyymm = :p_yyyymm, current_val = '10000' WHERE seq_name = :seq_name";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':p_yyyymm', $p_yyyymm);
$stmt->bindParam(':seq_name', $seq_name);
$stmt->execute();
}
$sql_str = "SELECT CONCAT(:prefix, :p_yyyymm, SUBSTRING(appwms.nextval(:seq_name), 2)) AS seq_no";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':prefix', $prefix);
$stmt->bindParam(':p_yyyymm', $p_yyyymm);
$stmt->bindParam(':seq_name', $seq_name);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$seq_no = $result['seq_no'];
return $seq_no;
}
?>
<link rel="stylesheet" href="./css/pricereview.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.5.0/axios.min.js" integrity="sha512-aoTNnqZcT8B4AmeCFmiSnDlc4Nj/KPaZyB5G7JnOnUEkdNpCZs1LCankiYi01sLTyWy+m2P+W4XM+BuQ3Q4/Dg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="./js/alpinejs/cdn.min.js"></script>
<script src="./js/pricereviewAlpine.js"></script>
<div id="pricereviewCreate" x-data=pricereviewCreate()>
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.elevator" x-ref="createElevatorModal" id="createElevatorModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增電梯規格</h4>
<button class="btn btn-close" @click="hideCreateElevatorModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table">
<tr class="table-active">
<th>電梯</th>
<th>人乘</th>
<th>載重(KG)</th>
<th>停數</th>
</tr>
<tr>
<td>
<select class="form-control" x-model="modalElevatorInfo.spec">
<option value="">請選擇</option>
<option value="MAE100">MAE100有機房</option>
<option value="MAM200">MAM200無機房</option>
<option value="MAH100">MAH100小電梯</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>
</td>
<td>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.person">
<option value="">請選擇</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="15">15</option>
<option value="17">17</option>
<option value="20">20</option>
<option value="24">24</option>
</select>
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.weight" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.stop" />
</td>
</tr>
<tr class="table-active">
<th>速度</th>
<th>電梯許可證號</th>
<th>品牌</th>
<th>贈送M1</th>
</tr>
<tr>
<td>
<select name="" id="" class="form-control" style="width:93px" x-model="modalElevatorInfo.speed" @change="getModalElevatorPrice()" >
<option value="">請選擇</option>
<option value="9">9</option>
<option value="24">24</option>
<option value="30">30</option>
<option value="45">45</option>
<option value="60">60</option>
<option value="90">90</option>
<option value="105">105</option>
<option value="120">120</option>
<option value="150">150</option>
</select>
</td>
<td>
<input type="text" class="form-control" x-model="modalElevatorInfo.permitNumber" />
</td>
<td>
<select class="form-control" x-model="modalElevatorInfo.brand">
<option value="請選擇">請選擇</option>
<option value='永大'>永大</option>
<option value='三菱'>三菱</option>
<option value='崇友'>崇友</option>
<option value='Otis'>Otis</option>
<option value='櫻花'>櫻花</option>
<option value='立路'>立路</option>
<option value='富士達'>富士達</option>
<option value='富士'>富士</option>
<option value='測試品牌'>測試品牌</option>
<option value='sanyo'>sanyo</option>
<option value='測試品牌2'>測試品牌2</option>
<option value='測試品牌4'>測試品牌4</option>
<option value='中升'>中升</option>
<option value='長合'>長合</option>
<option value='宏偉電機工業股份有限公司'>宏偉電機工業股份有限公司</option>
<option value='保速達'>保速達</option>
<option value='東棋'>東棋</option>
<option value='安達'>安達</option>
<option value='百朝'>百朝</option>
<option value='太友'>太友</option>
<option value='永佳捷'>永佳捷</option>
<option value='永勝'>永勝</option>
<option value='其他'>其他</option>
</select>
</td>
<td>
<select class="form-control" x-model="modalElevatorInfo.m1">
<option value="0"></option>
<option value="1"></option>
</select>
</td>
</tr>
<tr class="table-active">
<th>保養月數</th>
<th>保養週期</th>
<th>竣工檢查年度</th>
<th>上次年檢日期</th>
</tr>
<tr>
<td>
<input type="number" class="form-control" value="12" x-model="modalElevatorInfo.months" />
</td>
<td>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.cycle">
<option value="">請選擇</option>
<option value="">月保</option>
<option value="">雙週保</option>
</select>
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.checkYear" />
</td>
<td>
<input type="date" class="form-control" x-model="modalElevatorInfo.lastDate" />
</td>
</tr>
<tr class="table-active">
<th>年檢費用(元)</th>
<th>公司發布價(月)</th>
<th>電梯數量</th>
<th>契約報價(月)</th>
</tr>
<tr>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.yearCheckFee" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.price" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.qty" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.sale_price" />
</td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createElevatorFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateElevatorModal()"></div>
</div>
<?php
include_once "./window-modal/modalElevaotr.php";
include_once "./window-modal/otherOptionModal.php";
include_once "./window-modal/otherToElevatorModal.php";
?>
<div class="container">
<table class="table" border="1">
<thead >
@ -184,63 +67,58 @@ require_once "../mkt/conn.php";
</thead>
<tbody>
<tr>
<th>審單號</th>
<td><input class="form-control" type="text" disabled value="" /></td>
<th>審單號</th>
<td><input class="form-control" type="text" disabled value="<?php echo $apply_key; ?>" /></td>
<th>卷號</th>
<td><input class="form-control" type="text" disabled value="" /></td>
<th>現場地址</th>
<td><input class="form-control" type="text" disabled value="" /></td>
<td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['vol_no']; ?>" /></td>
<th>現場名稱</th>
<td><input class="form-control" type="text" disabled value="" /></td>
<td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['customer']; ?>" /></td>
<th>現場地址</th>
<td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['address']; ?>" /></td>
</tr>
<tr>
<th>電梯品牌</th>
<td><input class="form-control" type="text" disabled value="" /></td>
<th>數量</th>
<td><input class="form-control" type="number" disabled value="" /></td>
<td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['brand']; ?>" /></td>
<th>電梯數量</th>
<td><input class="form-control" type="number" disabled value="<?php echo $hope_customer['num']; ?>" /></td>
<th>營業員</th>
<td><input class="form-control" type="text" disabled value="" /></td>
<th>保養方式</th>
<td>
<select class="form-control" disabled>
<option value=""></option>
</select>
</td>
<td><input class="form-control" type="text" disabled value="<?php echo $hope_customer['salesman_name']; ?>" /></td>
<th>當前契約期限結束</th>
<td><input class="form-control" type="date" disabled value="" /></td>
</tr>
</tbody>
</table>
<table class="table" border="1">
<thead >
<tr class="" >
<th scope="col" class="text-center " colspan="8">價格審查(契約)基本資料</th>
</tr>
</thead>
<tbody>
<tr>
<th>契約期限開始</th>
<td><input class="form-control" type="date" disabled value="" /></td>
<th>契約期限結束</th>
<td><input class="form-control" type="date" disabled value="" /></td>
<th>契約性質</th>
<td>
<select class="form-control" disabled>
<option value=""></option>
<select class="form-control">
<option value="">請選擇</option>
<option value="">新簽約</option>
<option value="">免保轉有費</option>
<option value="">續約</option>
</select>
</td>
<th>介紹人</th>
<td><input class="form-control" type="text" disabled value="" /></td>
</tr>
<tr>
<th>付款方式</th>
<td>
<select class="form-control" disabled>
<option value=""></option>
<select class="form-control" >
<option value="">請選擇</option>
<option value="">月付</option>
<option value="">季付</option>
<option value="">半年付</option>
<option value="">年付</option>
</select>
</td>
<th></th>
<td></td>
<th></th>
<td></td>
<th></th>
<td></td>
<th>案件名稱</th>
<td><input class="form-control" type="text" value="" /></td>
</tr>
</tbody>
</table>
@ -253,7 +131,7 @@ require_once "../mkt/conn.php";
<tbody>
<tr>
<td colspan=8>
<textarea class="form-control" name="progress" id="progress" cols="20" rows="5" disabled ></textarea>
<textarea class="form-control" name="progress" id="progress" cols="20" rows="5" disabled ><?php echo nl2br($hope_customer['progress_status']); ?></textarea>
</td>
</tr>
</tbody>
@ -288,10 +166,10 @@ require_once "../mkt/conn.php";
<tbody>
<tr class="dark" >
<th colspan=1>項次</th>
<th colspan=9 style="text-align: left; padding-left: 15px;" x-text="elevator.id"></th>
<th colspan=7 style="text-align: left; padding-left: 15px;" x-text="elevator.id"></th>
<th colspan="2" >
<button class="copyBtn btn btn-secondary" @click="copyElevator(idx)">+</button>
<button class="btn btn-danger" @click="deleteElevator(elevator.id)">刪除</button>
<button class="copyBtn btn btn-secondary" @click="copyElevator(idx)">複製</button>
<button class="btn btn-danger" @click="removeElevator(elevator.id)">刪除</button>
</th>
</tr>
<tr>
@ -305,28 +183,9 @@ require_once "../mkt/conn.php";
<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>
</td>
<th>人乘</th>
<td>
<select class="form-control" x-model="elevator.person">
<option value="">請選擇</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="15">15</option>
<option value="17">17</option>
<option value="20">20</option>
<option value="24">24</option>
</select>
</td>
<th>載重(KG)</th>
<td>
<input type="number" class="form-control" x-model="elevator.weight" />
@ -350,9 +209,22 @@ require_once "../mkt/conn.php";
<option value="150">150</option>
</select>
</td>
<th>規格</th>
<td colspan=1>
<input type="text" class="form-control" disabled />
<th>人乘</th>
<td>
<select class="form-control" x-model="elevator.person">
<option value="">請選擇</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="15">15</option>
<option value="17">17</option>
<option value="20">20</option>
<option value="24">24</option>
</select>
</td>
</tr>
<tr>
@ -361,7 +233,7 @@ require_once "../mkt/conn.php";
<input type="text" class="form-control" x-model="elevator.permitNumber" />
</td>
<th>品牌</th>
<td colspan="1">
<td colspan="3">
<select class="form-control" x-model="modalElevatorInfo.brand">
<option value="請選擇">請選擇</option>
<option value='永大'>永大</option>
@ -389,9 +261,20 @@ require_once "../mkt/conn.php";
<option value='其他'>其他</option>
</select>
</td>
<th>保養月數</th>
<th>竣工檢查年度(民國)</th>
<td>
<input type="number" class="form-control" x-model="elevator.months" />
<input type="number" class="form-control" x-model="elevator.checkYear" />
</td>
</tr>
<tr>
<th>保養開始日期</th>
<td>
<input type="date" class="form-control" x-model="elevator.months" />
</td>
<th>保養結束日期</th>
<td>
<input type="date" class="form-control" x-model="elevator.months" />
</td>
<th>保養週期</th>
<td>
@ -401,6 +284,15 @@ require_once "../mkt/conn.php";
<option value="BW">雙週保</option>
</select>
</td>
<th>保養方式</th>
<td>
<select class="form-control">
<option value="">請選擇</option>
<option value="3">全包</option>
<option value="2">半包</option>
<option value="4">清包</option>
</select>
</td>
<th>送M1</th>
<td>
<select class="form-control" x-model="elevator.m1">
@ -410,10 +302,7 @@ require_once "../mkt/conn.php";
</td>
</tr>
<tr>
<th>竣工檢查年度</th>
<td>
<input type="number" class="form-control" x-model="elevator.checkYear" />
</td>
<th>上次年檢日期</th>
<td>
<input type="date" class="form-control" x-model="elevator.lastDate" />
@ -428,7 +317,7 @@ require_once "../mkt/conn.php";
</td>
<th>電梯數量</th>
<td>
<input type="number" class="form-control" x-model="elevator.qty" />
<input type="number" class="form-control" x-model="elevator.qty" disabled />
</td>
<th>契約報價(月)</th>
<td>
@ -439,6 +328,61 @@ require_once "../mkt/conn.php";
</template>
</table>
</div>
<div class="divitem">
<div class="title">
<h4>除外項目</h4>
<button class="addbtn btn" @click="openCreateOtherOptionFn()" >+</button>
</div>
<table class="table" border=1>
<thead x-show="otherOptions.length > 0">
<tr>
<td>詢價單號</td>
<td>名稱</td>
<td>單價</td>
<td>數量</td>
<td>複價</td>
<td style="width:160px">所屬電梯</td>
<td style="width:220px">功能</td>
</tr>
</thead>
<tbody>
<template x-for="option in otherOptions">
<tr>
<td><input type="text" class="form-control" x-model="option.pr_no"></td>
<td>
<input type="text" class="form-control" x-model="option.name">
<span x-show="option.name==''" class="errortext" x-cloak data-type="errortext">請輸入除外項目名稱</span>
</td>
<td><input type="text" class="form-control" x-model="option.price"></td>
<td>
<input type="number" class="form-control" x-model="option.num">
<span x-show="!option.num || option.num <= 0 || !Number.isInteger(Number(option.num))" class="errortext" x-cloak data-type="errortext">請輸入正整數</span>
</td>
<td><input type="text" class="form-control" x-model="(option.price * option.num).toLocaleString()" disabled></td>
<td>
<template x-for="el in option.toElevator">
<p x-html="'<b>' + el.id + '</b>、' + el.model"></p>
</template>
<span x-show="option.toElevator.length <=0" class="errortext" x-cloak data-type="errortext">尚未選擇電梯</span>
</td>
<td>
<div class="d-flex">
<button class="copyBtn btn btn-secondary" @click="copyOtherOption(option.id)">複製</button>
<button class="selectElevator btn btn-danger" @click="addOtherOptionToElevator(option.id)">電梯</button>
<button class="deleteBtn btn btn-danger" @click="removeOtherOption(option.id)">X</button>
</div>
</td>
</tr>
</template>
<tr x-show="otherOptions.length > 0">
<td colspan=3>小計</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=3 ></td>
</tr>
</tbody>
</table>
</div>
<div class="divitem" style="margin-top:20px">
<table style="width:800px" class="table noborder" >
<tbody>

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

@ -0,0 +1,179 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.elevator" x-ref="createElevatorModal" id="createElevatorModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增電梯規格</h4>
<button class="btn btn-close" @click="hideCreateElevatorModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table">
<tr class="table-active">
<th>電梯</th>
<th>人乘</th>
<th>載重(KG)</th>
<th>停數</th>
</tr>
<tr>
<td>
<select class="form-control" x-model="modalElevatorInfo.spec">
<option value="">請選擇</option>
<option value="MAE100">MAE100有機房</option>
<option value="MAM200">MAM200無機房</option>
<option value="MAH100">MAH100小電梯</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>
</td>
<td>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.person">
<option value="">請選擇</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="15">15</option>
<option value="17">17</option>
<option value="20">20</option>
<option value="24">24</option>
</select>
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.weight" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.stop" />
</td>
</tr>
<tr class="table-active">
<th>速度</th>
<th>電梯許可證號</th>
<th>品牌</th>
<th>贈送M1</th>
</tr>
<tr>
<td>
<select name="" id="" class="form-control" style="width:93px" x-model="modalElevatorInfo.speed" @change="getModalElevatorPrice()" >
<option value="">請選擇</option>
<option value="9">9</option>
<option value="24">24</option>
<option value="30">30</option>
<option value="45">45</option>
<option value="60">60</option>
<option value="90">90</option>
<option value="105">105</option>
<option value="120">120</option>
<option value="150">150</option>
</select>
</td>
<td>
<input type="text" class="form-control" x-model="modalElevatorInfo.permitNumber" />
</td>
<td>
<select class="form-control" x-model="modalElevatorInfo.brand">
<option value="請選擇">請選擇</option>
<option value='永大'>永大</option>
<option value='三菱'>三菱</option>
<option value='崇友'>崇友</option>
<option value='Otis'>Otis</option>
<option value='櫻花'>櫻花</option>
<option value='立路'>立路</option>
<option value='富士達'>富士達</option>
<option value='富士'>富士</option>
<option value='測試品牌'>測試品牌</option>
<option value='sanyo'>sanyo</option>
<option value='測試品牌2'>測試品牌2</option>
<option value='測試品牌4'>測試品牌4</option>
<option value='中升'>中升</option>
<option value='長合'>長合</option>
<option value='宏偉電機工業股份有限公司'>宏偉電機工業股份有限公司</option>
<option value='保速達'>保速達</option>
<option value='東棋'>東棋</option>
<option value='安達'>安達</option>
<option value='百朝'>百朝</option>
<option value='太友'>太友</option>
<option value='永佳捷'>永佳捷</option>
<option value='永勝'>永勝</option>
<option value='其他'>其他</option>
</select>
</td>
<td>
<select class="form-control" x-model="modalElevatorInfo.m1">
<option value="0"></option>
<option value="1"></option>
</select>
</td>
</tr>
<tr class="table-active">
<th colspan=2>保養開始日期</th>
<th colspan=2>保養結束日期</th>
</tr>
<tr class="table-active">
<td colspan=2><input type="date" class="form-control" x-model="modalElevatorInfo.startDate" /></td>
<td colspan=2><input type="date" class="form-control" x-model="modalElevatorInfo.endDate" /></td>
</tr>
<tr class="table-active">
<th>保養方式</th>
<th>保養週期</th>
<th>竣工檢查年度</th>
<th>上次年檢日期</th>
</tr>
<tr>
<td>
<select class="form-control">
<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>
</select>
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.checkYear" />
</td>
<td>
<input type="date" class="form-control" x-model="modalElevatorInfo.lastDate" />
</td>
</tr>
<tr class="table-active">
<th>年檢費用(元)</th>
<th>公司發布價(月)</th>
<th>電梯數量</th>
<th>契約報價(月)</th>
</tr>
<tr>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.yearCheckFee" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.price" />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.qty" disabled />
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.sale_price" />
</td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createElevatorFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateElevatorModal()"></div>
</div>

33
wms/cont/window-modal/otherOptionModal.php

@ -0,0 +1,33 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.other" x-ref="createOtherOptionModal" id="createOtherOptionModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增除外項目</h4>
<button class="btn btn-close" @click="hideCreateOtherOptionModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table">
<tr class="table-active">
<th>詢價單號</th>
<th>項目名稱</th>
<th>單價</th>
<th>數量</th>
<th>複價</th>
</tr>
<tr>
<td><input type="text" class="form-control" x-model="modalOtherOptionInfo.pr_no"></td>
<td><input type="text" class="form-control" x-model="modalOtherOptionInfo.name"></td>
<td><input type="number" class="form-control" x-model="modalOtherOptionInfo.price"></td>
<td><input type="number" class="form-control" x-model="modalOtherOptionInfo.num"></td>
<td><input type="text" disabled class="form-control" x-model="(modalOtherOptionInfo.price * modalOtherOptionInfo.num).toLocaleString()"></td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateOtherOptionModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createOtherOptionFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateOtherOptionModal()"></div>
</div>

36
wms/cont/window-modal/otherToElevatorModal.php

@ -0,0 +1,36 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.otherToElevator" x-ref="toOtherOptionElevatorModal" id="toOtherOptionElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToOtherOptionElevatorModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table">
<tr>
<th>項次</th>
<th>規格</th>
<th>選擇</th>
</tr>
<template x-for="elevator in toElevators" :key="elevator.id">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
<td><input type="radio" name="otherOptionToElevator" :value="elevator.id" class="form-check-input" x-model="toElevatorNo" /></td>
</tr>
</template>
<tr x-show="toElevators.length == 0">
<td colspan="3">
<small class="text-danger" style="font-size:13px;font-weight:600">暫無可選電梯,請先新增電梯規格!</small>
</td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideToOtherOptionElevatorModal()">關閉</button>
<button type="button" x-show="toElevators.length > 0" class="btn btn-primary" @click="chkOtherOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToOtherOptionElevatorModal()"></div>
</div>

2
wms/crm/crmm02-index.php

@ -170,7 +170,7 @@ if ($data) :
<span class="glyphicon glyphicon-pencil"></span>
</a>
<?php if ($user_name === $row['salesman'] || $user_id = 'M0225') : ?>
<a href="../cont/pricereviewCheck.php?function_name=sign_list&<?= $token_link ?>&vol_no=<?= $row['vol_no'] ?>" class="btn btn-info btn-sm">
<a href="../cont/pricereviewCreate.php?function_name=sign_list&<?= $token_link ?>&vol_no=<?= $row['vol_no'] ?>" class="btn btn-info btn-sm">
轉價審
</a>
<?php endif ?>

25
wms/mkt/assets/js/pricereviewAlpine.js

@ -490,10 +490,14 @@ const pricereviewCreate = ()=>{
this.otherOptionKey++;
},
addOptionToElevator(key){
console.log(key);
console.log(this.selectedOptions);
this.currentOptionKey = key;
this.toElevators = [];
this.toElevatorNo = "";
const matchElevators = this.selectedOptions.filter(option=> option.key == key)[0].toElevator.map(elevator=> elevator.id)
console.log(matchElevators);
// this.toElevatorNo = matchElevators.length > 0 ? matchElevators[0] : '';
this.toElevatorNo = matchElevators[0]
this.elevators.forEach(elevator=>{
if(elevator.price > 0){
@ -544,7 +548,9 @@ const pricereviewCreate = ()=>{
chkOptionToElevators(){
const checkedOptions = [];
const matchElevators = this.elevators.filter(elevator=> elevator.id == this.toElevatorNo)[0]
console.log(this.elevators);
console.log(this.toElevatorNo);
console.log(this.elevators.filter(elevator=> elevator.id == this.toElevatorNo));
checkedOptions.push({
id: this.toElevatorNo,
model: matchElevators['model'] ,
@ -590,7 +596,22 @@ const pricereviewCreate = ()=>{
return issetElevators.includes(el.id)
})
})
console.log(this.selectedOptions);
this.otherOptions.forEach(option=>{
option.toElevator = option.toElevator.filter(el=>{
return issetElevators.includes(el.id)
})
})
this.maintainOptions.forEach(option=>{
option.toElevator = option.toElevator.filter(el=>{
return issetElevators.includes(el.id)
})
})
this.demolishOptions.forEach(option=>{
option.toElevator = option.toElevator.filter(el=>{
return issetElevators.includes(el.id)
})
})
},
removeOption(key){
console.log(this.selectedOptions);

5
wms/mkt/pricereviewCreate.php

@ -490,11 +490,6 @@ function convertDateTimeFormat($dateTimeStr) {
<option value="MAF100">MAE100貨梯(有機房)</option>
<option value="MAQ100">MAQ100強趨梯</option>
<option value="MAP100">MAP100平台梯</option>
<?php if($hope_customer['is_renovation']): ?>
<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>
<?php endif; ?>
</select>
<span x-show="!elevator.specifications" class="errortext" x-cloak data-type="errortext">請選擇規格</span>
</td>

4
wms/mkt/window-modal/demolishToElevatorModal.php

@ -12,7 +12,7 @@
<th>規格</th>
<th>選擇</th>
</tr>
<template x-for="elevator in toElevators">
<template x-for="elevator in toElevators" :key="elevator.id">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
@ -29,7 +29,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideToDemolishOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkDemolishOptionToElevators()">確認</button>
<button type="button" x-show="toElevators.length > 0" class="btn btn-primary" @click="chkDemolishOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToDemolishOptionElevatorModal()"></div>

5
wms/mkt/window-modal/elevatorModal.php

@ -23,11 +23,6 @@
<option value="MAF100">MAF100貨梯(有機房)</option>
<option value="MAQ100">MAQ100強趨梯</option>
<option value="MAP100">MAP100平台梯</option>
<?php if($hope_customer['is_renovation'] == 'Y'): ?>
<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>
<?php endif; ?>
</select>
</td>
<td>

4
wms/mkt/window-modal/maintainToElevatorModal.php

@ -12,7 +12,7 @@
<th>規格</th>
<th>選擇</th>
</tr>
<template x-for="elevator in toElevators">
<template x-for="elevator in toElevators" :key="elevator.id">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
@ -29,7 +29,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideToMaintainOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkMaintainOptionToElevators()">確認</button>
<button type="button" x-show="toElevators.length > 0" class="btn btn-primary" @click="chkMaintainOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToMaintainOptionElevatorModal()"></div>

6
wms/mkt/window-modal/optionToElevatorModal.php

@ -12,11 +12,11 @@
<th>規格</th>
<th>選擇</th>
</tr>
<template x-for="elevator in toElevators">
<template x-for="elevator in toElevators" :key="elevator.id">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
<td><input type="radio" name="optionToElevator" :value="elevator.id" class="form-check-input" x-model="toElevatorNo" /></td>
<td><input type="radio" name="optionToElevator" :value="elevator.id" class="form-check-input" x-model="toElevatorNo" @change="console.log(elevator.id, toElevatorNo)" /></td>
</tr>
</template>
<tr x-show="toElevators.length == 0">
@ -29,7 +29,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideToElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkOptionToElevators()">確認</button>
<button type="button" x-show="toElevators.length > 0" class="btn btn-primary" @click="chkOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToElevatorModal()"></div>

4
wms/mkt/window-modal/otherToElevatorModal.php

@ -12,7 +12,7 @@
<th>規格</th>
<th>選擇</th>
</tr>
<template x-for="elevator in toElevators">
<template x-for="elevator in toElevators" :key="elevator.id">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
@ -29,7 +29,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideToOtherOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkOtherOptionToElevators()">確認</button>
<button type="button" x-show="toElevators.length > 0" class="btn btn-primary" @click="chkOtherOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToOtherOptionElevatorModal()"></div>

Loading…
Cancel
Save