Browse Source

合約入力修改1109

gary
10994015 1 year ago
parent
commit
0e2ccacc04
  1. 10
      wms/contract/api/getComboNo.php
  2. 4
      wms/contract/api/getContractData.php
  3. 2
      wms/contract/api/postContractData.php
  4. 202
      wms/contract/contract-input.php
  5. BIN
      wms/contract/images/contracts/c202311090947427180t71804OlaIEQjXAZDasK9Pd1Jxb.jpg
  6. BIN
      wms/contract/images/contracts/c202311090954176835l68354OlaIEQjXAZDasK9Pd1Jxb.jpg
  7. BIN
      wms/contract/images/contracts/c202311090954583134s31344OlaIEQjXAZDasK9Pd1Jxb.jpg
  8. BIN
      wms/contract/images/contracts/c202311091004414235g42354OlaIEQjXAZDasK9Pd1Jxb.jpg

10
wms/contract/api/getComboNo.php

@ -34,12 +34,18 @@ class CreateComboNo{
$interval = date_diff($startdate, $enddate);
$months = $interval->y * 12 + $interval->m +1;
$months = $interval->y * 12 + $interval->m;
$months = $this->combo === 'bw' ? $months*2 : $months;
$newarr = [];
$idx = 0;
$scheduleDate = $startdate;
$ori_first_month = date('m', strtotime($this->startdate));
$first_day = date('Y-m-d', strtotime($this->startdate. ' + 3 days'));
$new_first_month = date('m', strtotime($first_day));
if($ori_first_month != $new_first_month){
$first_day = date('Y-m-t', strtotime($this->startdate));
}
$scheduleDate = new DateTime($first_day);
for ($i = 0; $i < $months; $i++){
$newarr[] = [$this->comboarr[$comboarr[$idx]], $scheduleDate->format("Y-m-d")];
$idx ++;

4
wms/contract/api/getContractData.php

@ -3,9 +3,9 @@ require_once('../conn.php');
if(isset($_GET['contractno']) && $_GET['contractno']!=''){
try{
$contractno = $_GET['contractno'];
$sql_str = "SELECT * FROM con_maintance_examine_apply
$sql_str = "SELECT COUNT(con_maintance_examine_clear.apply_key) as count,con_maintance_examine_apply.*, con_maintance_examine_clear.* FROM con_maintance_examine_apply
LEFT JOIN con_maintance_examine_clear on con_maintance_examine_apply.apply_key=con_maintance_examine_clear.apply_key
WHERE con_maintance_examine_apply.vol_no = :vol_no";
WHERE con_maintance_examine_apply.vol_no = :vol_no GROUP BY con_maintance_examine_apply.apply_key;";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':vol_no', $contractno);
$stmt->execute();

2
wms/contract/api/postContractData.php

@ -202,6 +202,7 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "") {
}
//create schedule table
$comboNo = new CreateComboNo($mcycle, $contract_begin_date, $contract_end_date);
$comboArr = json_decode($comboNo->getComboNo(), true);
foreach($facilityno as $no){
@ -219,7 +220,6 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "") {
$result = $stmt -> execute();
}
}
// create contract_b_signed_back table
$contract_type = $mtype;
$company = $customer;

202
wms/contract/contract-input.php

@ -24,12 +24,11 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.5.0/axios.min.js" integrity="sha512-aoTNnqZcT8B4AmeCFmiSnDlc4Nj/KPaZyB5G7JnOnUEkdNpCZs1LCankiYi01sLTyWy+m2P+W4XM+BuQ3Q4/Dg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<div class="contract-input-component" x-data="{
async init(){
$('select.dropdown')
.dropdown();
await axios.get('./twzip.json').then(res=>{
init(){
$('.contract-input-component .form .dropdown').dropdown();
axios.get('./twzip.json').then(res=>{
this.cities = res.data.cities
console.log(this.cities);
})
},
cities:[],
@ -55,7 +54,8 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
partyAphone:'', //業務聯繫人電話
partyAemail:'', //業務聯繫人email
files:[], //附件檔案
spec:'', //規格
spec:'', //機種
brand:'', //廠牌
weight: '', //載重
numberofpassenger: '', //人乘
numberofstop:'', //樓停
@ -73,52 +73,28 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
isLoading:false,
fail_arr:[],
nextStepFn(){
if(this.data.contractno == '') return alert('請輸入合約號');
this.isLoading = true
axios.get('./api/getContractData.php?contractno=' + this.data.contractno).then(res=>{
console.log(res)
if(!this.customize){
this.data.total_price = res.data.sold_price
this.data.salesman = res.data.salesman
this.data.contract_begin_date = res.data.contract_begin_date
this.data.contract_end_date = res.data.contract_end_date
this.data.address = res.data.address
this.data.customer = res.data.customer
this.data.partyA = res.data.customer
this.data.partyAaddress = res.data.address
this.data.spec = res.data.spec
this.data.weight = res.data.weight
this.data.numberofpassenger = res.data.persons
this.data.numberofstop = res.data.stop
this.data.numberoffloor = res.data.floors
this.data.speed = res.data.speed
this.data.takecertificatedate = res.data.contract_begin_date
let cityIndex = this.data.address.indexOf('市');
if (cityIndex > 1) {
// 獲取''市''前面的兩個字
let city = this.data.address.substring(cityIndex - 2, cityIndex + 1);
this.data.area = city;
console.log(this.data.area);
} else {
this.data.area = ''
console.log('沒有找到或者格式不正確');
}
}
this.step = 2
this.isLoading = false
}).catch(err=>{
console.error(err)
this.isLoading = false
})
if(this.step==1){
if(this.data.contractno == '') return alert('請輸入合約號');
this.isLoading = true
this.getContractDate();
}else if(this.step == 2){
this.step = 3
}
},
nextStepKeyupFn(e){
if(e.keyCode !== 13) return
if(this.contractno == '') return alert('請輸入合約號');
this.isLoading = true
if(this.step==1){
if(this.data.contractno == '') return alert('請輸入合約號');
this.isLoading = true
this.getContractDate();
}else if(this.step == 2){
this.step = 3
}
},
getContractDate(){
axios.get('./api/getContractData.php?contractno=' + this.data.contractno).then(res=>{
console.log(res)
if(!this.customize){
console.log(res.data);
this.data.total_price = res.data.sold_price
this.data.salesman = res.data.salesman
this.data.contract_begin_date = res.data.contract_begin_date
@ -139,10 +115,8 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
// 獲取''市''前面的兩個字
let city = this.data.address.substring(cityIndex - 2, cityIndex + 1);
this.data.area = city;
console.log(this.data.area);
} else {
this.data.area = ''
console.log('沒有找到或者格式不正確');
}
}
this.step = 2
@ -153,22 +127,30 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
})
},
preStepFn(){
this.data.total_price = ''
this.data.salesman = ''
this.data.contract_begin_date = ''
this.data.contract_end_date = ''
this.data.address = ''
this.data.customer = ''
this.data.partyA = ''
this.data.partyAaddress = ''
this.data.spec = ''
this.data.weight = ''
this.data.numberofpassenger = ''
this.data.numberofstop = ''
this.data.numberoffloor = ''
this.data.speed = ''
this.data.takecertificatedate = ''
this.step = 1
if(this.step==2){
if(confirm('回到上一頁會將本頁資料清空,確定返回嗎?')){
this.step = 1
this.data.total_price = ''
this.data.salesman = ''
this.data.contract_begin_date = ''
this.data.contract_end_date = ''
this.data.address = ''
this.data.customer = ''
this.data.partyA = ''
this.data.partyAaddress = ''
this.data.spec = ''
this.data.weight = ''
this.data.numberofpassenger = ''
this.data.numberofstop = ''
this.data.numberoffloor = ''
this.data.speed = ''
this.data.takecertificatedate = ''
this.step = 1
return;
}
}else if(this.step == 3){
this.step = 2
}
},
save(){
this.isLoading = true
@ -233,7 +215,7 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
},
uploadFiles(e){
this.data.files = e.target.files
}
},
}">
<div class="form" method="post" id="form" enctype="multipart/form-data" >
<input type="hidden" name='form_name' value="main_form" />
@ -282,7 +264,7 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
</td>
<td style="vertical-align: middle">營業員</td>
<td>
<select class="ui search dropdown" name="promiser" x-model="data.salesman">
<select class="ui fluid search dropdown" name="promiser" x-model="data.salesman">
<option value="">選擇營業員</option>
<?php foreach($contractpersons as $person){ ?>
<option value="<?php echo $person['accountid'] ?>"><?php echo $person['name'] ?></option>
@ -302,10 +284,10 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
</td>
</tr>
<tr>
<td style="vertical-align: middle">合約總價</td>
<td style="vertical-align: middle">電梯台數</td>
<td>
<input class="form-control " type="number" name="total_pirce" x-model="data.total_price" >
<p class="alerttext" x-show="data.total_price==''">未填寫</p>
<input class="form-control disabled_select" type="number" x-model="data.num">
<p class="alerttext" x-show="data.num==''">未填寫</p>
</td>
<td style="vertical-align: middle">統一編號/身分證</td>
@ -393,6 +375,28 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
<p class="alerttext" x-show="data.partyAemail==''">未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">廠牌</td>
<td>
<input type="text" x-model="data.brand" class="form-control" />
<p class="alerttext" x-show="data.brand==''">未填寫</p>
</td>
<td style="vertical-align: middle">區域</td>
<td>
<select class="ui search dropdown" x-model="data.area">
<option value="">選擇區域</option>
<template x-for="city in cities" :key="city.code">
<option x-bind:selected="city.name === data.area" x-text="city.name" :value="city.name"></option>
</template>
</select>
<p class="alerttext" x-show="data.area==''">未填寫</p>
</td>
<td style="vertical-align: middle">詳細地址</td>
<td colspan="3">
<input type="text" x-model="data.address" />
<p class="alerttext" x-show="data.address==''">未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">保養別</td>
<td>
@ -414,16 +418,21 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
<input class="form-control disabled_select" type="date" x-model="data.licensedate">
<p class="alerttext" x-show="data.licensedate==''">未填寫</p>
</td>
<td style="vertical-align: middle">電梯數量</td>
<td>
<input class="form-control " type="number" x-model="data.num">
<p class="alerttext" x-show="data.num==''">未填寫</p>
<td style="vertical-align: middle">附件</td>
<td >
<input type="file" name="file[]" multiple draggable="true" @change="uploadFiles($event)" />
<p class="alerttext" x-show="data.files==''">未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">規格</td>
</tr>
</tbody>
</template>
<template x-if="step==3">
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==3">
<tr>
<td style="vertical-align: middle">機種</td>
<td>
<select class="ui search dropdown" name="spec" x-model="data.spec">
<option value="">選擇規格</option>
@ -456,7 +465,7 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
<tr>
<td style="vertical-align: middle">樓停</td>
<td>
<input type="text" x-model="data.numberofstop" />
<input type="number" class="form-control" x-model="data.numberofstop" />
<p class="alerttext" x-show="data.numberofstop==''">未填寫</p>
</td>
<td style="vertical-align: middle">樓層</td>
@ -476,44 +485,22 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
<p class="alerttext" x-show="data.longitude==''">未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">區域</td>
<td>
<select class="ui search dropdown" x-model="data.area">
<option value="">選擇區域</option>
<template x-for="city in cities" :key="city.code">
<option x-bind:selected="city.name === data.area" x-text="city.name" :value="city.name"></option>
</template>
</select>
<p class="alerttext" x-show="data.area==''">未填寫</p>
</td>
<td style="vertical-align: middle">詳細地址</td>
<td colspan="3">
<input type="text" x-model="data.address" />
<p class="alerttext" x-show="data.address==''">未填寫</p>
</td>
<td style="vertical-align: middle">附件</td>
<td>
<input type="file" name="file[]" multiple draggable="true" @change="uploadFiles($event)" />
<p class="alerttext" x-show="data.files==''">未填寫</p>
</td>
</tr>
</tbody>
</tbody>
</template>
</table>
<button x-show="step==1" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading">
<button x-show="step==3" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn">
<template x-if="!isLoading">
<span>下一步</span>
<span>存檔</span>
</template>
<template x-if="isLoading">
<div class="loader"></div>
</template>
</button>
<button x-show="step==2" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn">
<button x-show="step<=2" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading">
<template x-if="!isLoading">
<span>存檔</span>
<span>下一步</span>
</template>
<template x-if="isLoading">
<div class="loader"></div>
@ -536,3 +523,6 @@ $facilityno = $createFacilityNo->makeTFacilityNo("T", 'X', 5);
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
<script src="semantic/dist/semantic.min.js" ></script>
<script>
</script>

BIN
wms/contract/images/contracts/c202311090947427180t71804OlaIEQjXAZDasK9Pd1Jxb.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
wms/contract/images/contracts/c202311090954176835l68354OlaIEQjXAZDasK9Pd1Jxb.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
wms/contract/images/contracts/c202311090954583134s31344OlaIEQjXAZDasK9Pd1Jxb.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
wms/contract/images/contracts/c202311091004414235g42354OlaIEQjXAZDasK9Pd1Jxb.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Loading…
Cancel
Save