From 1fd320683b14938de9877bd72adb50566b58571f Mon Sep 17 00:00:00 2001 From: 10994015 Date: Wed, 31 Jan 2024 18:03:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=AB=98=E9=9B=84=E5=9B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/contract/js/alpine.js | 2 +- wms/contract/mi/mi7.xlsx | Bin 0 -> 10028 bytes wms/mkt/assets/js/alpinejs/cdn.min.js | 5 + wms/mkt/assets/js/pricereviewAlpine.js | 7 + wms/mkt/conn.php | 10 +- wms/mkt/css/pricereview.css | 90 +++++ wms/mkt/css/pricereview.css.map | 1 + wms/mkt/css/pricereview.scss | 98 +++++ wms/mkt/pricereview-check.php | 1 + wms/mkt/pricereview-index.php | 12 +- wms/mkt/pricereviewCreate.php | 516 +++++++++++++++++++++++++ wms/mkt/pricereview_mi-api.php | 5 + wms/schedule-index.php | 44 ++- 13 files changed, 756 insertions(+), 35 deletions(-) create mode 100644 wms/contract/mi/mi7.xlsx create mode 100644 wms/mkt/assets/js/alpinejs/cdn.min.js create mode 100644 wms/mkt/assets/js/pricereviewAlpine.js create mode 100644 wms/mkt/css/pricereview.css create mode 100644 wms/mkt/css/pricereview.css.map create mode 100644 wms/mkt/css/pricereview.scss create mode 100644 wms/mkt/pricereviewCreate.php diff --git a/wms/contract/js/alpine.js b/wms/contract/js/alpine.js index 35f81f58..0f8b39d2 100644 --- a/wms/contract/js/alpine.js +++ b/wms/contract/js/alpine.js @@ -948,7 +948,7 @@ const contractInput = () => { }, cities: [], data: { - contractno: 'B23100060', + contractno: 'B24010030', total_price: '', //合約總價 vat: '', //統一編號 mtype: 'A', //維修型態 diff --git a/wms/contract/mi/mi7.xlsx b/wms/contract/mi/mi7.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..efb0213a354f75eb133867dcac053450594abe8c GIT binary patch literal 10028 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 Ze=!1,Qe=!1,H=[],et=-1;function zt(e){En(e)}function En(e){H.includes(e)||H.push(e),vn()}function we(e){let t=H.indexOf(e);t!==-1&&t>et&&H.splice(t,1)}function vn(){!Qe&&!Ze&&(Ze=!0,queueMicrotask(Sn))}function Sn(){Ze=!1,Qe=!0;for(let e=0;ee.effect(t,{scheduler:r=>{tt?zt(r):r()}}),rt=e.raw}function nt(e){I=e}function qt(e){let t=()=>{};return[n=>{let i=I(n);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(i),t=()=>{i!==void 0&&(e._x_effects.delete(i),L(i))},i},()=>{t()}]}function q(e,t,r={}){e.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))}function O(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(i=>O(i,t));return}let r=!1;if(t(e,()=>r=!0),r)return;let n=e.firstElementChild;for(;n;)O(n,t,!1),n=n.nextElementSibling}function v(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}var Ut=!1;function Wt(){Ut&&v("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Ut=!0,document.body||v("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
有望客戶基本資料
卷號客戶名稱負責人客戶來源
地址案件名稱統編/身份證業主方聯係人
市話/手機營業員台數預定成交日
有望客戶狀態汰改
+ + + + + + + + + + + + +
洽商進度
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
電梯規格訊息
序號規格人乘/載重停數開門方式速度(m/min)數量單價
+
+
+
+
整機單價
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
電梯人乘/載重停數速度(m/min)開門方式規格單價數量複價售價
+ + + + + + + + + + + + + + +
小計
+
+
+
+
Option加價
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
選配規格單價數量複價備註所屬電梯功能
MAE100-6*7-CO45 +
+ + +
+
小計
+
+
+
+
除外項目
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
詢價單號名稱單價數量複價所屬電梯功能
MAE100-6*7-CO45 +
+ + +
+
小計
+
+
+
+
保固延長
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
電梯人乘/載重停數速度單價數量(月)複價備註所屬電梯功能
+ + + + + + + + MAE100-6*7-CO45 +
+ + +
+
小計
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
付款辦法款別比例(%)金額票期
材料1.訂金 + +
2.二次款 + +
3.貨到工地款 + +
4.其他 + +
安裝5.安裝完畢款 + +
6.驗收款 + +
7.其他 + +
合計
備註 + +
+
+
+
+
\ No newline at end of file diff --git a/wms/mkt/pricereview_mi-api.php b/wms/mkt/pricereview_mi-api.php index 3784957b..db7221fa 100644 --- a/wms/mkt/pricereview_mi-api.php +++ b/wms/mkt/pricereview_mi-api.php @@ -106,6 +106,7 @@ try { $opt_elev_arr[$row[0]]["item_qty"] = $row[3]; $tmp_arr = explode(",", $row[4]); $opt_elev_arr[$row[0]]["elev_no"] = $tmp_arr; + if (!empty($opt_elev_arr[$row[0]]["elev_no"][0])) { foreach ($tmp_arr as $v) { $elev_arr[$v]["option"][] = $row[0]; @@ -125,6 +126,7 @@ try { } */ } + mysqli_free_result($res); $opt_nosel_id_arr = array_diff(array_keys($opt_elev_arr), $opt_sel_id_arr); @@ -337,6 +339,7 @@ try { AND option_mi.open_kind = '" . $v["item_op"] . "'"; $res_om = mysqli_query($link, $sql4); + if ($row_om = mysqli_fetch_assoc($res_om)) { $row_om['price'] = (int)ceil($row_om['price']); $plus = ($v["floors"] > $row_om["base_floor"]) ? ($v["floors"] - $row_om["base_floor"]) * $row_om["base_floor_plus"] : 0; @@ -488,6 +491,8 @@ try { } } // $rarr["content"][] = $exceptArr; + print_r($rarr["content"]); + exit; foreach($rarr["content"] as $idx=>&$item){ $newTotal = 0; $item[16] = []; diff --git a/wms/schedule-index.php b/wms/schedule-index.php index d4cb5a0c..0aec06c1 100644 --- a/wms/schedule-index.php +++ b/wms/schedule-index.php @@ -24,7 +24,7 @@ $data = array(); // sql語法存在變數中 $page_close = 0; $sql_cmd2 = ""; -$sql_cmd = sql_myself($user_id, "repairedid"); +$sql_cmd = sql_myself($user_id, "repairerid"); if ($user_department_id == "501" || $user_department_id == "322" || $user_id == "M0012" || $user_id == "M0105") $sql_cmd = ""; if (in_array($user_department_id . $user_role_id, $dr_arr)) $sql_cmd = ""; //if (empty($sql_cmd)) $sql_cmd = "where "; @@ -177,17 +177,17 @@ if ($data) : 保養人員姓名 應保養日期 實際保養日期 - 保養項目編號 - 保養項目內容 + 保養結果 - 上傳照片 + 保養照片/保養品質 說明 - 客戶評價登入帳號 + 客戶姓名 - 評價/保養品質 - 評價/服務態度 - 內容 - 簽名檔 + + 建檔人 建檔時間 @@ -208,16 +208,22 @@ if ($data) : - - - - 瀏覽"; + + + + 查看明細 + + + 瀏覽 + 瀏覽"; } ?> - + - + +