From 2ac5424596ae8d667c6b52ffbb384c9ca31a87b1 Mon Sep 17 00:00:00 2001 From: 10994015 Date: Tue, 5 Mar 2024 18:08:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E9=A4=8A=E5=83=B9=E5=AF=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/cont/css/pricereview.css | 4 + wms/cont/css/pricereview.css.map | 2 +- wms/cont/css/pricereview.scss | 5 + wms/cont/js/pricereviewAlpine.js | 111 ++++++ wms/cont/pricereviewCreate.php | 412 ++++++++++++++++++++- wms/mkt/api/postNewElevatorPricereview.php | 5 +- wms/mkt/api/postPricereviewSign.php | 20 +- wms/mkt/pricereview-index.php | 9 +- wms/mkt/pricereviewCreate.php | 3 +- 9 files changed, 541 insertions(+), 30 deletions(-) diff --git a/wms/cont/css/pricereview.css b/wms/cont/css/pricereview.css index afeeb875..3cd7f902 100644 --- a/wms/cont/css/pricereview.css +++ b/wms/cont/css/pricereview.css @@ -164,6 +164,10 @@ margin-right: 15px; margin-top: 20px; } +#pricereviewCreate .dark { + background-color: rgb(225, 225, 225) !important; + font-weight: 600; +} .container-fluid, .container { max-width: 1400px !important; diff --git a/wms/cont/css/pricereview.css.map b/wms/cont/css/pricereview.css.map index 4acaa24e..a5d7bedf 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 07a63973..7812e8e5 100644 --- a/wms/cont/css/pricereview.scss +++ b/wms/cont/css/pricereview.scss @@ -1,4 +1,5 @@ #pricereviewCreate{ + input[type='text'], input[type='number'], select{ margin: 1px; } @@ -175,6 +176,10 @@ } } } + .dark{ + background-color: rgba(225,225,225,1) !important; + font-weight: 600; + } } .container-fluid, .container{ diff --git a/wms/cont/js/pricereviewAlpine.js b/wms/cont/js/pricereviewAlpine.js index 6c21d29d..fe3df137 100644 --- a/wms/cont/js/pricereviewAlpine.js +++ b/wms/cont/js/pricereviewAlpine.js @@ -3,5 +3,116 @@ const pricereviewCreate = ()=>{ init(){ console.log(123); }, + modalShow:{ + elevator: false, + }, + total_spec:0, + elevators:[], + modalElevatorInfo:{ + spec:'', + person:'', + weight:'', + stop:'', + speed:'', + permitNumber:'', //許可證號碼 + brand:'', //品牌 + m1:0, //贈送M1 + months:12, //保養月數(月) + cycle:'EM', // 保養週期 + checkYear:'', //竣工檢查年度 + lastDate:'', // 上次年檢日期 + yearCheckFee:'', //年檢費用 + price:'', //公司發布價(月) + qty:'', //電梯數量 + sale_price:'', //契約報價 + }, + openCreateElevatorModal(){ + this.modalShow.elevator = true; + body.style.overflow = 'hidden'; + }, + hideCreateElevatorModal(){ + this.modalShow.elevator = false; + body.style.overflow = 'auto'; + this.modalElevatorInfo = { + spec:'', + person:'', + weight:'', + stop:'', + speed:'', + permitNumber:'', + brand:'', + m1:0, + months:'', + cycle:'', + checkYear:'', + lastDate:'', + yearCheckFee:'', + price:'', + qty:'', + sale_price:'', + }; + }, + createElevatorFn(){ + this.total_spec ++; + this.elevators.push({ + id: this.total_spec, + spec: this.modalElevatorInfo.spec, + person: this.modalElevatorInfo.person, + weight: this.modalElevatorInfo.weight, + stop: this.modalElevatorInfo.stop, + speed: this.modalElevatorInfo.speed, + permitNumber: this.modalElevatorInfo.permitNumber, + brand: this.modalElevatorInfo.brand, + m1: this.modalElevatorInfo.m1, + months: this.modalElevatorInfo.months, + cycle: this.modalElevatorInfo.cycle, + checkYear: this.modalElevatorInfo.checkYear, + lastDate: this.modalElevatorInfo.lastDate, + yearCheckFee: this.modalElevatorInfo.yearCheckFee, + price: this.modalElevatorInfo.price, + qty: this.modalElevatorInfo.qty, + sale_price: this.modalElevatorInfo.sale_price + }) + this.hideCreateElevatorModal(); + }, + copyElevator(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 permitNumber = this.elevators[idx].permitNumber; + const brand = this.elevators[idx].brand; + const m1 = this.elevators[idx].m1; + const months = this.elevators[idx].months; + const cycle = this.elevators[idx].cycle; + const checkYear = this.elevators[idx].checkYear; + const lastDate = this.elevators[idx].lastDate; + const yearCheckFee = this.elevators[idx].yearCheckFee; + 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, + spec: spec, + person: person, + stop: stop, + weight:weight, + speed: speed, + permitNumber: permitNumber, + brand: brand, + m1: m1, + months: months, + cycle: cycle, + checkYear: checkYear, + lastDate: lastDate, + yearCheckFee: yearCheckFee, + price: price, + qty: qty, + sale_price: sale_price + }) + }, } } \ No newline at end of file diff --git a/wms/cont/pricereviewCreate.php b/wms/cont/pricereviewCreate.php index 1ac0efbe..cd65c763 100644 --- a/wms/cont/pricereviewCreate.php +++ b/wms/cont/pricereviewCreate.php @@ -9,6 +9,172 @@ require_once "../mkt/conn.php";
+
+ +
+
@@ -101,7 +267,7 @@ require_once "../mkt/conn.php"; + +
- +
+
+
+ + + + +
- \ No newline at end of file + + + \ No newline at end of file diff --git a/wms/mkt/api/postNewElevatorPricereview.php b/wms/mkt/api/postNewElevatorPricereview.php index 841f53d6..911647f8 100644 --- a/wms/mkt/api/postNewElevatorPricereview.php +++ b/wms/mkt/api/postNewElevatorPricereview.php @@ -30,6 +30,8 @@ $attatch2_src = null; $token = $_POST['token']; $form_key = $_POST['form_key']; +$updated_at = date("Y-m-d H:i:s"); +$updated_by = $_POST['user_id']; $elevators = json_decode($_POST['elevators'], true); $options = json_decode($_POST['options'], true); $otherOptions = json_decode($_POST['otherOptions'], true); @@ -63,8 +65,6 @@ if(!empty($attatch1)){ $path = './pricereview-uploads/'; $attatch1_src = $path.$imgsrc; if (!file_exists($path)) { mkdir($path); } - - if ($error == 0) { $ext = pathinfo($file_name, PATHINFO_EXTENSION); if (!in_array($ext, $allow_ext)) { @@ -155,7 +155,6 @@ try{ $stmt->bindParam(':status', $status); $stmt->bindParam(':attatch1', $attatch1_src); $stmt->bindParam(':attatch2', $attatch2_src); - $stmt->execute(); //整機單價 diff --git a/wms/mkt/api/postPricereviewSign.php b/wms/mkt/api/postPricereviewSign.php index dfe15b01..a6981dcf 100644 --- a/wms/mkt/api/postPricereviewSign.php +++ b/wms/mkt/api/postPricereviewSign.php @@ -31,11 +31,21 @@ try{ $stmt->bindParam(':sign_id', $sign_id); $stmt->execute(); - $sql_str = "UPDATE pricereview_main SET status=:status WHERE id = :id "; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':status', $result); - $stmt->bindParam(':id', $mid); - $stmt->execute(); + if($sign == 3){ + $sql_str = "UPDATE pricereview_main SET status=:status, updated_at=:updated_at WHERE id = :id "; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':status', $result); + $stmt->bindParam(':id', $mid); + $stmt->bindParam(':updated_at', $updated_at); + $stmt->execute(); + }else{ + $sql_str = "UPDATE pricereview_main SET status=:status WHERE id = :id "; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':status', $result); + $stmt->bindParam(':id', $mid); + $stmt->execute(); + } + include_once "./postSystemNotice.php"; $sql_str = "SELECT * FROM pricereview_main WHERE id = :id ORDER BY id DESC LIMIT 1"; diff --git a/wms/mkt/pricereview-index.php b/wms/mkt/pricereview-index.php index 2e046d1e..1026efe8 100644 --- a/wms/mkt/pricereview-index.php +++ b/wms/mkt/pricereview-index.php @@ -392,13 +392,15 @@ if ($data) : 總經理 狀態 合約書申請 + + 送審時間 + ">下載 + + + + + diff --git a/wms/mkt/pricereviewCreate.php b/wms/mkt/pricereviewCreate.php index 921de714..f9c6ba6f 100644 --- a/wms/mkt/pricereviewCreate.php +++ b/wms/mkt/pricereviewCreate.php @@ -49,12 +49,11 @@ $hope_status = [ $sql_str = "SELECT hope_elevator_customer.*, code.content AS source_content, account.name AS salesman_name FROM hope_elevator_customer LEFT JOIN code ON code.code_name = hope_elevator_customer.source LEFT JOIN account ON account.accountid = hope_elevator_customer.salesman - WHERE hope_elevator_customer.vol_no = :vol_no AND code.field_name = 'customer_source'"; + WHERE hope_elevator_customer.vol_no = :vol_no "; $stmt = $conn->prepare($sql_str); $stmt->bindParam(':vol_no', $vol_no); $stmt->execute(); $hope_customer = $stmt->fetch(PDO::FETCH_ASSOC); - if($user_id !== $hope_customer['salesman'] && $user_id !== "M0174"){ echo ""; exit;