Browse Source

價審系統防呆加入

main
10994015 1 year ago
parent
commit
7873a6e151
  1. 67
      wms/mkt/assets/js/pricereviewAlpine.js
  2. 12
      wms/mkt/css/pricereview.css
  3. 2
      wms/mkt/css/pricereview.css.map
  4. 13
      wms/mkt/css/pricereview.scss
  5. 570
      wms/mkt/pricereviewCreate.php
  6. 47
      wms/mkt/window-modal/demolishOptionModal.php
  7. 36
      wms/mkt/window-modal/demolishToElevatorModal.php
  8. 124
      wms/mkt/window-modal/elevatorModal.php
  9. 31
      wms/mkt/window-modal/maintainOptionModal.php
  10. 36
      wms/mkt/window-modal/maintainToElevatorModal.php
  11. 59
      wms/mkt/window-modal/optionModal.php
  12. 36
      wms/mkt/window-modal/optionToElevatorModal.php
  13. 33
      wms/mkt/window-modal/otherOptionModal.php
  14. 36
      wms/mkt/window-modal/otherToElevatorModal.php

67
wms/mkt/assets/js/pricereviewAlpine.js

@ -38,6 +38,17 @@ const pricereviewCreate = ()=>{
otherOptionKey: otherOptionKey, otherOptionKey: otherOptionKey,
maintainOptionKey:1, maintainOptionKey:1,
demolishOptionKey: demolishOptionKey, demolishOptionKey: demolishOptionKey,
modalShow:{
elevator:false,
option:false,
other:false,
maintain:false,
demolish:false,
optionToElevator:false,
otherToElevator:false,
maintainToElevator:false,
demolishToElevator:false,
},
modalElevatorInfo:{ modalElevatorInfo:{
spec:'', spec:'',
person:'', person:'',
@ -278,7 +289,8 @@ const pricereviewCreate = ()=>{
this.options.forEach(option=>{ this.options.forEach(option=>{
option.selected = 0 option.selected = 0
}) })
this.$refs.optionsModal.style.display = "block" this.modalShow.option = true;
// this.$refs.optionsModal.style.display = "block"
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
chkOptions(){ chkOptions(){
@ -289,11 +301,13 @@ const pricereviewCreate = ()=>{
this.hideOptionsModal(); this.hideOptionsModal();
}, },
hideOptionsModal(){ hideOptionsModal(){
this.$refs.optionsModal.style.display = 'none'; this.modalShow.option = false;
// this.$refs.optionsModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideToElevatorModal(){ hideToElevatorModal(){
this.$refs.toElevatorModal.style.display = 'none'; this.modalShow.optionToElevator = false;
// this.$refs.toElevatorModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideToOtherOptionElevatorModal(){ hideToOtherOptionElevatorModal(){
@ -301,15 +315,18 @@ const pricereviewCreate = ()=>{
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideToMaintainOptionElevatorModal(){ hideToMaintainOptionElevatorModal(){
this.$refs.toMaintainOptionElevatorModal.style.display = 'none'; this.modalShow.maintainToElevator = false;
// this.$refs.toMaintainOptionElevatorModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideToDemolishOptionElevatorModal(){ hideToDemolishOptionElevatorModal(){
this.$refs.toDemolishOptionElevatorModal.style.display = 'none'; this.modalShow.demolishToElevator = false;
// this.$refs.toDemolishOptionElevatorModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideCreateElevatorModal(){ hideCreateElevatorModal(){
this.$refs.createElevatorModal.style.display = 'none'; this.modalShow.elevator = false;
// this.$refs.createElevatorModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
this.modalElevatorInfo = { this.modalElevatorInfo = {
spec:'', spec:'',
@ -324,31 +341,38 @@ const pricereviewCreate = ()=>{
}; };
}, },
hideCreateOtherOptionModal(){ hideCreateOtherOptionModal(){
this.$refs.createOtherOptionModal.style.display = 'none'; this.modalShow.other = false
// this.$refs.createOtherOptionModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideCreateMaintainModal(){ hideCreateMaintainModal(){
this.$refs.createMaintainModal.style.display = 'none'; this.modalShow.maintain = false;
// this.$refs.createMaintainModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
hideCreateDemolishModal(){ hideCreateDemolishModal(){
this.$refs.createDemolishModal.style.display = 'none'; this.modalShow.demolish = false;
// this.$refs.createDemolishModal.style.display = 'none';
body.style.overflow = 'auto' body.style.overflow = 'auto'
}, },
openCreateElevatorModal(){ openCreateElevatorModal(){
this.$refs.createElevatorModal.style.display = 'block'; this.modalShow.elevator = true;
// this.$refs.createElevatorModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
openCreateOtherOptionFn(){ openCreateOtherOptionFn(){
this.$refs.createOtherOptionModal.style.display = 'block'; this.modalShow.other = true
// this.$refs.createOtherOptionModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
openCreateMaintainModal(){ openCreateMaintainModal(){
this.$refs.createMaintainModal.style.display = 'block'; this.modalShow.maintain = true;
// this.$refs.createMaintainModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
openCreateDemolishOptionModal(){ openCreateDemolishOptionModal(){
this.$refs.createDemolishModal.style.display = 'block'; this.modalShow.demolish = true;
// this.$refs.createDemolishModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
totalElevatorsPrice(){ totalElevatorsPrice(){
@ -487,7 +511,8 @@ const pricereviewCreate = ()=>{
}) })
} }
}) })
this.$refs.toElevatorModal.style.display = 'block'; this.modalShow.optionToElevator = true;
// this.$refs.toElevatorModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
addOtherOptionToElevator(id){ addOtherOptionToElevator(id){
@ -712,8 +737,8 @@ const pricereviewCreate = ()=>{
}) })
} }
}) })
this.modalShow.maintainToElevator = true;
this.$refs.toMaintainOptionElevatorModal.style.display = 'block'; // this.$refs.toMaintainOptionElevatorModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
addDemolishOptionToElevator(id){ addDemolishOptionToElevator(id){
@ -738,8 +763,8 @@ const pricereviewCreate = ()=>{
}) })
} }
}) })
this.modalShow.demolishToElevator = true;
this.$refs.toDemolishOptionElevatorModal.style.display = 'block'; // this.$refs.toDemolishOptionElevatorModal.style.display = 'block';
body.style.overflow = 'hidden' body.style.overflow = 'hidden'
}, },
removeMaintainOption(id){ removeMaintainOption(id){
@ -776,13 +801,13 @@ const pricereviewCreate = ()=>{
for(let i=0;i<this.elevators.length;i++){ for(let i=0;i<this.elevators.length;i++){
if(this.elevators[i].specifications =='') this.error.push("整機單價:規格不能為空"); if(this.elevators[i].specifications =='') this.error.push("整機單價:規格不能為空");
if(this.elevators[i].person =='') this.error.push("整機單價:人數不能為空"); if(this.elevators[i].person =='') this.error.push("整機單價:人數不能為空");
if(this.elevators[i].stop =='') this.error.push("整機單價:梯數不能為空"); if(this.elevators[i].stop =='' || this.elevators[i].stop <= 0 || !Number.isInteger(Number(this.elevators[i].stop))) this.error.push("整機單價:停數需為正整數");
if(this.elevators[i].speed =='') this.error.push("整機單價:速度不能為空"); if(this.elevators[i].speed =='') this.error.push("整機單價:速度不能為空");
if(this.elevators[i].open_converted =='') this.error.push("整機單價:開梯方式不能為空"); if(this.elevators[i].open_converted =='') this.error.push("整機單價:開梯方式不能為空");
if(this.elevators[i].price =='') this.error.push("整機單價:公司發布價無此規格"); if(this.elevators[i].price =='') this.error.push("整機單價:公司發布價無此規格");
if(this.elevators[i].spec_price <= 0) this.error.push("整機單價:售價需大於0"); if(this.elevators[i].spec_price == '' || this.elevators[i].spec_price <= 0) this.error.push("整機單價:售價需大於0");
if(this.elevators[i].spec_num <= 0) this.error.push("整機單價:電梯數量需大於0"); if(this.elevators[i].spec_num <= 0) this.error.push("整機單價:電梯數量需大於0");
if(this.elevators[i].weight =='') this.error.push("整機單價:電梯載重需大於0"); if(this.elevators[i].weight =='' || this.elevators[i].weight < 1) this.error.push("整機單價:電梯載重需大於0");
} }
for(let i=0;i<this.selectedOptions.length;i++){ for(let i=0;i<this.selectedOptions.length;i++){

12
wms/mkt/css/pricereview.css

@ -176,6 +176,17 @@
background-color: #6C757D; background-color: #6C757D;
} }
[x-cloak][data-type=window-modal],
[x-cloak][data-type=errortext] {
display: none;
}
.errortext {
font-size: 12px !important;
color: red !important;
font-weight: 600 !important;
}
.window-modal { .window-modal {
position: fixed; position: fixed;
top: 0; top: 0;
@ -185,7 +196,6 @@
background-color: rgba(0, 0, 0, 0.5); background-color: rgba(0, 0, 0, 0.5);
z-index: 9; z-index: 9;
padding: 20px; padding: 20px;
display: none;
} }
@keyframes fade-in { @keyframes fade-in {
0% { 0% {

2
wms/mkt/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"}

13
wms/mkt/css/pricereview.scss

@ -187,7 +187,16 @@
background-color: #6C757D; background-color: #6C757D;
} }
} }
[x-cloak][data-type="window-modal"],
[x-cloak][data-type="errortext"]
{
display: none;
}
.errortext{
font-size:12px !important;
color:red !important;
font-weight:600 !important;
}
.window-modal{ .window-modal{
position: fixed; position: fixed;
top: 0; top: 0;
@ -197,7 +206,7 @@
background-color: rgba(0, 0, 0, 0.5); background-color: rgba(0, 0, 0, 0.5);
z-index: 9; z-index: 9;
padding: 20px; padding: 20px;
display: none; // display: none;
@keyframes fade-in { @keyframes fade-in {
0%{ 0%{
transform: translate(-50%, -60%); transform: translate(-50%, -60%);

570
wms/mkt/pricereviewCreate.php

@ -2,6 +2,8 @@
// include "../header.php"; // include "../header.php";
include_once('../header.php'); include_once('../header.php');
require_once('./conn.php'); require_once('./conn.php');
//獲取option 加價所有資料 //獲取option 加價所有資料
$sql_str = "SELECT * FROM option_price WHERE status='Y' ORDER BY kind ASC"; $sql_str = "SELECT * FROM option_price WHERE status='Y' ORDER BY kind ASC";
@ -33,8 +35,8 @@ if(isset($_GET['id'])){
$vol_no = $main['contractno']; $vol_no = $main['contractno'];
} }
if($main && $main['status'] == 'YS'){ if($main && $main['status'] == 'YS'){
echo "<script>alert('此單正在審核中!');window.history.go(-1);</script>"; // echo "<script>alert('此單正在審核中!');window.history.go(-1);</script>";
exit; // exit;
} }
$hope_status = [ $hope_status = [
'A'=>'有望簽約(已報價)', 'A'=>'有望簽約(已報價)',
@ -54,8 +56,8 @@ $stmt->execute();
$hope_customer = $stmt->fetch(PDO::FETCH_ASSOC); $hope_customer = $stmt->fetch(PDO::FETCH_ASSOC);
if($user_id !== $hope_customer['salesman'] && $user_id !== "M0174"){ if($user_id !== $hope_customer['salesman'] && $user_id !== "M0174"){
echo "<script>alert('無權限編輯此紀錄!您不是該單營業員。');window.history.go(-1);</script>"; // echo "<script>alert('無權限編輯此紀錄!您不是該單營業員。');window.history.go(-1);</script>";
exit; // exit;
} }
if($hope_customer['vol_no']=="" || if($hope_customer['vol_no']=="" ||
$hope_customer['customer']=="" || $hope_customer['customer']=="" ||
@ -71,8 +73,8 @@ $hope_customer['status']=="" ||
$hope_customer['address']=="" || $hope_customer['address']=="" ||
$hope_customer['case_name']=="" $hope_customer['case_name']==""
){ ){
echo "<script>alert('有望客戶資料不完整,請先填完整');window.history.go(-1);</script>"; // echo "<script>alert('有望客戶資料不完整,請先填完整');window.history.go(-1);</script>";
exit; // exit;
} }
$hope_elevators = []; $hope_elevators = [];
$total_spec = 0; $total_spec = 0;
@ -349,15 +351,6 @@ if($main){
], ],
]; ];
} }
function convertDateTimeFormat($dateTimeStr) { function convertDateTimeFormat($dateTimeStr) {
// 使用 DateTime::createFromFormat 解析给定格式的日期时间 // 使用 DateTime::createFromFormat 解析给定格式的日期时间
$date = DateTime::createFromFormat('Y-m-d H:i:s', $dateTimeStr); $date = DateTime::createFromFormat('Y-m-d H:i:s', $dateTimeStr);
@ -378,444 +371,19 @@ function convertDateTimeFormat($dateTimeStr) {
<script src="./assets/js/pricereviewAlpine.js"></script> <script src="./assets/js/pricereviewAlpine.js"></script>
<div id="pricereviewCreate" x-data=pricereviewCreate()> <div id="pricereviewCreate" x-data=pricereviewCreate()>
<div class="window-modal " x-ref="optionsModal" id="optionModal"> <?php
<div class="window-modal-content modal-xl"> //載入modal視窗
<div class="window-modal-header"> include_once('./window-modal/optionModal.php');
<h4>OPTION加價</h4> include_once('./window-modal/demolishOptionModal.php');
<button class="btn btn-close" @click="hideOptionsModal()">X</button> include_once('./window-modal/demolishToElevatorModal.php');
<div class="mt-3"> include_once('./window-modal/elevatorModal.php');
<input type="text" class="form-control" x-model="searchtext" @keyup="searchOptions()" placeholder="搜尋..." /> include_once('./window-modal/maintainOptionModal.php');
</div> include_once('./window-modal/maintainToElevatorModal.php');
<div class="categories mt-3"> include_once('./window-modal/optionModal.php');
<button :class="['btn', 'mt-2', (kind==1) ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions(1)">顯示全部</button> include_once('./window-modal/optionToElevatorModal.php');
<button :class="['btn', 'mt-2', (kind=='A') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('A', 1)">A-1 車廂意匠</button> include_once('./window-modal/otherOptionModal.php');
<button :class="['btn', 'mt-2', (kind=='B') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('B', 1)">A-2 車廂內裝</button> include_once('./window-modal/otherToElevatorModal.php');
<button :class="['btn', 'mt-2', (kind=='C') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('C', 1)">A-3 車廂外部</button> ?>
<button :class="['btn', 'mt-2', (kind=='D') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('D', 1)">A-4 控制與其他</button>
<button :class="['btn', 'mt-2', (kind=='E') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('E', 1)">B-1 平台梯</button>
<button :class="['btn', 'mt-2', (kind=='F') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('F', 1)">C-1 汰改</button>
<br /><br />
<template x-for="button in buttons">
<button style="margin-right:3px" :class="['btn', (button.type == subkind) ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions(null, button.type)" x-text="button.name"></button>
</template>
</div>
</div>
<div class="window-modal-body">
<div>
<table class="table " border=1>
<thead>
<tr>
<th>ID</th>
<th>名稱</th>
<th>規格</th>
<th>備註</th>
<th>配置</th>
<th>單位</th>
<th>定價</th>
</tr>
</thead>
<tbody>
<template x-for="(option, idx) in options" :key="option.id">
<tr style="cursor:pointer;" :class="option.selected == 1 ? ' selected' : ''" x-show="option.isShow == 1" @click="selectOption(idx, option.id, option.group_name, option.price, option.memo)">
<td x-text='option.id' name="optionID" class="bg-transparent"></td>
<td x-text="option.group_name" class="bg-transparent"> </td>
<td x-text="option.spec" class="bg-transparent"></td>
<td x-text="option.memo" class="bg-transparent"></td>
<td x-text="optionalArr[option.optional]" class="bg-transparent"></td>
<td x-text="option.unit" class="bg-transparent"></td>
<td x-text="option.price" class="bg-transparent"></td>
</tr>
</template>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="hideOptionsModal()">關閉</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" @click="chkOptions()">確認</button>
</div>
</div>
<div class="window-back" @click="hideOptionsModal()"></div>
</div>
<div class="window-modal" x-ref="toElevatorModal" id="toElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToElevatorModal()">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">
<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>
</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="hideToElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToElevatorModal()"></div>
</div>
<div class="window-modal" 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">
<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" class="btn btn-primary" @click="chkOtherOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToOtherOptionElevatorModal()"></div>
</div>
<div class="window-modal" x-ref="toMaintainOptionElevatorModal" id="toMaintainOptionElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToMaintainOptionElevatorModal()">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">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
<td><input type="radio" name="maintainOptionToElevator" :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="hideToMaintainOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkMaintainOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToMaintainOptionElevatorModal()"></div>
</div>
<div class="window-modal" x-ref="toDemolishOptionElevatorModal" id="toDemolishOptionElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToDemolishOptionElevatorModal()">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">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
<td><input type="radio" name="demolishOptionToElevator" :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="hideToDemolishOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkDemolishOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToDemolishOptionElevatorModal()"></div>
</div>
<div class="window-modal" 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 name="" id="" class="form-control" x-model="modalElevatorInfo.spec" @change="getModalElevatorPrice()">
<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>
<?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>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.person" @change="getModalElevatorPrice()">
<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" style="width:93px" x-model="modalElevatorInfo.weight" @keyup="getModalElevatorPrice()" @change="getModalElevatorPrice()">
</td>
<td>
<input type="number" class="form-control" style="width:93px" x-model="modalElevatorInfo.stop" @keyup="getModalElevatorPrice()" @change="getModalElevatorPrice()" />
</td>
</tr>
<tr class="table-active">
<th>開門方式</th>
<th>速度</th>
<th>規格</th>
<th>數量</th>
</tr>
<tr>
<td>
<select name="" id="" class="form-control" style="width:93px" x-model="modalElevatorInfo.open" @change="getModalElevatorPrice()">
<option value="CO">CO</option>
<option value="2S">2S</option>
<option value="2U">CO</option>
<option value="4PCO">4PCO</option>
<option value="6PCO">6PCO</option>
</select>
</td>
<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" x-show="!modalElevatorInfo.price || modalElevatorInfo.price ==''" class="form-control" disabled />
<input type="text" x-show="modalElevatorInfo.price > 0" class="form-control" disabled x-model="modalElevatorInfo.model">
</td>
<td>
<input type="number" class="form-control" style="width:93px" x-model="modalElevatorInfo.num" >
</td>
</tr>
<tr class="table-active">
<th>公司發布價(單價)</th>
<th>公司發布價(複價)</th>
<th>自定售價(台)</th>
<th>自定售價(總價)</th>
</tr>
<tr>
<td>
<input type="text" disabled class="form-control" x-model="(modalElevatorInfo.price).toLocaleString()">
</td>
<td>
<input type="text" disabled class="form-control" x-model="(modalElevatorInfo.price * modalElevatorInfo.num).toLocaleString()">
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.sale_price">
</td>
<td>
<input type="text" disabled class="form-control" x-model="(modalElevatorInfo.sale_price * modalElevatorInfo.num).toLocaleString()">
</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>
<div class="window-modal" 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>
<div class="window-modal" x-ref="createMaintainModal" id="createMaintainModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增保固延長</h4>
<button class="btn btn-close" @click="hideCreateMaintainModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table">
<tr class="table-active">
<th>單價</th>
<th>數量(月)</th>
<th>總價</th>
<th>備註</th>
</tr>
<tr>
<td><input type="number" class="form-control" x-model="modalMaintainInfo.price"></td>
<td><input type="number" class="form-control" x-model="modalMaintainInfo.num"></td>
<td><input type="text" disabled class="form-control" x-model="(modalMaintainInfo.price * modalMaintainInfo.num).toLocaleString()"></td>
<td><input type="text" class="form-control" x-model="modalMaintainInfo.memo"></td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateMaintainModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createMaintainOptionFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateMaintainModal()"></div>
</div>
<div class="window-modal" x-ref="createDemolishModal" id="createDemolishModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增拆梯價格</h4>
<button class="btn btn-close" @click="hideCreateDemolishModal()">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>
<select class="form-control" x-model="modalDemolishOptionsInfo.person" @change="getModalDemolishPrice()">
<option value="">請選擇</option>
<option value="15人(含)以下">15人(含)以下/1000KGS</option>
<option value="16~24人">16~24人/1001~1600KGS</option>
<option value="25~30人">25~30人/1601~2500KGS</option>
</select>
</td>
<td>
<select class="form-control" x-model="modalDemolishOptionsInfo.floor" @change="getModalDemolishPrice()">
<option value="">請選擇</option>
<?php for($i=4;$i<=40;$i++): ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php endfor; ?>
</select>
</td>
<td><input type="text" disabled class="form-control" x-model="Number(modalDemolishOptionsInfo.price).toLocaleString()"></td>
<td><input type="number" class="form-control" x-model="modalDemolishOptionsInfo.qty"></td>
<td><input type="text" disabled class="form-control" x-model="(modalDemolishOptionsInfo.price * modalDemolishOptionsInfo.qty).toLocaleString()"></td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateDemolishModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createDemolishOptionFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateDemolishModal()"></div>
</div>
<div class="container"> <div class="container">
<table class="table" border="1"> <table class="table" border="1">
<thead > <thead >
@ -877,37 +445,7 @@ function convertDateTimeFormat($dateTimeStr) {
</tr> </tr>
</tbody> </tbody>
</table> </table>
<!-- <table class="table" border="1">
<thead >
<tr class="" >
<th scope="col" class="text-center " colspan="8">電梯規格訊息</th>
</tr>
</thead>
<tbody>
<tr>
<th >序號</th>
<th >規格</th>
<th >人乘/載重</th>
<th >停數</th>
<th >開門方式</th>
<th >速度(m/min)</th>
<th >數量</th>
<th >單價</th>
</tr>
<tr>
<td ><input type="text" disabled class="form-control disabled" value="1"></td>
<td ><input type="text" disabled class="form-control disabled" value="MAH100(家庭梯)"></td>
<td ><input type="text" disabled class="form-control disabled" value="6人"></td>
<td ><input type="text" disabled class="form-control disabled" value="4人"></td>
<td ><input type="text" disabled class="form-control disabled" value="2S"></td>
<td ><input type="text" disabled class="form-control disabled" value="45"></td>
<td ><input type="text" disabled class="form-control disabled" value="1"></td>
<td ><input type="text" disabled class="form-control disabled" value="100000"></td>
</tr>
</tbody>
</table> -->
<div class="pricreviewmain container"> <div class="pricreviewmain container">
<div class="divitem"> <div class="divitem">
<div class="title"> <div class="title">
<h4>整機單價</h4> <h4>整機單價</h4>
@ -950,6 +488,7 @@ function convertDateTimeFormat($dateTimeStr) {
<option value="M1+M4(2:1)">M1+M4(2:1)系統+主機</option> <option value="M1+M4(2:1)">M1+M4(2:1)系統+主機</option>
<?php endif; ?> <?php endif; ?>
</select> </select>
<span x-show="!elevator.specifications" class="errortext" x-cloak data-type="errortext">請選擇規格</span>
</td> </td>
<td> <td>
<select name="" id="" class="form-control" x-model="elevator.person" @change="getElevatorPrice(idx)"> <select name="" id="" class="form-control" x-model="elevator.person" @change="getElevatorPrice(idx)">
@ -966,12 +505,15 @@ function convertDateTimeFormat($dateTimeStr) {
<option value="20">20</option> <option value="20">20</option>
<option value="24">24</option> <option value="24">24</option>
</select> </select>
<span x-show="!elevator.person" min="1" class="errortext" x-cloak data-type="errortext">請填入人乘</span>
</td> </td>
<td> <td>
<input class="form-control" type="number" style="width:50px;padding-left:5px" x-model="elevator.weight" @keyup="getElevatorPrice(idx)" @change="getElevatorPrice(idx)" /> <input class="form-control" type="number" style="width:50px;padding-left:5px" x-model="elevator.weight" @keyup="getElevatorPrice(idx)" @change="getElevatorPrice(idx)" />
<span x-show="!elevator.weight || elevator.weight < 1" min="1" class="errortext" x-cloak data-type="errortext">載重需大於0</span>
</td> </td>
<td> <td>
<input class="form-control" type="number" style="width:50px;padding-left:5px" x-model="elevator.stop" @keyup="getElevatorPrice(idx)" @change="getElevatorPrice(idx)" /> <input class="form-control" type="number" style="width:50px;padding-left:5px" x-model="elevator.stop" @keyup="getElevatorPrice(idx)" @change="getElevatorPrice(idx)" />
<span x-show="!elevator.stop || !Number.isInteger(Number(elevator.stop)) " min="1" class="errortext" x-cloak data-type="errortext">請輸入正整數</span>
</td> </td>
<td> <td>
<select name="" id="" class="form-control" style="width:63px" x-model="elevator.speed" @change="getElevatorPrice(idx)"> <select name="" id="" class="form-control" style="width:63px" x-model="elevator.speed" @change="getElevatorPrice(idx)">
@ -986,6 +528,7 @@ function convertDateTimeFormat($dateTimeStr) {
<option value="120">120</option> <option value="120">120</option>
<option value="150">150</option> <option value="150">150</option>
</select> </select>
<span x-show="!elevator.speed" min="1" class="errortext" x-cloak data-type="errortext">請選擇速度</span>
</td> </td>
<td> <td>
<select name="" id="" class="form-control" style="width:63px" x-model="elevator.open_converted" @change="getElevatorPrice(idx)"> <select name="" id="" class="form-control" style="width:63px" x-model="elevator.open_converted" @change="getElevatorPrice(idx)">
@ -995,20 +538,26 @@ function convertDateTimeFormat($dateTimeStr) {
<option value="4PCO">4PCO</option> <option value="4PCO">4PCO</option>
<option value="6PCO">6PCO</option> <option value="6PCO">6PCO</option>
</select> </select>
<span x-show="!elevator.open_converted" min="1" class="errortext" x-cloak data-type="errortext">請選擇開門方式</span>
</td> </td>
<td> <td>
<input type="text" x-show="elevator.specifications==''||elevator.person==''||elevator.stop==''||elevator.speed==''||elevator.open_converted==''" disabled class="form-control" /> <input type="text" x-show="elevator.specifications==''||elevator.person==''||elevator.stop==''||elevator.speed==''||elevator.open_converted==''" disabled class="form-control" />
<input type="text" style="width:150px" x-show="elevator.specifications!='' && elevator.person!='' && elevator.stop!='' && elevator.speed!='' && elevator.open_converted!=''" class="form-control" disabled x-model="elevator.model"> <input type="text" style="width:150px" x-show="elevator.specifications!='' && elevator.person!='' && elevator.stop!='' && elevator.speed!='' && elevator.open_converted!=''" class="form-control" disabled x-model="elevator.model">
</td> </td>
<td> <td>
<input type="text" class="form-control" disabled :value="Number(elevator.price).toLocaleString()"><span x-show="elevator.price==''" style="font-size:12px;color:red;font-weight:600">請填寫正確規格</span> <input type="text" class="form-control" disabled :value="Number(elevator.price).toLocaleString()">
<span x-show="!elevator.price" class="errortext" x-cloak data-type="errortext">請填寫正確規格</span>
</td>
<td>
<input type="number" class="form-control " value="1" style="width:40px;padding-left:5px" x-model="elevator.spec_num">
<span x-show="!elevator || elevator.spec_num < 0 || !Number.isInteger(Number(elevator.spec_num))" class="errortext" x-cloak data-type="errortext">請輸入正整數</span>
</td> </td>
<td><input type="number" class="form-control " value="1" style="width:40px;padding-left:5px" x-model="elevator.spec_num"></td>
<td> <td>
<input type="text" class="form-control " disabled x-model="(elevator.price * elevator.spec_num).toLocaleString()"> <input type="text" class="form-control " disabled x-model="(elevator.price * elevator.spec_num).toLocaleString()">
</td> </td>
<td> <td>
<input type="number" class="form-control " x-model="(elevator.spec_price)"> <input type="number" class="form-control " x-model="(elevator.spec_price)">
<span x-show="!elevator.spec_price || elevator.spec_price < 1" class="errortext" x-cloak data-type="errortext">售價需大於0</span>
</td> </td>
<td class="saletd"> <td class="saletd">
<input type="text" class="form-control " disabled x-model="(elevator.spec_price * elevator.spec_num).toLocaleString()"> <input type="text" class="form-control " disabled x-model="(elevator.spec_price * elevator.spec_num).toLocaleString()">
@ -1053,13 +602,17 @@ function convertDateTimeFormat($dateTimeStr) {
<td x-text="option.id"></td> <td x-text="option.id"></td>
<td x-text="option.name"></td> <td x-text="option.name"></td>
<td><input type="text" class="form-control" :value="option.price.toLocaleString()" disabled></td> <td><input type="text" class="form-control" :value="option.price.toLocaleString()" disabled></td>
<td><input type="number" class="form-control" x-model="option.qty" style="width:80px"></td> <td>
<input type="number" class="form-control" x-model="option.qty" style="width:80px">
<span x-show="!option.qty|| option.qty <= 0 || !Number.isInteger(Number(option.qty))" class="errortext" x-cloak data-type="errortext">請輸入正整數</span>
</td>
<td><input type="text" class="form-control" disabled :value="Number(option.qty * option.price).toLocaleString()"></td> <td><input type="text" class="form-control" disabled :value="Number(option.qty * option.price).toLocaleString()"></td>
<td><textarea class="form-control" x-text="option.memo" cols="30" rows="auto" disabled></textarea></td> <td><textarea class="form-control" x-text="option.memo" cols="30" rows="auto" disabled></textarea></td>
<td> <td>
<template x-for="el in option.toElevator"> <template x-for="el in option.toElevator">
<p x-html="'<b>' + el.id + '</b>、' + el.model"></p> <p x-html="'<b>' + el.id + '</b>、' + el.model"></p>
</template> </template>
<span x-show="option.toElevator.length <=0" class="errortext" x-cloak data-type="errortext">尚未選擇電梯</span>
</td> </td>
<td> <td>
<div class="d-flex"> <div class="d-flex">
@ -1099,14 +652,21 @@ function convertDateTimeFormat($dateTimeStr) {
<template x-for="option in otherOptions"> <template x-for="option in otherOptions">
<tr> <tr>
<td><input type="text" class="form-control" x-model="option.pr_no"></td> <td><input type="text" class="form-control" x-model="option.pr_no"></td>
<td><input type="text" class="form-control" x-model="option.name"></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="text" class="form-control" x-model="option.price"></td>
<td><input type="number" class="form-control" x-model="option.num"></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><input type="text" class="form-control" x-model="(option.price * option.num).toLocaleString()" disabled></td>
<td> <td>
<template x-for="el in option.toElevator"> <template x-for="el in option.toElevator">
<p x-html="'<b>' + el.id + '</b>、' + el.model"></p> <p x-html="'<b>' + el.id + '</b>、' + el.model"></p>
</template> </template>
<span x-show="option.toElevator.length <=0" class="errortext" x-cloak data-type="errortext">尚未選擇電梯</span>
</td> </td>
<td> <td>
<div class="d-flex"> <div class="d-flex">
@ -1146,13 +706,17 @@ function convertDateTimeFormat($dateTimeStr) {
<template x-for="option in maintainOptions"> <template x-for="option in maintainOptions">
<tr> <tr>
<td><input type="number" class="form-control" x-model="option.price"></td> <td><input type="number" class="form-control" x-model="option.price"></td>
<td><input type="number" class="form-control " x-model="option.num" ></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><input type="text" class="form-control " x-model="(option.price * option.num).toLocaleString()" disabled ></td>
<td><input type="text" class="form-control" x-model="option.memo"></td> <td><input type="text" class="form-control" x-model="option.memo"></td>
<td> <td>
<template x-for="el in option.toElevator"> <template x-for="el in option.toElevator">
<p x-html="'<b>' + el.id + '</b>、' + el.model"></p> <p x-html="'<b>' + el.id + '</b>、' + el.model"></p>
</template> </template>
<span x-show="option.toElevator.length <=0" class="errortext" x-cloak data-type="errortext">尚未選擇電梯</span>
</td> </td>
<td> <td>
<div class="d-flex"> <div class="d-flex">
@ -1209,12 +773,16 @@ function convertDateTimeFormat($dateTimeStr) {
</select> </select>
</td> </td>
<td><input type="text" disabled class="form-control" x-model="Number(option.price).toLocaleString()"></td> <td><input type="text" disabled class="form-control" x-model="Number(option.price).toLocaleString()"></td>
<td><input type="number" class="form-control" x-model="option.qty"></td> <td>
<input type="number" class="form-control" x-model="option.qty">
<span x-show="!option.qty || option.qty <= 0 || !Number.isInteger(Number(option.qty))" class="errortext" x-cloak data-type="errortext">請輸入正整數</span>
</td>
<td><input type="text" disabled class="form-control" x-model="(option.price * option.qty).toLocaleString()"></td> <td><input type="text" disabled class="form-control" x-model="(option.price * option.qty).toLocaleString()"></td>
<td> <td>
<template x-for="el in option.toElevator"> <template x-for="el in option.toElevator">
<p x-html="'<b>' + el.id + '</b>、' + el.model"></p> <p x-html="'<b>' + el.id + '</b>、' + el.model"></p>
</template> </template>
<span x-show="option.toElevator.length <=0" class="errortext" x-cloak data-type="errortext">尚未選擇電梯</span>
</td> </td>
<td> <td>
<div class="d-flex"> <div class="d-flex">
@ -1369,7 +937,10 @@ function convertDateTimeFormat($dateTimeStr) {
</tr> </tr>
<tr> <tr>
<td colspan=2>合計</td> <td colspan=2>合計</td>
<td colspan=1 ><input type="text" class="form-control" disabled x-model="totalScale()" ></td> <td colspan=1 >
<input type="text" class="form-control" disabled x-model="totalScale()" >
<span x-show="totalScale() != 100" class="errortext" x-cloak data-type="errortext">總比例需為100%</span>
</td>
<td colspan=1 ><input type="text" class="form-control" disabled x-model="totalSalePrice().toLocaleString()" ></td> <td colspan=1 ><input type="text" class="form-control" disabled x-model="totalSalePrice().toLocaleString()" ></td>
<td colspan=3 ></td> <td colspan=3 ></td>
</tr> </tr>
@ -1397,7 +968,10 @@ function convertDateTimeFormat($dateTimeStr) {
<td><input type="text" class="form-control" x-model="totalPrice().toLocaleString()" disabled style="width:180px" /></td> <td><input type="text" class="form-control" x-model="totalPrice().toLocaleString()" disabled style="width:180px" /></td>
<td><input type="text" class="form-control" x-model="totalSalePrice().toLocaleString()" disabled style="width:180px" /></td> <td><input type="text" class="form-control" x-model="totalSalePrice().toLocaleString()" disabled style="width:180px" /></td>
<td><input type="text" class="form-control" x-model="(totalSalePrice() - totalPrice()).toLocaleString()" disabled style="width:180px" /></td> <td><input type="text" class="form-control" x-model="(totalSalePrice() - totalPrice()).toLocaleString()" disabled style="width:180px" /></td>
<td><input type="text" class="form-control" x-model="Math.round(totalSalePrice() / totalPrice() * 100 * 10) /10" disabled /></td> <td>
<input type="text" class="form-control" x-show="totalPrice()!=0" x-model="Math.round(totalSalePrice() / totalPrice() * 100 * 10) /10" disabled />
<input type="text" class="form-control" x-show="totalPrice()==0" value="0" disabled />
</td>
<td><input type="text" class="form-control" x-model="totalElevatorsNum()" disabled /></td> <td><input type="text" class="form-control" x-model="totalElevatorsNum()" disabled /></td>
<td><input type="text" class="form-control" x-model="serviceFee" style="width:150px" /></td> <td><input type="text" class="form-control" x-model="serviceFee" style="width:150px" /></td>
</tr> </tr>
@ -1410,8 +984,14 @@ function convertDateTimeFormat($dateTimeStr) {
<th></th> <th></th>
</tr> </tr>
<tr> <tr>
<td><input type="date" class="form-control" x-model="transactionDate" /></td> <td>
<td><input type="date" class="form-control" x-model="shippingDate" /></td> <input type="date" class="form-control" x-model="transactionDate" />
<span x-show="!transactionDate || transactionDate=='0000-00-00'" class="errortext" x-cloak data-type="errortext">請輸入預定成交日</span>
</td>
<td>
<input type="date" class="form-control" x-model="shippingDate" />
<span x-show="!shippingDate || shippingDate=='0000-00-00'" class="errortext" x-cloak data-type="errortext">請輸入預定出貨日</span>
</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
@ -1472,7 +1052,7 @@ function convertDateTimeFormat($dateTimeStr) {
</div> </div>
<!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script> --> <!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script> -->
<script> <script defer>
const body = document.querySelector('body'); const body = document.querySelector('body');
const options = [...<?php echo json_encode($options); ?>]; const options = [...<?php echo json_encode($options); ?>];
const elevators = [...<?php echo json_encode($hope_elevators); ?>]; const elevators = [...<?php echo json_encode($hope_elevators); ?>];

47
wms/mkt/window-modal/demolishOptionModal.php

@ -0,0 +1,47 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.demolish" x-ref="createDemolishModal" id="createDemolishModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增拆梯價格</h4>
<button class="btn btn-close" @click="hideCreateDemolishModal()">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>
<select class="form-control" x-model="modalDemolishOptionsInfo.person" @change="getModalDemolishPrice()">
<option value="">請選擇</option>
<option value="15人(含)以下">15人(含)以下/1000KGS</option>
<option value="16~24人">16~24人/1001~1600KGS</option>
<option value="25~30人">25~30人/1601~2500KGS</option>
</select>
</td>
<td>
<select class="form-control" x-model="modalDemolishOptionsInfo.floor" @change="getModalDemolishPrice()">
<option value="">請選擇</option>
<?php for($i=4;$i<=40;$i++): ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php endfor; ?>
</select>
</td>
<td><input type="text" disabled class="form-control" x-model="Number(modalDemolishOptionsInfo.price).toLocaleString()"></td>
<td><input type="number" class="form-control" x-model="modalDemolishOptionsInfo.qty"></td>
<td><input type="text" disabled class="form-control" x-model="(modalDemolishOptionsInfo.price * modalDemolishOptionsInfo.qty).toLocaleString()"></td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateDemolishModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createDemolishOptionFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateDemolishModal()"></div>
</div>

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

@ -0,0 +1,36 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.demolishToElevator" x-ref="toDemolishOptionElevatorModal" id="toDemolishOptionElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToDemolishOptionElevatorModal()">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">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
<td><input type="radio" name="demolishOptionToElevator" :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="hideToDemolishOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkDemolishOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToDemolishOptionElevatorModal()"></div>
</div>

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

@ -0,0 +1,124 @@
<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 name="" id="" class="form-control" x-model="modalElevatorInfo.spec" @change="getModalElevatorPrice()">
<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>
<?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>
<select name="" id="" class="form-control" x-model="modalElevatorInfo.person" @change="getModalElevatorPrice()">
<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" style="width:93px" x-model="modalElevatorInfo.weight" @keyup="getModalElevatorPrice()" @change="getModalElevatorPrice()">
</td>
<td>
<input type="number" class="form-control" style="width:93px" x-model="modalElevatorInfo.stop" @keyup="getModalElevatorPrice()" @change="getModalElevatorPrice()" />
</td>
</tr>
<tr class="table-active">
<th>開門方式</th>
<th>速度</th>
<th>規格</th>
<th>數量</th>
</tr>
<tr>
<td>
<select name="" id="" class="form-control" style="width:93px" x-model="modalElevatorInfo.open" @change="getModalElevatorPrice()">
<option value="CO">CO</option>
<option value="2S">2S</option>
<option value="2U">CO</option>
<option value="4PCO">4PCO</option>
<option value="6PCO">6PCO</option>
</select>
</td>
<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" x-show="!modalElevatorInfo.price || modalElevatorInfo.price ==''" class="form-control" disabled />
<input type="text" x-show="modalElevatorInfo.price > 0" class="form-control" disabled x-model="modalElevatorInfo.model">
</td>
<td>
<input type="number" class="form-control" style="width:93px" x-model="modalElevatorInfo.num" >
</td>
</tr>
<tr class="table-active">
<th>公司發布價(單價)</th>
<th>公司發布價(複價)</th>
<th>自定售價(台)</th>
<th>自定售價(總價)</th>
</tr>
<tr>
<td>
<input type="text" disabled class="form-control" x-model="(modalElevatorInfo.price).toLocaleString()">
</td>
<td>
<input type="text" disabled class="form-control" x-model="(modalElevatorInfo.price * modalElevatorInfo.num).toLocaleString()">
</td>
<td>
<input type="number" class="form-control" x-model="modalElevatorInfo.sale_price">
</td>
<td>
<input type="text" disabled class="form-control" x-model="(modalElevatorInfo.sale_price * modalElevatorInfo.num).toLocaleString()">
</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>

31
wms/mkt/window-modal/maintainOptionModal.php

@ -0,0 +1,31 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.maintain" x-ref="createMaintainModal" id="createMaintainModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>新增保固延長</h4>
<button class="btn btn-close" @click="hideCreateMaintainModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table">
<tr class="table-active">
<th>單價</th>
<th>數量(月)</th>
<th>總價</th>
<th>備註</th>
</tr>
<tr>
<td><input type="number" class="form-control" x-model="modalMaintainInfo.price"></td>
<td><input type="number" class="form-control" x-model="modalMaintainInfo.num"></td>
<td><input type="text" disabled class="form-control" x-model="(modalMaintainInfo.price * modalMaintainInfo.num).toLocaleString()"></td>
<td><input type="text" class="form-control" x-model="modalMaintainInfo.memo"></td>
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="hideCreateMaintainModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="createMaintainOptionFn()">新增</button>
</div>
</div>
<div class="window-back" @click="hideCreateMaintainModal()"></div>
</div>

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

@ -0,0 +1,36 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.maintainToElevator" x-ref="toMaintainOptionElevatorModal" id="toMaintainOptionElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToMaintainOptionElevatorModal()">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">
<tr>
<td x-text="elevator.id"></td>
<td x-text="elevator.model"></td>
<td><input type="radio" name="maintainOptionToElevator" :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="hideToMaintainOptionElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkMaintainOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToMaintainOptionElevatorModal()"></div>
</div>

59
wms/mkt/window-modal/optionModal.php

@ -0,0 +1,59 @@
<div class="window-modal " x-cloak data-type="window-modal" x-show="modalShow.option" x-ref="optionsModal" id="optionModal">
<div class="window-modal-content modal-xl">
<div class="window-modal-header">
<h4>OPTION加價</h4>
<button class="btn btn-close" @click="hideOptionsModal()">X</button>
<div class="mt-3">
<input type="text" class="form-control" x-model="searchtext" @keyup="searchOptions()" placeholder="搜尋..." />
</div>
<div class="categories mt-3">
<button :class="['btn', 'mt-2', (kind==1) ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions(1)">顯示全部</button>
<button :class="['btn', 'mt-2', (kind=='A') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('A', 1)">A-1 車廂意匠</button>
<button :class="['btn', 'mt-2', (kind=='B') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('B', 1)">A-2 車廂內裝</button>
<button :class="['btn', 'mt-2', (kind=='C') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('C', 1)">A-3 車廂外部</button>
<button :class="['btn', 'mt-2', (kind=='D') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('D', 1)">A-4 控制與其他</button>
<button :class="['btn', 'mt-2', (kind=='E') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('E', 1)">B-1 平台梯</button>
<button :class="['btn', 'mt-2', (kind=='F') ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions('F', 1)">C-1 汰改</button>
<br /><br />
<template x-for="button in buttons">
<button style="margin-right:3px" :class="['btn', (button.type == subkind) ? 'btn-primary' : 'btn-secondary text-light']" @click="searchOptions(null, button.type)" x-text="button.name"></button>
</template>
</div>
</div>
<div class="window-modal-body">
<div>
<table class="table " border=1>
<thead>
<tr>
<th>ID</th>
<th>名稱</th>
<th>規格</th>
<th>備註</th>
<th>配置</th>
<th>單位</th>
<th>定價</th>
</tr>
</thead>
<tbody>
<template x-for="(option, idx) in options" :key="option.id">
<tr style="cursor:pointer;" :class="option.selected == 1 ? ' selected' : ''" x-show="option.isShow == 1" @click="selectOption(idx, option.id, option.group_name, option.price, option.memo)">
<td x-text='option.id' name="optionID" class="bg-transparent"></td>
<td x-text="option.group_name" class="bg-transparent"> </td>
<td x-text="option.spec" class="bg-transparent"></td>
<td x-text="option.memo" class="bg-transparent"></td>
<td x-text="optionalArr[option.optional]" class="bg-transparent"></td>
<td x-text="option.unit" class="bg-transparent"></td>
<td x-text="option.price" class="bg-transparent"></td>
</tr>
</template>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="hideOptionsModal()">關閉</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" @click="chkOptions()">確認</button>
</div>
</div>
<div class="window-back" @click="hideOptionsModal()"></div>
</div>

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

@ -0,0 +1,36 @@
<div class="window-modal" x-cloak data-type="window-modal" x-show="modalShow.optionToElevator" x-ref="toElevatorModal" id="toElevatorModal">
<div class="window-modal-content modal-m">
<div class="window-modal-header">
<h4>配對電梯</h4>
<button class="btn btn-close" @click="hideToElevatorModal()">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">
<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>
</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="hideToElevatorModal()">關閉</button>
<button type="button" class="btn btn-primary" @click="chkOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToElevatorModal()"></div>
</div>

33
wms/mkt/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/mkt/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">
<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" class="btn btn-primary" @click="chkOtherOptionToElevators()">確認</button>
</div>
</div>
<div class="window-back" @click="hideToOtherOptionElevatorModal()"></div>
</div>
Loading…
Cancel
Save