52 changed files with 115393 additions and 8904 deletions
File diff suppressed because it is too large
@ -1,58 +1,60 @@ |
|||||
<?php |
|
||||
require_once "database.php"; |
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") { |
<?php |
||||
|
require_once "database.php"; |
||||
foreach ($_POST as $k => $v) { |
if ($_SERVER["REQUEST_METHOD"] == "POST") { |
||||
$$k = htmlspecialchars(stripslashes(trim($v))); |
|
||||
} |
foreach ($_POST as $k => $v) { |
||||
|
$$k = htmlspecialchars(stripslashes(trim($v))); |
||||
$maintance_contract_id=$_POST['maintance_contract_id']; |
} |
||||
$sitename=$_POST['sitename']; |
|
||||
$contractor=$_POST['contractor']; |
$maintance_contract_id = $_POST['maintance_contract_id']; |
||||
$contractsnum=$_POST['contractsnum']; |
$sitename = $_POST['sitename']; |
||||
$siteaddress=$_POST['siteaddress']; |
$contractor = $_POST['contractor']; |
||||
$startdate=$_POST['startdate']; |
$contractsnum = $_POST['contractsnum']; |
||||
$enddate=$_POST['enddate']; |
$siteaddress = $_POST['siteaddress']; |
||||
$contractsigningperiod=$startdate.'_'.$enddate; |
$startdate = $_POST['startdate']; |
||||
$pricereviewer=$_POST['pricereviewer']; |
$enddate = $_POST['enddate']; |
||||
$contracttype=$_POST['contracttype']; |
$contractsigningperiod = $startdate . '_' . $enddate; |
||||
$Maintenanceoperationcategory=$_POST['Maintenanceoperationcategory']; |
$pricereviewer = $_POST['pricereviewer']; |
||||
$contractsigningnature=$_POST['contractsigningnature']; |
$contracttype = $_POST['contracttype']; |
||||
$contractsignname=$_POST['contractsignname']; |
$Maintenanceoperationcategory = $_POST['Maintenanceoperationcategory']; |
||||
|
$contractsigningnature = $_POST['contractsigningnature']; |
||||
$servicefee=$_POST['servicefee']; |
$contractsignname = $_POST['contractsignname']; |
||||
$managebili=$_POST['managebili']; |
|
||||
|
$servicefee = $_POST['servicefee']; |
||||
$creater = $_POST['creater']; |
$managebili = $_POST['managebili']; |
||||
$create_at = date('Y/m/d H:i:s'); |
|
||||
$updatee_at=date('Y/m/d H:i:s'); |
$creater = $_POST['creater']; |
||||
|
$create_at = date('Y/m/d H:i:s'); |
||||
$db_query = "insert into maintance_contract_info(maintance_contract_id,sitename,contractor,contractsnum,siteaddress"; |
$updatee_at = date('Y/m/d H:i:s'); |
||||
$db_query .= ",contractsigningperiod,pricereviewer,contracttype,Maintenanceoperationcategory,contractsigningnature,contractsignname"; |
|
||||
$db_query .= ",creater,create_at,updatee_at,servicefee,managebili) values ("; |
$db_query = "insert into maintance_contract_info(maintance_contract_id,sitename,contractor,contractsnum,siteaddress"; |
||||
$db_query .= "'$maintance_contract_id', '$sitename', '$contractor', '$contractsnum', '$siteaddress', '$contractsigningperiod',"; |
$db_query .= ",contractsigningperiod,pricereviewer,contracttype,Maintenanceoperationcategory,contractsigningnature,contractsignname"; |
||||
$db_query .= "'$pricereviewer', '$contracttype', '$Maintenanceoperationcategory', '$contractsigningnature','$contractsignname',"; |
$db_query .= ",creater,create_at,updatee_at,servicefee,managebili) values ("; |
||||
$db_query .= "'$creater', '$create_at', '$updatee_at','$servicefee','$managebili')"; |
$db_query .= "'$maintance_contract_id', '$sitename', '$contractor', '$contractsnum', '$siteaddress', '$contractsigningperiod',"; |
||||
|
$db_query .= "'$pricereviewer', '$contracttype', '$Maintenanceoperationcategory', '$contractsigningnature','$contractsignname',"; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$creater', '$create_at', '$updatee_at','$servicefee','$managebili')"; |
||||
if ($mid = mysqli_insert_id($link)) { |
|
||||
header("Location: pricereview-index.php?account=".$_POST['account']); |
$result = mysqli_query($link, $db_query); |
||||
if (mysqli_affected_rows($link) > 0) { |
if ($mid = mysqli_insert_id($link)) { |
||||
echo "<script type ='text/JavaScript'>"; |
header("Location: pricereview-index.php?account=" . $_POST['account']); |
||||
echo "alert('新增成功')"; |
if (mysqli_affected_rows($link) > 0) { |
||||
echo "</script>"; |
echo "<script type ='text/JavaScript'>"; |
||||
//header("Location: pricereview-index.php"); |
echo "alert('新增成功')"; |
||||
} else { |
echo "</script>"; |
||||
echo "<script type ='text/JavaScript'>"; |
//header("Location: pricereview-index.php"); |
||||
echo "alert('新增失敗,請重新操作[I]')"; |
} else { |
||||
echo "</script>"; |
echo "<script type ='text/JavaScript'>"; |
||||
} |
echo "alert('新增失敗,請重新操作[I]')"; |
||||
} else { |
echo "</script>"; |
||||
echo "<script type ='text/JavaScript'>"; |
} |
||||
echo "alert('新增失敗,請重新操作[M]')"; |
} else { |
||||
echo "</script>"; |
echo "<script type ='text/JavaScript'>"; |
||||
} |
echo "alert('新增失敗,請重新操作[M]')"; |
||||
|
echo "</script>"; |
||||
mysqli_close($link); |
} |
||||
} |
|
||||
|
mysqli_close($link); |
||||
|
} |
||||
?> |
?> |
File diff suppressed because it is too large
Binary file not shown.
File diff suppressed because it is too large
Binary file not shown.
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,77 @@ |
|||||
|
<?php |
||||
|
$now = gmdate("YmdHis"); |
||||
|
$data = 'M0000.' . $now; |
||||
|
$sign = hash_hmac('SHA256', $data, 'B2D6395D2883E26C', false); |
||||
|
?> |
||||
|
|
||||
|
<script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script> |
||||
|
<script> |
||||
|
var body = [{ |
||||
|
"name": "salIncomeApplyMaster", |
||||
|
"rows": [{ |
||||
|
"BillNo": "Z001", |
||||
|
"BillDate": 20160811, |
||||
|
"OrgId": "1000", |
||||
|
"FOrgId": "1000", |
||||
|
"TypeId": "RR", |
||||
|
"BpOrgId": "1000", |
||||
|
"BizPartnerId": "C002", |
||||
|
"CurrId": "RMB", |
||||
|
"CurrOAmount": 1, |
||||
|
"CurrLAmount": 1, |
||||
|
"PersonId": "T001", |
||||
|
"DtOrgId": "1000", |
||||
|
"DueToId": "C002", |
||||
|
"TaxId": "123", |
||||
|
"CompId": "1000" |
||||
|
}] |
||||
|
}, |
||||
|
{ |
||||
|
"name": "salIncomeApplyDetail", |
||||
|
"rows": [{ |
||||
|
"BillNo": "Z001", |
||||
|
"IncomeId": "F203", |
||||
|
"TaxId": "ST003", |
||||
|
"RowCode": 1, |
||||
|
"ItemType": "1", |
||||
|
"SPrice": 50, |
||||
|
"SQuantity": 1, |
||||
|
"FromSourceTag": 0, |
||||
|
"FromBillNo": "123" |
||||
|
}] |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
var json = JSON.stringify(body); |
||||
|
console.log(json); |
||||
|
// obj = { |
||||
|
// type: 'POST', |
||||
|
// // url: `${corsurl}${apiurl}`, |
||||
|
// url: `${apiurl}`, |
||||
|
// dataType: 'json', |
||||
|
// headers: headerParam, |
||||
|
// data: json, |
||||
|
// // dataType: "json", |
||||
|
// success: function(res) { |
||||
|
// console.log(res.Status); |
||||
|
// console.log(res.ErrorMsg); |
||||
|
// console.log(res.Data); |
||||
|
// } |
||||
|
// }; |
||||
|
// jQuery.ajax(obj); |
||||
|
// // } |
||||
|
// }) |
||||
|
$.ajax({ |
||||
|
url: 'https://127.0.0.1:780/twWebAPI/V1/SALINCOMEAPPLY/PostERPData', |
||||
|
method: 'POST', |
||||
|
dataType: 'json', |
||||
|
// headers: headerParam, |
||||
|
data: body, |
||||
|
success: function(res) { |
||||
|
console.log('Success'); |
||||
|
}, |
||||
|
error: function(err) { |
||||
|
console.log(err); |
||||
|
} |
||||
|
}) |
||||
|
</script> |
@ -1,43 +1,42 @@ |
|||||
<?php |
<?php |
||||
$envFile = __DIR__ . '/.env'; // .env 文件的路径 |
$envFile = __DIR__ . '/.env'; // .env 文件的路径 |
||||
|
|
||||
if (file_exists($envFile)) { |
if (file_exists($envFile)) { |
||||
$lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); |
$lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); |
||||
if ($lines !== false) { |
if ($lines !== false) { |
||||
foreach ($lines as $line) { |
foreach ($lines as $line) { |
||||
list($key, $value) = explode('=', $line, 2); |
list($key, $value) = explode('=', $line, 2); |
||||
$key = trim($key); |
$key = trim($key); |
||||
$value = trim($value); |
$value = trim($value); |
||||
// 设置环境变量 |
// 设置环境变量 |
||||
putenv("$key=$value"); |
putenv("$key=$value"); |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
$db_hostname = getenv('DB_HOST'); //資料庫主機名稱 |
$db_hostname = getenv('DB_HOST'); //資料庫主機名稱 |
||||
$db_username = getenv('DB_USERNAME'); //登入資料庫的管理者的帳號 |
$db_username = getenv('DB_USERNAME'); //登入資料庫的管理者的帳號 |
||||
$db_password = getenv('DB_PASSWORD'); //登入密碼 |
$db_password = getenv('DB_PASSWORD'); //登入密碼 |
||||
$db_name = getenv('DB_DATABASE'); //使用的資料庫 |
$db_name = getenv('DB_DATABASE'); //使用的資料庫 |
||||
$db_charset = 'utf8'; //設定字元編碼 |
$db_charset = 'utf8'; //設定字元編碼 |
||||
|
|
||||
//建立PDO的指定工作 |
//建立PDO的指定工作 |
||||
$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset"; |
$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset"; |
||||
|
|
||||
try{ |
try { |
||||
//使用PDO連接到MySQL資料庫,建立PDO物件 |
//使用PDO連接到MySQL資料庫,建立PDO物件 |
||||
$conn = new PDO($dsn, $db_username, $db_password); |
$conn = new PDO($dsn, $db_username, $db_password); |
||||
|
|
||||
//當錯誤發生時會將錯誤資訊放到一個類物件裡(PDOException) |
//當錯誤發生時會將錯誤資訊放到一個類物件裡(PDOException) |
||||
//PDO異常處理,PDO::ATTR_ERRMODE,有以下三種值的設定 |
//PDO異常處理,PDO::ATTR_ERRMODE,有以下三種值的設定 |
||||
//PDO::ERRMODE_SILENT: 預設模式,不主動報錯,需要以$conn->errorInfo()的形式獲取錯誤資訊 |
//PDO::ERRMODE_SILENT: 預設模式,不主動報錯,需要以$conn->errorInfo()的形式獲取錯誤資訊 |
||||
//PDO::ERRMODE_WARNING: 引發 E_WARNING 錯誤,主動報錯 |
//PDO::ERRMODE_WARNING: 引發 E_WARNING 錯誤,主動報錯 |
||||
//PDO::ERRMODE_EXCEPTION: 主動抛出 exceptions 異常,需要以try{}cath(){}輸出錯誤資訊。 |
//PDO::ERRMODE_EXCEPTION: 主動抛出 exceptions 異常,需要以try{}cath(){}輸出錯誤資訊。 |
||||
//設定主動以警告的形式報錯 |
//設定主動以警告的形式報錯 |
||||
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); |
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
//如果連接錯誤,將抛出一個PDOException異常對象 |
//如果連接錯誤,將抛出一個PDOException異常對象 |
||||
} |
} catch (PDOException $e) { |
||||
catch ( PDOException $e ){ |
//如果連結資料庫失敗則顯示錯誤訊並停止本頁的工作 |
||||
//如果連結資料庫失敗則顯示錯誤訊並停止本頁的工作 |
die("ERROR!!!: " . $e->getMessage()); |
||||
die("ERROR!!!: ". $e->getMessage()); |
} |
||||
} |
|
||||
|
//$conn = null; //關閉資料庫的連線 |
||||
//$conn = null; //關閉資料庫的連線 |
|
||||
|
@ -0,0 +1,15 @@ |
|||||
|
<?php |
||||
|
require_once dirname(__FILE__) . "/../../mkt/database.php"; |
||||
|
include "/Users/LO_2342/Desktop/httpdocs/wms/fun_global.php"; |
||||
|
// phpinfo(); |
||||
|
// exit(); |
||||
|
try { |
||||
|
$connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0225", "IFFBU1E="); |
||||
|
if ($connT8) { |
||||
|
$connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
|
} |
||||
|
} catch (PDOException $e) { |
||||
|
// echo "fail"; |
||||
|
// echo $e->getMessage(); |
||||
|
die("ERROR!!!: " . $e->getMessage()); |
||||
|
} |
@ -1,351 +1,374 @@ |
|||||
<?php |
<?php |
||||
include("../header.php"); |
include("../header.php"); |
||||
require_once("./conn.php"); |
require_once("./conn.php"); |
||||
include_once("./api/getFacilityNo.php"); |
include_once("./api/getFacilityNo.php"); |
||||
$accounttype = "B"; |
$accounttype = "B"; |
||||
$sql_str = "SELECT accountid, name FROM account WHERE accounttype = :accounttype"; |
$sql_str = "SELECT accountid, name FROM account WHERE accounttype = :accounttype"; |
||||
$stmt = $conn->prepare($sql_str); |
$stmt = $conn->prepare($sql_str); |
||||
$stmt->bindParam(':accounttype',$accounttype); |
$stmt->bindParam(':accounttype', $accounttype); |
||||
$stmt->execute(); |
$stmt->execute(); |
||||
$workers = $stmt->fetchAll(PDO::FETCH_ASSOC); |
$workers = $stmt->fetchAll(PDO::FETCH_ASSOC); |
||||
$accounttype = "M"; |
$accounttype = "M"; |
||||
$sql_str = "SELECT id,accountid, name FROM account WHERE accounttype = :accounttype"; |
$sql_str = "SELECT id,accountid, name FROM account WHERE accounttype = :accounttype"; |
||||
$stmt = $conn->prepare($sql_str); |
$stmt = $conn->prepare($sql_str); |
||||
$stmt->bindParam(':accounttype',$accounttype); |
$stmt->bindParam(':accounttype', $accounttype); |
||||
$stmt->execute(); |
$stmt->execute(); |
||||
$contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC); |
$contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC); |
||||
?> |
?> |
||||
<link rel="stylesheet" href="./styles/style.css"> |
<link rel="stylesheet" href="./styles/style.css"> |
||||
<link rel="stylesheet" href="semantic/dist/semantic.min.css"> |
<link rel="stylesheet" href="semantic/dist/semantic.min.css"> |
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> |
||||
<script defer src="./js/alpinejs/cdn.min.js"></script> |
<script defer src="./js/alpinejs/cdn.min.js"></script> |
||||
<script src="./js/axios/axios.min.js" ></script> |
<script src="./js/axios/axios.min.js"></script> |
||||
|
|
||||
<div class="contract-input-component" x-data="contractInput"> |
<div class="contract-input-component" x-data="contractInput"> |
||||
<div class="form" method="post" id="form" enctype="multipart/form-data" > |
<div class="form" method="post" id="form" enctype="multipart/form-data"> |
||||
<input type="hidden" name='form_name' value="main_form" /> |
<input type="hidden" name='form_name' value="main_form" /> |
||||
<div> |
<div> |
||||
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%"> |
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<td colspan="8"> |
<td colspan="8"> |
||||
<h3 style='text-align:center'>合約入力(保養)</h3> |
<h3 style='text-align:center'>合約入力(保養)</h3> |
||||
</td> |
</td> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<template x-if="step==1"> |
<template x-if="step==1"> |
||||
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==1"> |
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==1"> |
||||
<tr> |
<tr> |
||||
<td style="vertical-align: middle">合約號</td> |
<td style="vertical-align: middle">合約號</td> |
||||
<td colspan="5"> |
<td colspan="5"> |
||||
<input class="form-control" @keyup="nextStepKeyupFn($event)" type="text" name="contractno" x-model="data.contractno" > |
<input class="form-control" @keyup="nextStepKeyupFn($event)" type="text" name="contractno" x-model="data.contractno"> |
||||
|
|
||||
</td> |
</td> |
||||
<td colspan="2" style="vertical-align: middle"> |
<td colspan="2" style="vertical-align: middle"> |
||||
<label for="customize"> |
<label for="customize"> |
||||
<input type="checkbox" x-model="customize" id="customize" />自定義欄位 |
<input type="checkbox" x-model="customize" id="customize" />自定義欄位 |
||||
</label> |
</label> |
||||
</td> |
</td> |
||||
|
|
||||
</tr> |
</tr> |
||||
</tbody> |
</tbody> |
||||
</template> |
</template> |
||||
<template x-if="step==2"> |
<template x-if="step==2"> |
||||
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==2"> |
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==2"> |
||||
<tr> |
<tr> |
||||
<td colspan="7" style='vertical-align: middle;border-right:0px;'> |
<td colspan="7" style='vertical-align: middle;border-right:0px;'> |
||||
<h4>業務確認項</h4> |
<h4>業務確認項</h4> |
||||
</td> |
</td> |
||||
<td class="text-right" style='border-left:0px;'> |
<td class="text-right" style='border-left:0px;'> |
||||
<button type="button" id="btn_close" class="btn btn-default" onclick="window.history.back();">返回</button> |
<button type="button" id="btn_close" class="btn btn-default" onclick="window.history.back();">返回</button> |
||||
<button type="button" id="btn_close" class="btn btn-default" onclick="window.close();">關閉分頁</button> |
<button type="button" id="btn_close" class="btn btn-default" onclick="window.close();">關閉分頁</button> |
||||
</td> |
</td> |
||||
</tr> |
</tr> |
||||
<tr> |
<tr> |
||||
<td style="vertical-align: middle">立約人</td> |
<td style="vertical-align: middle">立約人</td> |
||||
<td> |
<td> |
||||
<input type="text" x-model="data.customer" /> |
<input type="text" x-model="data.customer" /> |
||||
<p class="alerttext" x-show="data.customer==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.customer==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
<td style="vertical-align: middle">營業員</td> |
<td style="vertical-align: middle">營業員</td> |
||||
<td> |
<td> |
||||
<select class="ui fluid search dropdown" name="promiser" x-model="data.salesman"> |
<select class="ui fluid search dropdown" name="promiser" x-model="data.salesman"> |
||||
<option value="">選擇營業員</option> |
<option value="">選擇營業員</option> |
||||
<?php foreach($contractpersons as $person){ ?> |
<?php foreach ($contractpersons as $person) { ?> |
||||
<option value="<?php echo $person['accountid'] ?>"><?php echo $person['name'] ?></option> |
<option value="<?php echo $person['accountid'] ?>"><?php echo $person['name'] ?></option> |
||||
<?php } ?> |
<?php } ?> |
||||
</select> |
</select> |
||||
<p class="alerttext" x-show="data.salesman==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.salesman==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
<td style="vertical-align: middle">合約開始時間</td> |
<td style="vertical-align: middle">合約開始時間</td> |
||||
<td> |
<td> |
||||
<input class="form-control disabled_select" type="date" name="start_date" x-model="data.contract_begin_date" > |
<input class="form-control disabled_select" type="date" name="start_date" x-model="data.contract_begin_date"> |
||||
<p class="alerttext" x-show="data.contract_begin_date==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.contract_begin_date==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
<td style="vertical-align: middle">合約終止時間</td> |
<td style="vertical-align: middle">合約終止時間</td> |
||||
<td> |
<td> |
||||
<input class="form-control disabled_select" type="date" name="end_date" x-model="data.contract_end_date" > |
<input class="form-control disabled_select" type="date" name="end_date" x-model="data.contract_end_date"> |
||||
<p class="alerttext" x-show="data.contract_end_date==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.contract_end_date==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
</tr> |
</tr> |
||||
<tr> |
<tr> |
||||
<td style="vertical-align: middle">電梯台數</td> |
<td style="vertical-align: middle">電梯台數</td> |
||||
<td> |
<td> |
||||
<input class="form-control disabled_select" type="number" x-model="data.num" :disabled="data.disabled"> |
<input class="form-control disabled_select" type="number" x-model="data.num" :disabled="data.disabled"> |
||||
<p class="alerttext" x-show="data.num==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.num==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<p class="alerttext" x-show="data.num==0 && data.num!=''"><i class="fa-solid fa-circle-xmark"></i>電梯數量需大於0</p> |
<p class="alerttext" x-show="data.num==0 && data.num!=''"><i class="fa-solid fa-circle-xmark"></i>電梯數量需大於0</p> |
||||
</td> |
</td> |
||||
|
|
||||
<td style="vertical-align: middle">統一編號/身分證</td> |
<td style="vertical-align: middle">統一編號/身分證</td> |
||||
<td> |
<td> |
||||
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.vat" > |
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.vat"> |
||||
<p class="alerttext" x-show="data.vat==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.vat==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
<td style="vertical-align: middle">維修型態</td> |
<td style="vertical-align: middle">維修型態</td> |
||||
<td style="vertical-align: middle"> |
<td style="vertical-align: middle"> |
||||
<select class="ui search dropdown" name="" x-model="data.mtype"> |
<select class="ui search dropdown" name="" x-model="data.mtype"> |
||||
<option value="" >選擇維修型態</option> |
<option value="">選擇維修型態</option> |
||||
<option value="A">定期保養</option> |
<option value="A">定期保養</option> |
||||
</select> |
</select> |
||||
<p class="alerttext" x-show="data.mtype==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<p class="alerttext" x-show="data.mtype==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
<td></td> |
<td style="vertical-align: middle">契約成交價</td> |
||||
<td></td> |
<td> |
||||
</tr> |
<input class="form-control disabled_select" type="text" name="tel" x-model="data.total_price" :disabled="data.disabled"> |
||||
<tr> |
<p class="alerttext" x-show="data.total_price==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<td style="vertical-align: middle">客戶電話</td> |
</td> |
||||
<td> |
</tr> |
||||
<input class="form-control disabled_select" type="text" name="tel" x-model="data.phone" > |
<tr> |
||||
<p class="alerttext" x-show="data.phone==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">客戶電話</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">Email</td> |
<input class="form-control disabled_select" type="text" name="tel" x-model="data.phone"> |
||||
<td style="vertical-align: middle"> |
<p class="alerttext" x-show="data.phone==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input class="form-control disabled_select" type="email" name="email" x-model="data.email" > |
</td> |
||||
<p class="alerttext" x-show="data.email==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">Email</td> |
||||
</td> |
<td style="vertical-align: middle"> |
||||
<td style="vertical-align: middle">保養員</td> |
<input class="form-control disabled_select" type="email" name="email" x-model="data.email"> |
||||
<td> |
<p class="alerttext" x-show="data.email==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<select class="ui search dropdown" name="repairer_name" x-model="data.mworker"> |
</td> |
||||
<option value="">選擇保養員</option> |
<td style="vertical-align: middle">保養員</td> |
||||
<?php foreach($workers as $worker){ ?> |
<td> |
||||
<option value="<?php echo $worker['accountid']; ?>"><?php echo $worker['name'] ?></option> |
<select class="ui search dropdown" name="repairer_name" x-model="data.mworker"> |
||||
<?php } ?> |
<option value="">選擇保養員</option> |
||||
</select> |
<?php foreach ($workers as $worker) { ?> |
||||
<p class="alerttext" x-show="data.mworker==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<option value="<?php echo $worker['accountid']; ?>"><?php echo $worker['name'] ?></option> |
||||
</td> |
<?php } ?> |
||||
<td style="vertical-align: middle">保養頻率</td> |
</select> |
||||
<td> |
<p class="alerttext" x-show="data.mworker==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<select class="ui search dropdown" name="repairer_name" x-model="data.mcycle"> |
</td> |
||||
<option value="">選擇保養頻率</option> |
<td style="vertical-align: middle">保養頻率</td> |
||||
<option value="bw">雙週保</option> |
<td> |
||||
<option value="em">月保</option> |
<select class="ui search dropdown" name="repairer_name" x-model="data.mcycle"> |
||||
</select> |
<option value="">選擇保養頻率</option> |
||||
<p class="alerttext" x-show="data.mcycle==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<option value="bw">雙週保</option> |
||||
</td> |
<option value="em">月保</option> |
||||
</tr> |
</select> |
||||
<tr> |
<p class="alerttext" x-show="data.mcycle==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<td style="vertical-align: middle">業務聯繫人</td> |
</td> |
||||
<td> |
</tr> |
||||
<input type="text" x-model="data.partyA" name="partyA" /> |
<tr> |
||||
<p class="alerttext" x-show="data.partyA==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">業務聯繫人</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">業務聯繫人地址</td> |
<input type="text" x-model="data.partyA" name="partyA" /> |
||||
<td> |
<p class="alerttext" x-show="data.partyA==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input class="form-control disabled_select" x-model="data.partyAaddress" type="text" name="contractaddress" value="" > |
</td> |
||||
<p class="alerttext" x-show="data.partyAaddress==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">業務聯繫人地址</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">業務聯繫人電話</td> |
<input class="form-control disabled_select" x-model="data.partyAaddress" type="text" name="contractaddress" value=""> |
||||
<td> |
<p class="alerttext" x-show="data.partyAaddress==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input class="form-control disabled_select" type="text" name="contracttel" x-model="data.partyAphone" > |
</td> |
||||
<p class="alerttext" x-show="data.partyAphone==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">業務聯繫人電話</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">業務聯繫人Email</td> |
<input class="form-control disabled_select" type="text" name="contracttel" x-model="data.partyAphone"> |
||||
<td> |
<p class="alerttext" x-show="data.partyAphone==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input class="form-control disabled_select" type="email" name="contracttel" x-model="data.partyAemail" > |
</td> |
||||
<p class="alerttext" x-show="data.partyAemail==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">業務聯繫人Email</td> |
||||
</td> |
<td> |
||||
</tr> |
<input class="form-control disabled_select" type="email" name="contracttel" x-model="data.partyAemail"> |
||||
<tr> |
<p class="alerttext" x-show="data.partyAemail==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<td style="vertical-align: middle">區域</td> |
</td> |
||||
<td> |
</tr> |
||||
<select class="ui search dropdown" x-model="data.area"> |
<tr> |
||||
<option value="">選擇區域</option> |
<td style="vertical-align: middle">區域</td> |
||||
<template x-for="city in cities" :key="city.code"> |
<td> |
||||
<option x-bind:selected="city.name === data.area" x-text="city.name" :value="city.name"></option> |
<select class="ui search dropdown" x-model="data.area"> |
||||
</template> |
<option value="">選擇區域</option> |
||||
</select> |
<template x-for="city in cities" :key="city.code"> |
||||
<p class="alerttext" x-show="data.area==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<option x-bind:selected="city.name === data.area" x-text="city.name" :value="city.name"></option> |
||||
</td> |
</template> |
||||
<td style="vertical-align: middle">詳細地址</td> |
</select> |
||||
<td colspan="2"> |
<p class="alerttext" x-show="data.area==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="text" x-model="data.address" /> |
</td> |
||||
<p class="alerttext" x-show="data.address==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">詳細地址</td> |
||||
</td> |
<td colspan="2"> |
||||
<td style="vertical-align: middle">附件</td> |
<input type="text" x-model="data.address" /> |
||||
<td colspan="2"> |
<p class="alerttext" x-show="data.address==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="file" name="file[]" multiple draggable="true" @change="uploadFiles($event)" /> |
</td> |
||||
</td> |
<td style="vertical-align: middle">分期方式</td> |
||||
</tr> |
<td colspan="2"> |
||||
|
<select class="ui search dropdown" x-model="data.payType"> |
||||
<tr> |
<option value="">選擇付款方式</option> |
||||
|
<option value="A40006">年繳</option> |
||||
</tr> |
<option value="A40007">季繳</option> |
||||
</tbody> |
<option value="A40003">月繳</option> |
||||
</template> |
<option value="A40004">雙月繳</option> |
||||
<template x-if="step==3"> |
<option value="A40005">半年繳</option> |
||||
<template x-for="(elevator, idx) in data.elevators" :key="elevator.apply_key + elevator.register_code"> |
</select> |
||||
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==3"> |
<p class="alerttext" x-show="data.payType==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<tr> |
</td> |
||||
<td colspan=8><p x-text="'電梯' + Number(idx+1)"></p></td> |
</tr> |
||||
</tr> |
|
||||
<tr> |
<tr> |
||||
<td style="vertical-align: middle">機種</td> |
<td></td> |
||||
<td> |
<td></td> |
||||
<select class="ui search dropdown" name="spec" x-model="data.elevators[idx].spec" > |
<td></td> |
||||
<option value="">選擇規格</option> |
<td></td> |
||||
<option value="MAE100">MAE100</option> |
<td></td> |
||||
<option value="MAM200">MAM200</option> |
<td style="vertical-align: middle">附件</td> |
||||
<option value="MAH100">MAH100</option> |
<td colspan="2"> |
||||
<option value="MAQ100">MAQ100</option> |
<input type="file" name="file[]" multiple draggable="true" @change="uploadFiles($event)" /> |
||||
<option value="MAF100">MAF100</option> |
</td> |
||||
<option value="MAZ100">MAZ100</option> |
</tr> |
||||
</select> |
</tbody> |
||||
<p class="alerttext" x-show="!(data.elevators[idx].spec=='MAE100' || data.elevators[idx].spec=='MAM200' || data.elevators[idx].spec=='MAH100' || data.elevators[idx].spec=='MAQ100' || data.elevators[idx].spec=='MAF100' || data.elevators[idx].spec=='MAZ100')"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
</template> |
||||
</td> |
<template x-if="step==3"> |
||||
<td style="vertical-align: middle">載重</td> |
<template x-for="(elevator, idx) in data.elevators" :key="elevator.apply_key + elevator.register_code"> |
||||
<td> |
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==3"> |
||||
<input type="text" x-model="data.elevators[idx].weight" /> |
<tr> |
||||
<p class="alerttext" x-show="data.elevators[idx].weight==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td colspan=8> |
||||
</td> |
<p x-text="'電梯' + Number(idx+1)"></p> |
||||
<td style="vertical-align: middle">速度</td> |
</td> |
||||
<td> |
</tr> |
||||
<input type="text" x-model="data.elevators[idx].speed" /> |
<tr> |
||||
<p class="alerttext" x-show="data.elevators[idx].speed==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">機種</td> |
||||
</td> |
<td> |
||||
|
<select class="ui search dropdown" name="spec" x-model="data.elevators[idx].spec"> |
||||
<td style="vertical-align: middle">人乘</td> |
<option value="">選擇規格</option> |
||||
<td> |
<option value="MAE100">MAE100</option> |
||||
<input type="text" x-model="data.elevators[idx].persons" /> |
<option value="MAM200">MAM200</option> |
||||
<p class="alerttext" x-show="data.elevators[idx].persons==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<option value="MAH100">MAH100</option> |
||||
</td> |
<option value="MAQ100">MAQ100</option> |
||||
</tr> |
<option value="MAF100">MAF100</option> |
||||
<tr> |
<option value="MAZ100">MAZ100</option> |
||||
<td style="vertical-align: middle">樓停</td> |
</select> |
||||
<td> |
<p class="alerttext" x-show="!(data.elevators[idx].spec=='MAE100' || data.elevators[idx].spec=='MAM200' || data.elevators[idx].spec=='MAH100' || data.elevators[idx].spec=='MAQ100' || data.elevators[idx].spec=='MAF100' || data.elevators[idx].spec=='MAZ100')"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="number" class="form-control" x-model="data.elevators[idx].stop" /> |
</td> |
||||
<p class="alerttext" x-show="data.elevators[idx].stop=='' || !data.elevators[idx].stop"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">載重</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">樓層</td> |
<input type="text" x-model="data.elevators[idx].weight" /> |
||||
<td> |
<p class="alerttext" x-show="data.elevators[idx].weight==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="text" x-model="data.elevators[idx].floors" /> |
</td> |
||||
<p class="alerttext" x-show="data.elevators[idx].floors=='' || !data.elevators[idx].floors"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">速度</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">緯度</td> |
<input type="text" x-model="data.elevators[idx].speed" /> |
||||
<td> |
<p class="alerttext" x-show="data.elevators[idx].speed==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="text" x-model="data.elevators[idx].latitude" /> |
</td> |
||||
<p class="alerttext" x-show="data.elevators[idx].latitude=='' || !data.elevators[idx].latitude"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
|
||||
</td> |
<td style="vertical-align: middle">人乘</td> |
||||
|
<td> |
||||
<td style="vertical-align: middle">經度</td> |
<input type="text" x-model="data.elevators[idx].persons" /> |
||||
<td> |
<p class="alerttext" x-show="data.elevators[idx].persons==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="text" x-model="data.elevators[idx].longitude" /> |
</td> |
||||
<p class="alerttext" x-show="data.elevators[idx].longitude=='' || !data.elevators[idx].longitude"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
</tr> |
||||
</td> |
<tr> |
||||
</tr> |
<td style="vertical-align: middle">樓停</td> |
||||
<tr> |
<td> |
||||
<td style="vertical-align: middle">廠牌</td> |
<input type="number" class="form-control" x-model="data.elevators[idx].stop" /> |
||||
<td> |
<p class="alerttext" x-show="data.elevators[idx].stop=='' || !data.elevators[idx].stop"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input type="text" x-model="data.elevators[idx].elevator_brand" class="form-control" /> |
</td> |
||||
<p class="alerttext" x-show="data.elevators[idx].elevator_brand==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">樓層</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle"> |
<input type="text" x-model="data.elevators[idx].floors" /> |
||||
開門方式 |
<p class="alerttext" x-show="data.elevators[idx].floors=='' || !data.elevators[idx].floors"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</td> |
</td> |
||||
<td style="vertical-align: middle"> |
<td style="vertical-align: middle">緯度</td> |
||||
<select class="ui search dropdown" name="" x-model="data.elevators[idx].opendoor"> |
<td> |
||||
<option value="">選擇開門方式</option> |
<input type="text" x-model="data.elevators[idx].latitude" /> |
||||
<option value="2PCO">2PCO</option> |
<p class="alerttext" x-show="data.elevators[idx].latitude=='' || !data.elevators[idx].latitude"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<option value="2S">2S</option> |
</td> |
||||
<option value="2SL">2SL</option> |
|
||||
<option value="2SR">2SR</option> |
<td style="vertical-align: middle">經度</td> |
||||
<option value="2U">2U</option> |
<td> |
||||
<option value="3S">3S</option> |
<input type="text" x-model="data.elevators[idx].longitude" /> |
||||
<option value="4PCO">4PCO</option> |
<p class="alerttext" x-show="data.elevators[idx].longitude=='' || !data.elevators[idx].longitude"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<option value="6PCO">6PCO</option> |
</td> |
||||
<option value="CO">CO</option> |
</tr> |
||||
</select> |
<tr> |
||||
<p class="alerttext" x-show="data.elevators[idx].opendoor=='' || !data.elevators[idx].opendoor "><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">廠牌</td> |
||||
</td> |
<td> |
||||
<td style="vertical-align: middle">保養別</td> |
<input type="text" x-model="data.elevators[idx].elevator_brand" class="form-control" /> |
||||
<td> |
<p class="alerttext" x-show="data.elevators[idx].elevator_brand==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<select class="ui search dropdown" x-model="data.elevators[idx].maintainance"> |
</td> |
||||
<option value="">選擇保養別</option> |
<td style="vertical-align: middle"> |
||||
<option value="A">全包</option> |
開門方式 |
||||
<option value="B">半包</option> |
</td> |
||||
<option value="C">清包</option> |
<td style="vertical-align: middle"> |
||||
</select> |
<select class="ui search dropdown" name="" x-model="data.elevators[idx].opendoor"> |
||||
<p class="alerttext" x-show="data.elevators[idx].maintainance=='' || !data.elevators[idx].maintainance"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<option value="">選擇開門方式</option> |
||||
</td> |
<option value="2PCO">2PCO</option> |
||||
<td style="vertical-align: middle">竣檢日</td> |
<option value="2S">2S</option> |
||||
<td> |
<option value="2SL">2SL</option> |
||||
<input class="form-control disabled_select" type="date" x-model="data.elevators[idx].takecertificatedate"> |
<option value="2SR">2SR</option> |
||||
<p class="alerttext" x-show="data.elevators[idx].takecertificatedate=='' || !data.elevators[idx].takecertificatedate"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<option value="2U">2U</option> |
||||
</td> |
<option value="3S">3S</option> |
||||
</tr> |
<option value="4PCO">4PCO</option> |
||||
<tr> |
<option value="6PCO">6PCO</option> |
||||
|
<option value="CO">CO</option> |
||||
<td style="vertical-align: middle">許可證有效時間</td> |
</select> |
||||
<td> |
<p class="alerttext" x-show="data.elevators[idx].opendoor=='' || !data.elevators[idx].opendoor "><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<input class="form-control disabled_select" type="date" x-model="data.elevators[idx].useful_date"> |
</td> |
||||
<p class="alerttext" x-show="data.elevators[idx].useful_date=='' || !data.elevators[idx].useful_date"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
<td style="vertical-align: middle">保養別</td> |
||||
</td> |
<td> |
||||
</tr> |
<select class="ui search dropdown" x-model="data.elevators[idx].maintainance"> |
||||
<tr><td></td> |
<option value="">選擇保養別</option> |
||||
<td></td> |
<option value="A">全包</option> |
||||
<td></td> |
<option value="B">半包</option> |
||||
<td></td> |
<option value="C">清包</option> |
||||
<td></td> |
</select> |
||||
<td></td> |
<p class="alerttext" x-show="data.elevators[idx].maintainance=='' || !data.elevators[idx].maintainance"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<td></td> |
</td> |
||||
<td></td></tr> |
<td style="vertical-align: middle">竣檢日</td> |
||||
</tbody> |
<td> |
||||
</template> |
<input class="form-control disabled_select" type="date" x-model="data.elevators[idx].takecertificatedate"> |
||||
</template> |
<p class="alerttext" x-show="data.elevators[idx].takecertificatedate=='' || !data.elevators[idx].takecertificatedate"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
</table> |
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
<button x-show="step==3" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
|
||||
<template x-if="!isLoading"> |
<td style="vertical-align: middle">許可證有效時間</td> |
||||
<span>存檔</span> |
<td> |
||||
</template> |
<input class="form-control disabled_select" type="date" x-model="data.elevators[idx].useful_date"> |
||||
<template x-if="isLoading"> |
<p class="alerttext" x-show="data.elevators[idx].useful_date=='' || !data.elevators[idx].useful_date"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> |
||||
<div class="loader"></div> |
</td> |
||||
</template> |
</tr> |
||||
</button> |
<tr> |
||||
<button x-show="step<=2" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading"> |
<td></td> |
||||
<template x-if="!isLoading"> |
<td></td> |
||||
<span>下一步</span> |
<td></td> |
||||
</template> |
<td></td> |
||||
<template x-if="isLoading"> |
<td></td> |
||||
<div class="loader"></div> |
<td></td> |
||||
</template> |
<td></td> |
||||
</button> |
<td></td> |
||||
<button x-show="step>1" @click="preStepFn()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
</tr> |
||||
<template x-if="!isLoading"> |
</tbody> |
||||
<span>上一步</span> |
</template> |
||||
</template> |
</template> |
||||
<template x-if="isLoading"> |
</table> |
||||
<div class="loader"></div> |
|
||||
</template> |
|
||||
</button> |
<button x-show="step==3" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
||||
</div> |
<template x-if="!isLoading"> |
||||
</div> |
<span>存檔</span> |
||||
|
</template> |
||||
</div> |
<template x-if="isLoading"> |
||||
<script src="./js/jquery/jquery-3.1.1.min.js"></script> |
<div class="loader"></div> |
||||
<script src="semantic/dist/semantic.min.js" ></script> |
</template> |
||||
<script src="./js/alpine.js"></script> |
</button> |
||||
<script> |
<button x-show="step<=2" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading"> |
||||
const user_id = '<?php echo $user_id; ?>' |
<template x-if="!isLoading"> |
||||
const user_name = '<?php echo $user_name; ?>' |
<span>下一步</span> |
||||
|
</template> |
||||
|
<template x-if="isLoading"> |
||||
|
<div class="loader"></div> |
||||
|
</template> |
||||
|
</button> |
||||
|
<button x-show="step>1" @click="preStepFn()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn"> |
||||
|
<template x-if="!isLoading"> |
||||
|
<span>上一步</span> |
||||
|
</template> |
||||
|
<template x-if="isLoading"> |
||||
|
<div class="loader"></div> |
||||
|
</template> |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<script src="./js/jquery/jquery-3.1.1.min.js"></script> |
||||
|
<script src="semantic/dist/semantic.min.js"></script> |
||||
|
<script src="./js/alpine.js"></script> |
||||
|
<script> |
||||
|
const user_id = '<?php echo $user_id; ?>' |
||||
|
const user_name = '<?php echo $user_name; ?>' |
||||
</script> |
</script> |
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -1,349 +1,349 @@ |
|||||
<?php |
<?php |
||||
/** |
|
||||
* 沒有選擇M1/M4的-->全汰改 |
/** |
||||
*/ |
* 沒有選擇M1/M4的-->全汰改 |
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") { |
*/ |
||||
//print_r($_REQUEST);exit; |
if ($_SERVER["REQUEST_METHOD"] == "POST") { |
||||
foreach ($_POST as $k => $v) { |
//print_r($_REQUEST);exit; |
||||
$$k = htmlspecialchars(stripslashes(trim($v))); |
foreach ($_POST as $k => $v) { |
||||
} |
$$k = htmlspecialchars(stripslashes(trim($v))); |
||||
|
} |
||||
// 同客戶同電梯不能重覆價審 |
|
||||
/* |
// 同客戶同電梯不能重覆價審 |
||||
$warr = []; |
/* |
||||
$fp_id_str = ""; |
$warr = []; |
||||
$fp_id_arr = explode(",", $fp_id_all); |
$fp_id_str = ""; |
||||
foreach ($fp_id_arr as $val) { |
$fp_id_arr = explode(",", $fp_id_all); |
||||
if ($val && $val>0) $fp_id_str .= $val.","; |
foreach ($fp_id_arr as $val) { |
||||
} |
if ($val && $val>0) $fp_id_str .= $val.","; |
||||
$fp_id_str = rtrim($fp_id_str, ","); |
} |
||||
$db_query = "select i.item_spec from pricereview_main m, pricereview_item i "; |
$fp_id_str = rtrim($fp_id_str, ","); |
||||
$db_query .= "where m.id = i.mid and contractno = '$contractno' and fp_id in ($fp_id_str) and last_check_result <> 'N'"; |
$db_query = "select i.item_spec from pricereview_main m, pricereview_item i "; |
||||
$res = mysqli_query($link, $db_query); |
$db_query .= "where m.id = i.mid and contractno = '$contractno' and fp_id in ($fp_id_str) and last_check_result <> 'N'"; |
||||
while ($row = mysqli_fetch_row($res)) { |
$res = mysqli_query($link, $db_query); |
||||
$warr[] = $row[0]; |
while ($row = mysqli_fetch_row($res)) { |
||||
} |
$warr[] = $row[0]; |
||||
$warning = implode("、", $warr); |
} |
||||
if ($warning) { |
$warning = implode("、", $warr); |
||||
echo "<script>alert(\"電梯重覆價審:\\n".$warning."\");"; |
if ($warning) { |
||||
echo "location.href=history.go(-1);</script>"; |
echo "<script>alert(\"電梯重覆價審:\\n".$warning."\");"; |
||||
} |
echo "location.href=history.go(-1);</script>"; |
||||
*/ |
} |
||||
|
*/ |
||||
$price_total = str_replace(",", "", $price_total); |
|
||||
$price_lowest = str_replace(",", "", $price_lowest); |
$price_total = str_replace(",", "", $price_total); |
||||
$pay_amount = str_replace(",", "", $pay_amount); |
$price_lowest = str_replace(",", "", $price_lowest); |
||||
$pay_all_amount = str_replace(",", "", $pay_all_amount); |
$pay_amount = str_replace(",", "", $pay_amount); |
||||
$special_fee = str_replace(",", "", $special_fee); |
$pay_all_amount = str_replace(",", "", $pay_all_amount); |
||||
if (empty($deposit_rate)) $deposit_rate = 0; |
$special_fee = str_replace(",", "", $special_fee); |
||||
if (empty($keep_rate)) $keep_rate = 0; |
if (empty($deposit_rate)) $deposit_rate = 0; |
||||
if (empty($warranty_rate)) $warranty_rate = 0; |
if (empty($keep_rate)) $keep_rate = 0; |
||||
if (empty($special_fee)) $special_fee = 0; |
if (empty($warranty_rate)) $warranty_rate = 0; |
||||
$status = ($pmstatus == "tosign") ? "YS" : "Y1"; // YS:提交 Y1:保存 |
if (empty($special_fee)) $special_fee = 0; |
||||
$st_str = ($status == "YS") ? "提交" : "保存"; |
$status = ($pmstatus == "tosign") ? "YS" : "Y1"; // YS:提交 Y1:保存 |
||||
$create_at = date("Y-m-d H:i:s"); |
$st_str = ($status == "YS") ? "提交" : "保存"; |
||||
$tds = date("Y-m-d"); |
$create_at = date("Y-m-d H:i:s"); |
||||
|
$tds = date("Y-m-d"); |
||||
// 客戶資料 |
|
||||
$sql = "select vol_no, salesman, customer, address from hope_elevator_customer where vol_no = '$vol_no'"; |
// 客戶資料 |
||||
$res = mysqli_query($link, $sql); |
$sql = "select vol_no, salesman, customer, address from hope_elevator_customer where vol_no = '$vol_no'"; |
||||
$row = mysqli_fetch_row($res); |
$res = mysqli_query($link, $sql); |
||||
list($contractno, $person, $company, $address) = $row; |
$row = mysqli_fetch_row($res); |
||||
mysqli_free_result($res); |
list($contractno, $person, $company, $address) = $row; |
||||
|
mysqli_free_result($res); |
||||
// 同一卷號只限一筆價審 |
|
||||
$sql = "select count(*) from pricereview_main where contractno = '$contractno' and status in ('Y1', 'YS', 'YY')"; |
// 同一卷號只限一筆價審 |
||||
$res = mysqli_query($link, $sql); |
$sql = "select count(*) from pricereview_main where contractno = '$contractno' and status in ('Y1', 'YS', 'YY')"; |
||||
$row = mysqli_fetch_row($res); |
$res = mysqli_query($link, $sql); |
||||
if ($row[0] > 0) { |
$row = mysqli_fetch_row($res); |
||||
echo "<script>"; |
if ($row[0] > 0) { |
||||
echo "alert('請勿重覆價審!');"; |
echo "<script>"; |
||||
echo "history.go(-1);"; |
echo "alert('請勿重覆價審!');"; |
||||
echo "</script>"; |
echo "history.go(-1);"; |
||||
exit; |
echo "</script>"; |
||||
} |
exit; |
||||
|
} |
||||
// 上傳報價單 |
|
||||
$target_dir = "pricereview-uploads/"; |
// 上傳報價單 |
||||
if ($_FILES["attatch1"]["error"] == 0) { |
$target_dir = "pricereview-uploads/"; |
||||
$file_name = $_FILES["attatch1"]["name"]; |
if ($_FILES["attatch1"]["error"] == 0) { |
||||
$temp_file_name = $_FILES["attatch1"]["tmp_name"]; |
$file_name = $_FILES["attatch1"]["name"]; |
||||
$file_size = $_FILES["attatch1"]["size"]; |
$temp_file_name = $_FILES["attatch1"]["tmp_name"]; |
||||
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION); |
$file_size = $_FILES["attatch1"]["size"]; |
||||
$target_file1 = $target_dir.$vol_no."-price-".$tds.".".$img_file_type; |
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION); |
||||
$upload_ok = 1; |
$target_file1 = $target_dir . $vol_no . "-price-" . $tds . "." . $img_file_type; |
||||
foreach (glob($target_dir.$vol_no."-price-*") as $todelfile) { |
$upload_ok = 1; |
||||
unlink($todelfile); |
foreach (glob($target_dir . $vol_no . "-price-*") as $todelfile) { |
||||
} |
unlink($todelfile); |
||||
$upload_res_1 = move_uploaded_file($temp_file_name, $target_file1); |
} |
||||
} else $target_file1 = ""; |
$upload_res_1 = move_uploaded_file($temp_file_name, $target_file1); |
||||
|
} else $target_file1 = ""; |
||||
// 上傳附表一 |
|
||||
if ($_FILES["attatch2"]["error"] == 0) { |
// 上傳附表一 |
||||
$file_name = $_FILES["attatch2"]["name"]; |
if ($_FILES["attatch2"]["error"] == 0) { |
||||
$temp_file_name = $_FILES["attatch2"]["tmp_name"]; |
$file_name = $_FILES["attatch2"]["name"]; |
||||
$file_size = $_FILES["attatch2"]["size"]; |
$temp_file_name = $_FILES["attatch2"]["tmp_name"]; |
||||
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION); |
$file_size = $_FILES["attatch2"]["size"]; |
||||
$target_file2 = $target_dir.$vol_no."-appendix-".$tds.".".$img_file_type; |
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION); |
||||
$upload_ok = 1; |
$target_file2 = $target_dir . $vol_no . "-appendix-" . $tds . "." . $img_file_type; |
||||
foreach (glob($target_dir.$vol_no."-appendix-*") as $todelfile) { |
$upload_ok = 1; |
||||
unlink($todelfile); |
foreach (glob($target_dir . $vol_no . "-appendix-*") as $todelfile) { |
||||
} |
unlink($todelfile); |
||||
$upload_res_2 = move_uploaded_file($temp_file_name, $target_file2); |
} |
||||
} else $target_file2 = ""; |
$upload_res_2 = move_uploaded_file($temp_file_name, $target_file2); |
||||
|
} else $target_file2 = ""; |
||||
if (($target_file1 && !$upload_res_1) || ($target_file2 && !$upload_res_2)) { |
|
||||
echo "<script type ='text/JavaScript'>"; |
if (($target_file1 && !$upload_res_1) || ($target_file2 && !$upload_res_2)) { |
||||
echo "alert('檔案上傳失敗,資料請重建。');"; |
echo "<script type ='text/JavaScript'>"; |
||||
echo "history.go(-1);"; |
echo "alert('檔案上傳失敗,資料請重建。');"; |
||||
echo "</script>"; |
echo "history.go(-1);"; |
||||
exit; |
echo "</script>"; |
||||
} |
exit; |
||||
|
} |
||||
// 價格審查單-主文 pricereview_main |
|
||||
$db_query = "insert into pricereview_main(contractno, ekind, person, company, case_name, address, price_lowest, "; |
// 價格審查單-主文 pricereview_main |
||||
$db_query .= "price_total, price_rate, special_fee, predeal_date, facilitok_date, penalty, deposit_rate, keep_rate, "; |
$db_query = "insert into pricereview_main(contractno, ekind, person, company, case_name, address, price_lowest, "; |
||||
$db_query .= "warranty_rate, memo, status, attatch1, attatch2, creater, create_at) values ("; |
$db_query .= "price_total, price_rate, special_fee, predeal_date, facilitok_date, penalty, deposit_rate, keep_rate, "; |
||||
$db_query .= "'$contractno', '汰改', '$person', '$company', '$case_name', '$address', '$price_lowest', "; |
$db_query .= "warranty_rate, memo, status, attatch1, attatch2, creater, create_at) values ("; |
||||
$db_query .= "'$price_total', '$price_rate', '$special_fee', '$predeal_date', '$facilitok_date', '$penalty', '$deposit_rate', '$keep_rate', "; |
$db_query .= "'$contractno', '汰改', '$person', '$company', '$case_name', '$address', '$price_lowest', "; |
||||
$db_query .= "'$warranty_rate', '$memo', '$status', '$target_file1', '$target_file2', '$user_id', '$create_at')"; |
$db_query .= "'$price_total', '$price_rate', '$special_fee', '$predeal_date', '$facilitok_date', '$penalty', '$deposit_rate', '$keep_rate', "; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$warranty_rate', '$memo', '$status', '$target_file1', '$target_file2', '$user_id', '$create_at')"; |
||||
$affected = mysqli_affected_rows($link); |
$result = mysqli_query($link, $db_query); |
||||
if ($mid = mysqli_insert_id($link)) { |
$affected = mysqli_affected_rows($link); |
||||
// 價格審查單-明細項目 pricereview_item:電梯 |
if ($mid = mysqli_insert_id($link)) { |
||||
$fp_id_arr = explode(",", $fp_id_all); |
// 價格審查單-明細項目 pricereview_item:電梯 |
||||
$fp_kind_arr = explode(",", $fp_kind_all); |
$fp_id_arr = explode(",", $fp_id_all); |
||||
$fp_seat_arr = explode(",", $fp_seat_all); |
$fp_kind_arr = explode(",", $fp_kind_all); |
||||
$fp_numberofstop_arr = explode(",", $fp_numberofstop_all); |
$fp_seat_arr = explode(",", $fp_seat_all); |
||||
$fp_speed_arr = explode(",", $fp_speed_all); |
$fp_numberofstop_arr = explode(",", $fp_numberofstop_all); |
||||
$item_weight_arr = explode(",", $item_weight_all); |
$fp_speed_arr = explode(",", $fp_speed_all); |
||||
$item_op_arr = explode(",", $item_op_all); |
$item_weight_arr = explode(",", $item_weight_all); |
||||
$item_spec_arr = explode(",", $item_spec_all); |
$item_op_arr = explode(",", $item_op_all); |
||||
$item_group_arr = explode(",", $item_group_all); |
$item_spec_arr = explode(",", $item_spec_all); |
||||
$item_unit_price_arr = explode(",", $item_unit_price_all); |
$item_group_arr = explode(",", $item_group_all); |
||||
$item_qty_arr = explode(",", $item_qty_all); |
$item_unit_price_arr = explode(",", $item_unit_price_all); |
||||
$item_qty_ori_arr = explode(",", $item_qty_ori_all); |
$item_qty_arr = explode(",", $item_qty_all); |
||||
$item_price_bp_arr = explode(",", $item_price_bp_all); |
$item_qty_ori_arr = explode(",", $item_qty_ori_all); |
||||
$item_price_ct_arr = explode(",", rtrim($item_price_ct_all, ",")); |
$item_price_bp_arr = explode(",", $item_price_bp_all); |
||||
$item_price_arr = explode(",", $item_price_all); |
$item_price_ct_arr = explode(",", rtrim($item_price_ct_all, ",")); |
||||
$gross_profit_arr = explode(",", $gross_profit_all); |
$item_price_arr = explode(",", $item_price_all); |
||||
$item_price_arr = $gross_profit_arr = []; // 先reset, 等審核才產出 |
$gross_profit_arr = explode(",", $gross_profit_all); |
||||
// 非全汰改=REN |
$item_price_arr = $gross_profit_arr = []; // 先reset, 等審核才產出 |
||||
$renovate_flag = ""; |
// 非全汰改=REN |
||||
if (preg_match("/M1/", $fp_kind_all)) $renovate_flag = "REN"; |
$renovate_flag = ""; |
||||
|
if (preg_match("/M1/", $fp_kind_all)) $renovate_flag = "REN"; |
||||
// 如果售價變動或電梯數量異動,售價則平均分攤到每台 |
|
||||
$avg_fg = 0; |
// 如果售價變動或電梯數量異動,售價則平均分攤到每台 |
||||
foreach ($item_price_bp_arr as $k => $v) { |
$avg_fg = 0; |
||||
if ($v && !isset($item_price_ct_arr[$k])) { |
foreach ($item_price_bp_arr as $k => $v) { |
||||
$avg_fg = 1; |
if ($v && !isset($item_price_ct_arr[$k])) { |
||||
break; |
$avg_fg = 1; |
||||
} |
break; |
||||
} |
} |
||||
foreach ($item_qty_ori_arr as $k => $v) { |
} |
||||
if ($v != $item_qty_arr[$k]) { |
foreach ($item_qty_ori_arr as $k => $v) { |
||||
$avg_fg = 1; |
if ($v != $item_qty_arr[$k]) { |
||||
break; |
$avg_fg = 1; |
||||
} |
break; |
||||
} |
} |
||||
if ($price_total_ori != $price_total) $avg_fg = 1; |
} |
||||
if ($avg_fg) { |
if ($price_total_ori != $price_total) $avg_fg = 1; |
||||
$item_price_ct2_arr = []; |
if ($avg_fg) { |
||||
$price_total_item = 0; |
$item_price_ct2_arr = []; |
||||
foreach ($item_qty_arr as $k => $v) { |
$price_total_item = 0; |
||||
$price = floor(($price_total/array_sum($item_qty_arr))*$v); |
foreach ($item_qty_arr as $k => $v) { |
||||
$item_price_ct2_arr[] = $price; |
$price = floor(($price_total / array_sum($item_qty_arr)) * $v); |
||||
if ($k < count($item_qty_arr)-1) $price_total_item += $price; |
$item_price_ct2_arr[] = $price; |
||||
} |
if ($k < count($item_qty_arr) - 1) $price_total_item += $price; |
||||
$item_price_ct2_arr[count($item_qty_arr)-1] = $price_total - $price_total_item; |
} |
||||
$item_price_ct_arr = $item_price_ct2_arr; |
$item_price_ct2_arr[count($item_qty_arr) - 1] = $price_total - $price_total_item; |
||||
} |
$item_price_ct_arr = $item_price_ct2_arr; |
||||
|
} |
||||
$item_no = 1; |
|
||||
for ($i=0; $i<count($item_spec_arr); $i++) { |
$item_no = 1; |
||||
$spec = trim($item_spec_arr[$i]); |
for ($i = 0; $i < count($item_spec_arr); $i++) { |
||||
if (empty($spec)) continue; |
$spec = trim($item_spec_arr[$i]); |
||||
if (!$fp_id_arr[$i]) $fp_id_arr[$i] = 0; |
if (empty($spec)) continue; |
||||
$item_unit_price_arr[$i] = str_replace(",", "", $item_unit_price_arr[$i]); |
if (!$fp_id_arr[$i]) $fp_id_arr[$i] = 0; |
||||
$item_qty_arr[$i] = str_replace(",", "", $item_qty_arr[$i]); |
$item_unit_price_arr[$i] = str_replace(",", "", $item_unit_price_arr[$i]); |
||||
$item_price_bp_arr[$i] = str_replace(",", "", $item_price_bp_arr[$i]); |
$item_qty_arr[$i] = str_replace(",", "", $item_qty_arr[$i]); |
||||
$item_price_ct_arr[$i] = str_replace(",", "", $item_price_ct_arr[$i]); |
$item_price_bp_arr[$i] = str_replace(",", "", $item_price_bp_arr[$i]); |
||||
//$item_price_arr[$i] = str_replace(",", "", $item_price_arr[$i]); |
$item_price_ct_arr[$i] = str_replace(",", "", $item_price_ct_arr[$i]); |
||||
if (empty($item_price_arr[$i])) $item_price_arr[$i] = 0; |
//$item_price_arr[$i] = str_replace(",", "", $item_price_arr[$i]); |
||||
//$gross_profit_arr[$i] = str_replace(",", "", $gross_profit_arr[$i]); |
if (empty($item_price_arr[$i])) $item_price_arr[$i] = 0; |
||||
if (empty($gross_profit_arr[$i])) $gross_profit_arr[$i] = 0; |
//$gross_profit_arr[$i] = str_replace(",", "", $gross_profit_arr[$i]); |
||||
$gross_profit_rate = number_format(($gross_profit_arr[$i]/$item_price_bp_arr[$i])*100, 1); |
if (empty($gross_profit_arr[$i])) $gross_profit_arr[$i] = 0; |
||||
$note = $fp_kind_arr[$i].",".$fp_seat_arr[$i].",".$fp_numberofstop_arr[$i].",".$fp_speed_arr[$i]; |
$gross_profit_rate = number_format(($gross_profit_arr[$i] / $item_price_bp_arr[$i]) * 100, 1); |
||||
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_spec, item_weight, item_op, item_group, item_unit_price, item_qty, item_price_bp, item_price_ct, item_price, gross_profit, gross_profit_rate, note) values ("; |
$note = $fp_kind_arr[$i] . "," . $fp_seat_arr[$i] . "," . $fp_numberofstop_arr[$i] . "," . $fp_speed_arr[$i]; |
||||
$db_query .= "'$mid', '$fp_id_arr[$i]', '$item_no', '$item_spec_arr[$i]', '$item_weight_arr[$i]', '$item_op_arr[$i]', 'A', '$item_unit_price_arr[$i]', '$item_qty_arr[$i]', '$item_price_bp_arr[$i]', '$item_price_ct_arr[$i]', '$item_price_arr[$i]', '$gross_profit_arr[$i]', '$gross_profit_rate', '$note')"; |
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_spec, item_weight, item_op, item_group, item_unit_price, item_qty, item_price_bp, item_price_ct, item_price, gross_profit, gross_profit_rate, note) values ("; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$mid', '$fp_id_arr[$i]', '$item_no', '$item_spec_arr[$i]', '$item_weight_arr[$i]', '$item_op_arr[$i]', 'A', '$item_unit_price_arr[$i]', '$item_qty_arr[$i]', '$item_price_bp_arr[$i]', '$item_price_ct_arr[$i]', '$item_price_arr[$i]', '$gross_profit_arr[$i]', '$gross_profit_rate', '$note')"; |
||||
$item_no++; |
$result = mysqli_query($link, $db_query); |
||||
} |
$item_no++; |
||||
|
} |
||||
// 價格審查單-明細項目 pricereview_item:Option加價 |
|
||||
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'B'"; |
// 價格審查單-明細項目 pricereview_item:Option加價 |
||||
mysqli_query($link, $db_query); |
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'B'"; |
||||
$op_id_arr = explode(",", $op_id_all); |
mysqli_query($link, $db_query); |
||||
$option_seat_all = str_replace("點選", "", $option_seat_all); |
$op_id_arr = explode(",", $op_id_all); |
||||
$option_seat_arr = explode(",", str_replace("@@", "", $option_seat_all)); |
$option_seat_all = str_replace("點選", "", $option_seat_all); |
||||
$option_unit_price_arr = explode(",", $option_unit_price_all); |
$option_seat_arr = explode(",", str_replace("@@", "", $option_seat_all)); |
||||
$option_qty_arr = explode(",", $option_qty_all); |
$option_unit_price_arr = explode(",", $option_unit_price_all); |
||||
$option_price_bp_arr = explode(",", $option_price_bp_all); |
$option_qty_arr = explode(",", $option_qty_all); |
||||
$option_memo_arr = explode("@@,", rtrim($option_memo_all, "@@")); |
$option_price_bp_arr = explode(",", $option_price_bp_all); |
||||
$option_relate_facil_arr = explode(",", htmlspecialchars_decode($option_relate_facil_all)); |
$option_memo_arr = explode("@@,", rtrim($option_memo_all, "@@")); |
||||
$item_no = 1; |
$option_relate_facil_arr = explode(",", htmlspecialchars_decode($option_relate_facil_all)); |
||||
for ($i=0; $i<count($option_seat_arr); $i++) { |
$item_no = 1; |
||||
$spec = trim($option_seat_arr[$i]); |
for ($i = 0; $i < count($option_seat_arr); $i++) { |
||||
if (empty($spec)) continue; |
$spec = trim($option_seat_arr[$i]); |
||||
$option_unit_price_arr[$i] = str_replace(",", "", $option_unit_price_arr[$i]); |
if (empty($spec)) continue; |
||||
$option_qty_arr[$i] = str_replace(",", "", $option_qty_arr[$i]); |
$option_unit_price_arr[$i] = str_replace(",", "", $option_unit_price_arr[$i]); |
||||
$option_price_bp_arr[$i] = str_replace(",", "", $option_price_bp_arr[$i]); |
$option_qty_arr[$i] = str_replace(",", "", $option_qty_arr[$i]); |
||||
$option_relate_spec = ""; |
$option_price_bp_arr[$i] = str_replace(",", "", $option_price_bp_arr[$i]); |
||||
$tmp_arr = explode("<br>", $option_relate_facil_arr[$i]); |
$option_relate_spec = ""; |
||||
foreach ($tmp_arr as $val) { |
$tmp_arr = explode("<br>", $option_relate_facil_arr[$i]); |
||||
$option_relate_spec .= substr($val, 0, strpos($val, ".")).","; |
foreach ($tmp_arr as $val) { |
||||
} |
$option_relate_spec .= substr($val, 0, strpos($val, ".")) . ","; |
||||
$option_relate_spec = rtrim($option_relate_spec, ","); |
} |
||||
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, memo) values ("; |
$option_relate_spec = rtrim($option_relate_spec, ","); |
||||
$db_query .= "'$mid', '$op_id_arr[$i]', '$item_no', 'B', '$spec', '$option_relate_spec', '$option_unit_price_arr[$i]', '$option_qty_arr[$i]', '$option_price_bp_arr[$i]', '$option_memo_arr[$i]')"; |
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, memo) values ("; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$mid', '$op_id_arr[$i]', '$item_no', 'B', '$spec', '$option_relate_spec', '$option_unit_price_arr[$i]', '$option_qty_arr[$i]', '$option_price_bp_arr[$i]', '$option_memo_arr[$i]')"; |
||||
$item_no++; |
$result = mysqli_query($link, $db_query); |
||||
} |
$item_no++; |
||||
|
} |
||||
// 價格審查單-明細項目 pricereview_item:拆梯費用 |
|
||||
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'C'"; |
// 價格審查單-明細項目 pricereview_item:拆梯費用 |
||||
mysqli_query($link, $db_query); |
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'C'"; |
||||
$dem_id_arr = explode(",", $dem_id_all); |
mysqli_query($link, $db_query); |
||||
$seat_arr = explode(",", $seat_all); |
$dem_id_arr = explode(",", $dem_id_all); |
||||
$floor_arr = explode(",", $floor_all); |
$seat_arr = explode(",", $seat_all); |
||||
$demolition_unit_price_arr = explode(",", $demolition_unit_price_all); |
$floor_arr = explode(",", $floor_all); |
||||
$demolition_qty_arr = explode(",", $demolition_qty_all); |
$demolition_unit_price_arr = explode(",", $demolition_unit_price_all); |
||||
$demolition_price_bp_arr = explode(",", $demolition_price_bp_all); |
$demolition_qty_arr = explode(",", $demolition_qty_all); |
||||
$item_no = 1; |
$demolition_price_bp_arr = explode(",", $demolition_price_bp_all); |
||||
for ($i=0; $i<count($seat_arr); $i++) { |
$item_no = 1; |
||||
$spec = trim($seat_arr[$i]); |
for ($i = 0; $i < count($seat_arr); $i++) { |
||||
if (!$spec) continue; |
$spec = trim($seat_arr[$i]); |
||||
$demolition_unit_price_arr[$i] = str_replace(",", "", $demolition_unit_price_arr[$i]); |
if (!$spec) continue; |
||||
$demolition_qty_arr[$i] = str_replace(",", "", $demolition_qty_arr[$i]); |
$demolition_unit_price_arr[$i] = str_replace(",", "", $demolition_unit_price_arr[$i]); |
||||
$demolition_price_bp_arr[$i] = str_replace(",", "", $demolition_price_bp_arr[$i]); |
$demolition_qty_arr[$i] = str_replace(",", "", $demolition_qty_arr[$i]); |
||||
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values ("; |
$demolition_price_bp_arr[$i] = str_replace(",", "", $demolition_price_bp_arr[$i]); |
||||
$db_query .= "'$mid', '$dem_id_arr[$i]', '$item_no', 'C', '$spec', '$demolition_unit_price_arr[$i]', '$demolition_qty_arr[$i]', '$demolition_price_bp_arr[$i]', '$floor_arr[$i]')"; |
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values ("; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$mid', '$dem_id_arr[$i]', '$item_no', 'C', '$spec', '$demolition_unit_price_arr[$i]', '$demolition_qty_arr[$i]', '$demolition_price_bp_arr[$i]', '$floor_arr[$i]')"; |
||||
$item_no++; |
$result = mysqli_query($link, $db_query); |
||||
} |
$item_no++; |
||||
|
} |
||||
// 價審明細:保養費用 |
|
||||
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'D'"; |
// 價審明細:保養費用 |
||||
mysqli_query($link, $db_query); |
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'D'"; |
||||
$mn_id_arr = explode(",", $mn_id_all); |
mysqli_query($link, $db_query); |
||||
$mn_kind_arr = explode(",", $mn_kind_all); |
$mn_id_arr = explode(",", $mn_id_all); |
||||
$mn_seat_arr = explode(",", $mn_seat_all); |
$mn_kind_arr = explode(",", $mn_kind_all); |
||||
$mn_numberofstop_arr = explode(",", $mn_numberofstop_all); |
$mn_seat_arr = explode(",", $mn_seat_all); |
||||
$mn_speed_arr = explode(",", $mn_speed_all); |
$mn_numberofstop_arr = explode(",", $mn_numberofstop_all); |
||||
$mn_unit_price_arr = explode(",", $mn_unit_price_all); |
$mn_speed_arr = explode(",", $mn_speed_all); |
||||
$mn_qty_arr = explode(",", $mn_qty_all); |
$mn_unit_price_arr = explode(",", $mn_unit_price_all); |
||||
$mn_price_bp_arr = explode(",", $mn_price_bp_all); |
$mn_qty_arr = explode(",", $mn_qty_all); |
||||
$mn_memo_arr = explode("@@,", rtrim($mn_memo_all, "@@")); |
$mn_price_bp_arr = explode(",", $mn_price_bp_all); |
||||
$mn_relate_facil_arr = explode(",", htmlspecialchars_decode($mn_relate_facil_all)); |
$mn_memo_arr = explode("@@,", rtrim($mn_memo_all, "@@")); |
||||
$item_no = 1; |
$mn_relate_facil_arr = explode(",", htmlspecialchars_decode($mn_relate_facil_all)); |
||||
for ($i=0; $i<count($mn_seat_arr); $i++) { |
$item_no = 1; |
||||
if (empty($mn_kind_arr[$i])) continue; |
for ($i = 0; $i < count($mn_seat_arr); $i++) { |
||||
$mn_unit_price_arr[$i] = str_replace(",", "", $mn_unit_price_arr[$i]); |
if (empty($mn_kind_arr[$i])) continue; |
||||
$mn_qty_arr[$i] = str_replace(",", "", $mn_qty_arr[$i]); |
$mn_unit_price_arr[$i] = str_replace(",", "", $mn_unit_price_arr[$i]); |
||||
$mn_price_bp_arr[$i] = str_replace(",", "", $mn_price_bp_arr[$i]); |
$mn_qty_arr[$i] = str_replace(",", "", $mn_qty_arr[$i]); |
||||
$note = $mn_seat_arr[$i].",".$mn_numberofstop_arr[$i].",".$mn_speed_arr[$i]; |
$mn_price_bp_arr[$i] = str_replace(",", "", $mn_price_bp_arr[$i]); |
||||
$option_relate_spec = ""; |
$note = $mn_seat_arr[$i] . "," . $mn_numberofstop_arr[$i] . "," . $mn_speed_arr[$i]; |
||||
$tmp_arr = explode("<br>", $mn_relate_facil_arr[$i]); |
$option_relate_spec = ""; |
||||
foreach ($tmp_arr as $val) { |
$tmp_arr = explode("<br>", $mn_relate_facil_arr[$i]); |
||||
$option_relate_spec .= substr($val, 0, strpos($val, ".")).","; |
foreach ($tmp_arr as $val) { |
||||
} |
$option_relate_spec .= substr($val, 0, strpos($val, ".")) . ","; |
||||
$option_relate_spec = rtrim($option_relate_spec, ","); |
} |
||||
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, note, memo) values ("; |
$option_relate_spec = rtrim($option_relate_spec, ","); |
||||
$db_query .= "'$mid', '$mn_id_arr[$i]', '$item_no', 'D', '$mn_kind_arr[$i]', '$option_relate_spec', '$mn_unit_price_arr[$i]', '$mn_qty_arr[$i]', '$mn_price_bp_arr[$i]', '$note', '$mn_memo_arr[$i]')"; |
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, note, memo) values ("; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$mid', '$mn_id_arr[$i]', '$item_no', 'D', '$mn_kind_arr[$i]', '$option_relate_spec', '$mn_unit_price_arr[$i]', '$mn_qty_arr[$i]', '$mn_price_bp_arr[$i]', '$note', '$mn_memo_arr[$i]')"; |
||||
$item_no++; |
$result = mysqli_query($link, $db_query); |
||||
} |
$item_no++; |
||||
|
} |
||||
// 價審明細:除外費用 |
|
||||
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'E'"; |
// 價審明細:除外費用 |
||||
mysqli_query($link, $db_query); |
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'E'"; |
||||
$except_note_arr = explode(",", $except_note_all); |
mysqli_query($link, $db_query); |
||||
$except_spec_arr = explode(",", $except_spec_all); |
$except_note_arr = explode(",", $except_note_all); |
||||
$except_unit_price_arr = explode(",", $except_unit_price_all); |
$except_spec_arr = explode(",", $except_spec_all); |
||||
$except_qty_arr = explode(",", $except_qty_all); |
$except_unit_price_arr = explode(",", $except_unit_price_all); |
||||
$except_price_bp_arr = explode(",", $except_price_bp_all); |
$except_qty_arr = explode(",", $except_qty_all); |
||||
$item_no = 1; |
$except_price_bp_arr = explode(",", $except_price_bp_all); |
||||
for ($i=0; $i<count($except_spec_arr); $i++) { |
$item_no = 1; |
||||
$spec = trim($except_spec_arr[$i]); |
for ($i = 0; $i < count($except_spec_arr); $i++) { |
||||
if (empty($spec)) continue; |
$spec = trim($except_spec_arr[$i]); |
||||
$except_unit_price_arr[$i] = str_replace(",", "", $except_unit_price_arr[$i]); |
if (empty($spec)) continue; |
||||
$except_qty_arr[$i] = str_replace(",", "", $except_qty_arr[$i]); |
$except_unit_price_arr[$i] = str_replace(",", "", $except_unit_price_arr[$i]); |
||||
$except_price_bp_arr[$i] = str_replace(",", "", $except_price_bp_arr[$i]); |
$except_qty_arr[$i] = str_replace(",", "", $except_qty_arr[$i]); |
||||
$db_query = "insert into pricereview_item (mid, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values ("; |
$except_price_bp_arr[$i] = str_replace(",", "", $except_price_bp_arr[$i]); |
||||
$db_query .= "'$mid', '$item_no', 'E', '$spec', '$except_unit_price_arr[$i]', '$except_qty_arr[$i]', '$except_price_bp_arr[$i]', '$except_note_arr[$i]')"; |
$db_query = "insert into pricereview_item (mid, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values ("; |
||||
$result = mysqli_query($link, $db_query); |
$db_query .= "'$mid', '$item_no', 'E', '$spec', '$except_unit_price_arr[$i]', '$except_qty_arr[$i]', '$except_price_bp_arr[$i]', '$except_note_arr[$i]')"; |
||||
$item_no++; |
$result = mysqli_query($link, $db_query); |
||||
} |
$item_no++; |
||||
|
} |
||||
// 款別資訊 |
|
||||
$pay_kind_arr = explode(",", $pay_kind_all); |
// 款別資訊 |
||||
$pay_scale_arr = explode(",", $pay_scale_all); |
$pay_kind_arr = explode(",", $pay_kind_all); |
||||
$pay_amount_arr = explode(",", $pay_amount_all); |
$pay_scale_arr = explode(",", $pay_scale_all); |
||||
$pay_period_arr = explode(",", $pay_period_all); |
$pay_amount_arr = explode(",", $pay_amount_all); |
||||
for ($i=0; $i<7; $i++) { |
$pay_period_arr = explode(",", $pay_period_all); |
||||
$pay_scale_arr[$i] = (empty($pay_scale_arr[$i])) ? 0 : $pay_scale_arr[$i]; |
for ($i = 0; $i < 7; $i++) { |
||||
$pay_amount_arr[$i] = (empty($pay_amount_arr[$i])) ? 0 : $pay_amount_arr[$i]; |
$pay_scale_arr[$i] = (empty($pay_scale_arr[$i])) ? 0 : $pay_scale_arr[$i]; |
||||
$sql = "insert into pricereview_pay (mid, pay_kind, pay_scale, pay_amount, pay_period, pay_note) values "; |
$pay_amount_arr[$i] = (empty($pay_amount_arr[$i])) ? 0 : $pay_amount_arr[$i]; |
||||
$sql .= "('$mid', '$pay_kind_arr[$i]', '$pay_scale_arr[$i]', '$pay_amount_arr[$i]', '$pay_period_arr[$i]', '$pay_note')"; |
$sql = "insert into pricereview_pay (mid, pay_kind, pay_scale, pay_amount, pay_period, pay_note) values "; |
||||
mysqli_query($link, $sql); |
$sql .= "('$mid', '$pay_kind_arr[$i]', '$pay_scale_arr[$i]', '$pay_amount_arr[$i]', '$pay_period_arr[$i]', '$pay_note')"; |
||||
} |
mysqli_query($link, $sql); |
||||
|
} |
||||
// 價審簽核流程 |
|
||||
// <75%以下呈至總經理審核. ($price_rate) |
// 價審簽核流程 |
||||
// 契約員 > 上級主管 > 詹總 > 總經理 |
// <75%以下呈至總經理審核. ($price_rate) |
||||
if ($status == "YS") { |
// 契約員 > 上級主管 > 詹總 > 總經理 |
||||
$manager_arr = pricereview_renovate_class($price_rate, $user_id, $renovate_flag); |
if ($status == "YS") { |
||||
if ($manager_arr) { |
$manager_arr = pricereview_renovate_class($price_rate, $user_id, $renovate_flag); |
||||
$sign1 = $sign2 = $sign3 = $sign4 = ""; |
if ($manager_arr) { |
||||
foreach ($manager_arr as $k => $v) { |
$sign1 = $sign2 = $sign3 = $sign4 = ""; |
||||
if ($k == 1) $sign1 = $v.",,"; |
foreach ($manager_arr as $k => $v) { |
||||
elseif ($k == 2) $sign2 = $v.",,"; |
if ($k == 1) $sign1 = $v . ",,"; |
||||
elseif ($k == 3) $sign3 = $v.",,"; |
elseif ($k == 2) $sign2 = $v . ",,"; |
||||
else $sign4 = $v.",,"; |
elseif ($k == 3) $sign3 = $v . ",,"; |
||||
} |
else $sign4 = $v . ",,"; |
||||
$sql = "insert into pricereview_sign (mid, sign1, sign2, sign3, sign4, sign_total) values ('$mid', '$sign1', '$sign2', '$sign3', '$sign4', '".count($manager_arr)."')"; |
} |
||||
mysqli_query($link, $sql); |
$sql = "insert into pricereview_sign (mid, sign1, sign2, sign3, sign4, sign_total) values ('$mid', '$sign1', '$sign2', '$sign3', '$sign4', '" . count($manager_arr) . "')"; |
||||
// 寫入待簽表 |
mysqli_query($link, $sql); |
||||
if (strlen($sign1) == 7) $next_signer = str_replace(",", "", $sign1); |
// 寫入待簽表 |
||||
elseif (strlen($sign2) == 7) $next_signer = str_replace(",", "", $sign2); |
if (strlen($sign1) == 7) $next_signer = str_replace(",", "", $sign1); |
||||
do_assign("prm02", $mid, $contractno, $next_signer); |
elseif (strlen($sign2) == 7) $next_signer = str_replace(",", "", $sign2); |
||||
|
do_assign("prm02", $mid, $contractno, $next_signer); |
||||
// 寄信給下位簽核人 |
|
||||
$mail_list = []; |
// 寄信給下位簽核人 |
||||
$ret = accountid2email($next_signer); |
$mail_list = []; |
||||
if (!empty($ret)) { |
$ret = accountid2email($next_signer); |
||||
$mail_list[0] = [$next_signer, $ret[$next_signer]]; |
if (!empty($ret)) { |
||||
include dirname(__DIR__)."/class/Cmail.php"; |
$mail_list[0] = [$next_signer, $ret[$next_signer]]; |
||||
$sendmail = new Cmail; |
include dirname(__DIR__) . "/class/Cmail.php"; |
||||
$title = "【汰改價審通知】卷號:".$contractno; |
$sendmail = new Cmail; |
||||
$content = "<p>您有待簽核案件,請至<a href=\"http://oa.masada.com.tw\">客戶管理 > 價格審查_汰改</a>,點擊「待簽核」進行作業,謝謝!</p>"; |
$title = "【汰改價審通知】卷號:" . $contractno; |
||||
$sendmail->sendx($title, $content, $mail_list); |
$content = "<p>您有待簽核案件,請至<a href=\"http://oa.masada.com.tw\">客戶管理 > 價格審查_汰改</a>,點擊「待簽核」進行作業,謝謝!</p>"; |
||||
} |
$sendmail->sendx($title, $content, $mail_list); |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
|
} |
||||
mysqli_close($link); |
|
||||
if ($affected > 0) { |
mysqli_close($link); |
||||
echo "<script type = 'text/JavaScript'>"; |
if ($affected > 0) { |
||||
echo "alert('".$st_str."成功');"; |
echo "<script type = 'text/JavaScript'>"; |
||||
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&".$token_link."';"; |
echo "alert('" . $st_str . "成功');"; |
||||
echo "</script>"; |
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&" . $token_link . "';"; |
||||
} else { |
echo "</script>"; |
||||
echo "<script type = 'text/JavaScript'>"; |
} else { |
||||
echo "alert('".$st_str."失敗,請重新操作');"; |
echo "<script type = 'text/JavaScript'>"; |
||||
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&".$token_link."';"; |
echo "alert('" . $st_str . "失敗,請重新操作');"; |
||||
echo "</script>"; |
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&" . $token_link . "';"; |
||||
} |
echo "</script>"; |
||||
} |
} |
||||
?> |
} |
||||
|
@ -0,0 +1,60 @@ |
|||||
|
<?php |
||||
|
include "header.php"; |
||||
|
$sql = "SELECT |
||||
|
B.rib_id,B.BillNo,B.DeptId, B.CreatorId, C.name, A.InvoiceNo,B.CurrentState |
||||
|
FROM `rib_sub` AS A |
||||
|
LEFT JOIN `rib` AS B |
||||
|
ON A.rib_id=B.rib_id |
||||
|
LEFT JOIN `account` AS C ON A.CreatorId=C.accountid |
||||
|
WHERE B.CurrentState |
||||
|
IN (1,2,4) AND A.InvoiceNo IS NOT NULL AND trim(A.InvoiceNo)!='' AND B.BillNo NOT IN ('M0056231003','M0056231002') |
||||
|
ORDER BY A.InvoiceNo"; |
||||
|
$query = mysqli_query($link, $sql); |
||||
|
$array = array(); |
||||
|
$repeat_array = array(); |
||||
|
foreach ($query as $value) { |
||||
|
$InvoiceNo = preg_replace('/\s(?=)/', '', $value['InvoiceNo']); |
||||
|
$InvoiceNo = str_replace('-', '', $InvoiceNo); |
||||
|
// echo $InvoiceNo." //".$value['BillNo']; |
||||
|
// echo "<br>"; |
||||
|
if (isset($array[$InvoiceNo])) { |
||||
|
if (in_array($value['BillNo'], $array[$InvoiceNo]['BillNo'])) { |
||||
|
} else { |
||||
|
array_push($array[$InvoiceNo]['BillNo'], $value['BillNo']); |
||||
|
array_push($array[$InvoiceNo]['InvoiceNo'], $value['InvoiceNo']); |
||||
|
$repeat_array[$InvoiceNo]['BillNo']= $array[$InvoiceNo]['BillNo']; |
||||
|
$repeat_array[$InvoiceNo]['InvoiceNo']= $array[$InvoiceNo]['InvoiceNo']; |
||||
|
} |
||||
|
} else { |
||||
|
// $array[$InvoiceNo] = array($value['BillNo']); |
||||
|
$array[$InvoiceNo]['BillNo']= array($value['BillNo']); |
||||
|
$array[$InvoiceNo]['InvoiceNo']=array($value['InvoiceNo']); |
||||
|
} |
||||
|
} |
||||
|
$duplicate = "("; |
||||
|
foreach($repeat_array as $repeat){ |
||||
|
$tmp = "'"; |
||||
|
$tmp .= implode("','",$repeat['InvoiceNo']); |
||||
|
$tmp .="'"; |
||||
|
$duplicate .= $tmp.","; |
||||
|
} |
||||
|
|
||||
|
$duplicate = substr($duplicate,0,-1); |
||||
|
$duplicate.=")"; |
||||
|
// // echo $repeat."<br>"; |
||||
|
$sql_repeat = "SELECT |
||||
|
A.rib_id,A.BillNo, A.CurrentState, A.CreatorId,C.name,B.InvoiceNo, A.GatheringPersonId,A.WriteOffAmount,A.CreateTime |
||||
|
FROM `rib_sub` AS B |
||||
|
LEFT JOIN `rib` AS A ON A.rib_id=B.rib_id |
||||
|
LEFT JOIN `account` AS C ON A.CreatorId=C.accountid |
||||
|
WHERE A.CurrentState IN (1,2,4) |
||||
|
AND B.InvoiceNo IN $duplicate ORDER BY B.InvoiceNo"; |
||||
|
|
||||
|
|
||||
|
$repeat_query = mysqli_query($link, $sql_repeat); |
||||
|
foreach($repeat_query as $value){ |
||||
|
echo $value['rib_id'].";".$value['BillNo'].";".$value['CurrentState'].";".$value['CreatorId'].";".$value['name'].";".$value['InvoiceNo'].";".$value['GatheringPersonId'].";".$value['WriteOffAmount'].";".$value['CreateTime']; |
||||
|
echo "<br>"; |
||||
|
} |
||||
|
|
||||
|
?> |
Loading…
Reference in new issue