diff --git a/wms/account-receivable-maintainance-index.php b/wms/account-receivable-maintainance-index.php index 5295d065..aad21f66 100644 --- a/wms/account-receivable-maintainance-index.php +++ b/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++) { } -
+

應收帳款(保養)


-
+ @@ -271,7 +271,7 @@ for ($i = 0; $i < count($rows); $i++) { @@ -286,19 +286,17 @@ for ($i = 0; $i < count($rows); $i++) { - + @@ -314,10 +312,10 @@ for ($i = 0; $i < count($rows); $i++) { -
+
@@ -351,18 +349,15 @@ include "./footer.php";
- + - - - - + + + @@ -373,17 +368,16 @@ include "./footer.php"; - + - - - - - + + + + @@ -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&"; + // 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 = "汰改應收帳款" + "" + ".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&"; - 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 = "汰改應收帳款" + "" + ".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 searchFront(area) { var term = 'search_' + area; diff --git a/wms/cont/css/pricereview.css b/wms/cont/css/pricereview.css index 3cd7f902..0169e645 100644 --- a/wms/cont/css/pricereview.css +++ b/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 { diff --git a/wms/cont/css/pricereview.css.map b/wms/cont/css/pricereview.css.map index a5d7bedf..dd3f0e70 100644 --- a/wms/cont/css/pricereview.css.map +++ b/wms/cont/css/pricereview.css.map @@ -1 +1 @@ -{"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"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","file":"pricereview.css"} \ No newline at end of file +{"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"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","file":"pricereview.css"} \ No newline at end of file diff --git a/wms/cont/css/pricereview.scss b/wms/cont/css/pricereview.scss index 7812e8e5..ecc890a6 100644 --- a/wms/cont/css/pricereview.scss +++ b/wms/cont/css/pricereview.scss @@ -119,7 +119,6 @@ opacity: 1; } .copyBtn{ - width: 30px; height: 30px; } .saletd{ diff --git a/wms/cont/js/pricereviewAlpine.js b/wms/cont/js/pricereviewAlpine.js index fe3df137..9536b056 100644 --- a/wms/cont/js/pricereviewAlpine.js +++ b/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) + }, } } \ No newline at end of file diff --git a/wms/cont/pricereviewCreate.php b/wms/cont/pricereviewCreate.php index cd65c763..e2b87b9f 100644 --- a/wms/cont/pricereviewCreate.php +++ b/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 ""; +} +$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; +} ?>
-
-
- +
催收次數 - + ≤ 催收次數 ≤ - - +
催收金額款別金額 - ≤ 催收金額 ≤ + ≤ 款別金額 ≤ -
序號 作番號 部門主管 契約員 客戶名稱 應收日期 是否應收應收金額已收金額催收金額款別金額是否收齊催收次數
" . $row['DeptName']; ?>" . $row['LeaderName']; ?> " . $row['PersonName']; ?> " . $row['BizPartnerName']; ?> 1))? $row['collecttime']:0; ?>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
電梯人乘載重(KG)停數
- - - - - - - -
速度電梯許可證號品牌贈送M1
- - - - - - - -
保養月數保養週期竣工檢查年度上次年檢日期
- - - - - - - -
年檢費用(元)公司發布價(月)電梯數量契約報價(月)
- - - - - - - -
-
-
- - -
- +
@@ -184,63 +67,58 @@ require_once "../mkt/conn.php"; - - + + - - - + - + + + - - - + + + - - - + + + + + +
評審單號價審單號 卷號現場地址 現場名稱現場地址
電梯品牌數量電梯數量 營業員保養方式 - - 當前契約期限結束
+ + + + + + + - - - - + - - - - - - - - - - + +
價格審查(契約)基本資料
契約期限開始契約期限結束契約性質 - + 介紹人
付款方式 - + 案件名稱
@@ -253,7 +131,7 @@ require_once "../mkt/conn.php"; - + @@ -288,10 +166,10 @@ require_once "../mkt/conn.php"; 項次 - + - - + + @@ -305,28 +183,9 @@ require_once "../mkt/conn.php"; - - - - - - 人乘 - - + 載重(KG) @@ -350,9 +209,22 @@ require_once "../mkt/conn.php"; - 規格 - - + 人乘 + + @@ -361,7 +233,7 @@ require_once "../mkt/conn.php"; 品牌 - + - 保養月數 + 竣工檢查年度(民國) - + + + + + + 保養開始日期 + + + + 保養結束日期 + + 保養週期 @@ -401,6 +284,15 @@ require_once "../mkt/conn.php"; + 保養方式 + + + 送M1 - + 上次年檢日期 @@ -428,7 +317,7 @@ require_once "../mkt/conn.php"; 電梯數量 - + 契約報價(月) @@ -439,6 +328,61 @@ require_once "../mkt/conn.php";
+
+
+

除外項目

+ +
+ + + + + + + + + + + + + + + + + + + + + +
詢價單號名稱單價數量複價所屬電梯功能
小計
+
diff --git a/wms/cont/window-modal/modalElevaotr.php b/wms/cont/window-modal/modalElevaotr.php new file mode 100644 index 00000000..896ea9de --- /dev/null +++ b/wms/cont/window-modal/modalElevaotr.php @@ -0,0 +1,179 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
電梯人乘載重(KG)停數
+ + + + + + + +
速度電梯許可證號品牌贈送M1
+ + + + + + + +
保養開始日期保養結束日期
保養方式保養週期竣工檢查年度上次年檢日期
+ + + + + + + +
年檢費用(元)公司發布價(月)電梯數量契約報價(月)
+ + + + + + + +
+
+ + + +
+ \ No newline at end of file diff --git a/wms/cont/window-modal/otherOptionModal.php b/wms/cont/window-modal/otherOptionModal.php new file mode 100644 index 00000000..565ccbf5 --- /dev/null +++ b/wms/cont/window-modal/otherOptionModal.php @@ -0,0 +1,33 @@ +
+ +
+
\ No newline at end of file diff --git a/wms/cont/window-modal/otherToElevatorModal.php b/wms/cont/window-modal/otherToElevatorModal.php new file mode 100644 index 00000000..3b073176 --- /dev/null +++ b/wms/cont/window-modal/otherToElevatorModal.php @@ -0,0 +1,36 @@ +
+ +
+
\ No newline at end of file diff --git a/wms/crm/crmm02-index.php b/wms/crm/crmm02-index.php index 33e48991..a4fcc9bd 100644 --- a/wms/crm/crmm02-index.php +++ b/wms/crm/crmm02-index.php @@ -170,7 +170,7 @@ if ($data) : - + 轉價審 diff --git a/wms/mkt/assets/js/pricereviewAlpine.js b/wms/mkt/assets/js/pricereviewAlpine.js index 227b2f4c..255c8251 100644 --- a/wms/mkt/assets/js/pricereviewAlpine.js +++ b/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); diff --git a/wms/mkt/pricereviewCreate.php b/wms/mkt/pricereviewCreate.php index f9c6ba6f..72d58e0e 100644 --- a/wms/mkt/pricereviewCreate.php +++ b/wms/mkt/pricereviewCreate.php @@ -490,11 +490,6 @@ function convertDateTimeFormat($dateTimeStr) { - - - - - 請選擇規格 diff --git a/wms/mkt/window-modal/demolishToElevatorModal.php b/wms/mkt/window-modal/demolishToElevatorModal.php index da7e3974..3970c026 100644 --- a/wms/mkt/window-modal/demolishToElevatorModal.php +++ b/wms/mkt/window-modal/demolishToElevatorModal.php @@ -12,7 +12,7 @@ 規格 選擇 -