Browse Source

20240222-cheng

gary
Cheng 1 year ago
parent
commit
636889709c
  1. 6
      wms/contract/api/getContractData.php
  2. 2
      wms/contract/api/postContractData.php
  3. 393
      wms/contract/api/postNewContractData.php
  4. 9
      wms/contract/js/alpine.js
  5. 309
      wms/contract_b-index.php
  6. 8
      wms/crm/crmm03-edit.php
  7. 28
      wms/crm/crmm04-edit.php

6
wms/contract/api/getContractData.php

@ -46,9 +46,11 @@ if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['cont
if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['contracttype']) && $_GET['contracttype'] == 'm') { if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['contracttype']) && $_GET['contracttype'] == 'm') {
try { try {
$contractno = $_GET['contractno']; $contractno = $_GET['contractno'];
$sql_str = "SELECT * FROM hope_elevator_customer WHERE vol_no = :vol_no ORDER BY created_at DESC"; $sql_str = "SELECT a.*,b.lm_tel,b.uscc,b.manager FROM pricereview_main AS a
LEFT JOIN hope_elevator_customer AS b ON a.contractno = b.vol_no
WHERE a.contractno = :contractno AND a.status = 'YS' ";
$stmt = $conn->prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt->bindParam(':vol_no', $contractno); $stmt->bindParam(':contractno', $contractno);
$stmt->execute(); $stmt->execute();
$contract = $stmt->fetch(PDO::FETCH_ASSOC); $contract = $stmt->fetch(PDO::FETCH_ASSOC);
$contractResponse = json_encode($contract); $contractResponse = json_encode($contract);

2
wms/contract/api/postContractData.php

@ -412,7 +412,7 @@ function T8insert($data, $facilityno, $depId)
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno); $stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute(); $stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC); $result = $stmt->fetch(PDO::FETCH_ASSOC);
$date = date('Y-m-dH-s-i'); $date = date('Y-m-dH-s-i');
$date_1 = date('Y-m-d'); $date_1 = date('Y-m-d');
$createTime = str_replace("-", '', $date); $createTime = str_replace("-", '', $date);

393
wms/contract/api/postNewContractData.php

@ -1,139 +1,254 @@
<?php <?php
require_once("../conn.php"); require_once("../conn.php");
include_once("./getFacilityNo.php"); include_once("./getFacilityNo.php");
include_once("./getComboNo.php"); include_once("./getComboNo.php");
include_once("./upload_chk.php"); include_once("./upload_chk.php");
ini_set ( 'date.timezone' , 'Asia/Taipei' ); ini_set('date.timezone', 'Asia/Taipei');
if($_SERVER['REQUEST_METHOD'] != 'POST'){ if ($_SERVER['REQUEST_METHOD'] != 'POST') {
exit(); exit();
} }
//新梯簽回 //新梯簽回
if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'm') { if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'm') {
try{ try {
$created_at = date('Y-m-d H:i:s'); $created_at = date('Y-m-d H:i:s');
$created_by = $_POST["user_id"]; $created_by = $_POST["user_id"];
$contractno = $_POST["contractno"]; $contractno = $_POST["contractno"];
$customer = $_POST["customer"]; $customer = $_POST["customer"];
$manager = $_POST["manager"]; $manager = $_POST["manager"];
$vat = $_POST["vat"]; $vat = $_POST["vat"];
$case_name = $_POST["case_name"]; $case_name = $_POST["case_name"];
$linkman = $_POST["linkman"]; $linkman = $_POST["linkman"];
$lm_tel = $_POST["lm_tel"]; $lm_tel = $_POST["lm_tel"];
$address = $_POST["address"]; $address = $_POST["address"];
$salesman = $_POST["salesman"]; $salesman = $_POST["salesman"];
$qc = $_POST["qc"]; $qc = $_POST["qc"];
$contracttype = $_POST["contracttype"]; $contracttype = $_POST["contracttype"];
$files = !empty($_FILES['files']) ? $_FILES['files'] : null; $files = !empty($_FILES['files']) ? $_FILES['files'] : null;
$files_id = null; $files_id = null;
$fail_arr = []; $fail_arr = [];
if(empty($contractno)) $fail_arr[] = '合約號為必填'; if (empty($contractno)) $fail_arr[] = '合約號為必填';
if(empty($customer)) $fail_arr[] = '客戶名稱為必填'; if (empty($customer)) $fail_arr[] = '客戶名稱為必填';
if(empty($manager)) $fail_arr[] = '負責人為必填'; if (empty($manager)) $fail_arr[] = '負責人為必填';
if(empty($vat)) $fail_arr[] = '統編/身分證為必填'; if (empty($vat)) $fail_arr[] = '統編/身分證為必填';
if(empty($case_name)) $fail_arr[] = '案名為必填'; if (empty($case_name)) $fail_arr[] = '案名為必填';
if(empty($linkman)) $fail_arr[] = '聯絡人為必填'; if (empty($linkman)) $fail_arr[] = '聯絡人為必填';
if(empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填'; if (empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填';
if(empty($address)) $fail_arr[] = '地址為必填'; if (empty($address)) $fail_arr[] = '地址為必填';
if(empty($salesman)) $fail_arr[] = '營業員為必填'; if (empty($salesman)) $fail_arr[] = '營業員為必填';
if(empty($qc)) $fail_arr[] = '請選擇QC或官檢'; if (empty($qc)) $fail_arr[] = '請選擇QC或官檢';
if(count($fail_arr) > 0) { if (count($fail_arr) > 0) {
header("HTTP/1.1 422 Unprocessable Entity"); header("HTTP/1.1 422 Unprocessable Entity");
echo json_encode($fail_arr); echo json_encode($fail_arr);
exit(); exit();
} }
$conn->beginTransaction(); $conn->beginTransaction();
$sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC"; $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC";
$stmt = $conn -> prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(":accountid",$salesman); $stmt->bindParam(":accountid", $salesman);
$stmt -> execute(); $stmt->execute();
$saleman = $stmt->fetch(PDO::FETCH_ASSOC); $saleman = $stmt->fetch(PDO::FETCH_ASSOC);
$salesman_name = $saleman['name']; $salesman_name = $saleman['name'];
if(!empty($files)){ if (!empty($files)) {
$englisharr = range('a', 'z'); $englisharr = range('a', 'z');
$files = $_FILES['files']; $files = $_FILES['files'];
$newfiles = []; $newfiles = [];
foreach( $files as $file ){ foreach ($files as $file) {
$i = 0; //新陣列的索引編號 $i = 0; //新陣列的索引編號
foreach( $file as $key => $val ){ foreach ($file as $key => $val) {
$newfiles[$i]['name'] = $files['name'][$key]; $newfiles[$i]['name'] = $files['name'][$key];
$newfiles[$i]['type'] = $files['type'][$key]; $newfiles[$i]['type'] = $files['type'][$key];
$newfiles[$i]['tmp_name'] = $files['tmp_name'][$key]; $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key];
$newfiles[$i]['error'] = $files['error'][$key]; $newfiles[$i]['error'] = $files['error'][$key];
$newfiles[$i]['size'] = $files['size'][$key]; $newfiles[$i]['size'] = $files['size'][$key];
$i++; $i++;
} //foreach 第2層 end } //foreach 第2層 end
} }
$max_size = 4096*4096; //設定允許上傳檔案容量的最大值(1M) $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M)
$allow_ext = array('jpeg', 'jpg', 'png','JPG','JPEG','PNG','GIF'); //設定允許上傳檔案的類型 $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型
$path = '../images/contracts/'; $path = '../images/contracts/';
if (!file_exists($path)) { mkdir($path); } if (!file_exists($path)) {
$msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 mkdir($path);
$datetime = (string)date('YmdHis'); }
$files_id = 'm' . $datetime; // 保養=>b + 日期時間 $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息
foreach( $newfiles as $key => $file ){ $datetime = (string)date('YmdHis');
$randNum = rand(1000,9999); $files_id = 'm' . $datetime; // 保養=>b + 日期時間
$randEnglish = $englisharr[rand(0,25)]; foreach ($newfiles as $key => $file) {
$file_name = 'm' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum.$file['name']; $randNum = rand(1000, 9999);
$msg = upload_chk( $file,$path, $max_size, $allow_ext, $file_name ); $randEnglish = $englisharr[rand(0, 25)];
if($msg==1){ $file_name = 'm' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum . $file['name'];
$msg = '檔案傳送成功!'; $msg = upload_chk($file, $path, $max_size, $allow_ext, $file_name);
$sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)"; if ($msg == 1) {
$stmt = $conn -> prepare($sql_str); $msg = '檔案傳送成功!';
$stmt -> bindParam(':files_id' ,$files_id); $sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)";
$stmt -> bindParam(':file_name' ,$file_name); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(':file_mime' ,$file['type']); $stmt->bindParam(':files_id', $files_id);
$stmt -> bindParam(':file_size' ,$file['size']); $stmt->bindParam(':file_name', $file_name);
$stmt -> bindParam(':created_at' ,$created_at); $stmt->bindParam(':file_mime', $file['type']);
$stmt -> bindParam(':created_by' ,$created_by); $stmt->bindParam(':file_size', $file['size']);
$stmt ->execute(); $stmt->bindParam(':created_at', $created_at);
}else{ $stmt->bindParam(':created_by', $created_by);
throw new PDOException('檔案上傳失敗:' . $msg); $stmt->execute();
} } else {
$msg_result .= '第' . ($key+1) . '個上傳檔案的結果:' . $msg . '<br/>'; throw new PDOException('檔案上傳失敗:' . $msg);
$src_name = $path.$file['name']; }
if( file_exists($src_name) ){ $msg_result .= '第' . ($key + 1) . '個上傳檔案的結果:' . $msg . '<br/>';
//副檔名 $src_name = $path . $file['name'];
$extname = pathinfo($src_name, PATHINFO_EXTENSION); if (file_exists($src_name)) {
//主檔名 //副檔名
$basename = basename($src_name, '.'.$extname); $extname = pathinfo($src_name, PATHINFO_EXTENSION);
} //主檔名
} $basename = basename($src_name, '.' . $extname);
}else{ }
$files = null; }
} } else {
$files = null;
$sql_str = "INSERT INTO contract_m_signed_back (contract_no, customer, manager, vat, case_name, linkman, lm_tel, address, salesman, salesman_name, files_id, created_at, created_by, qc_official_type) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by, :qc)"; }
$stmt = $conn -> prepare($sql_str);
$stmt -> bindParam(":contract_no",$contractno); $sql_str = "INSERT INTO contract_m_signed_back (contract_no, customer, manager, vat, case_name, linkman, lm_tel, address, salesman, salesman_name, files_id, created_at, created_by, qc_official_type) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by, :qc)";
$stmt -> bindParam(":customer",$customer); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(":manager",$manager); $stmt->bindParam(":contract_no", $contractno);
$stmt -> bindParam(":vat",$vat); $stmt->bindParam(":customer", $customer);
$stmt -> bindParam(":case_name",$case_name); $stmt->bindParam(":manager", $manager);
$stmt -> bindParam(":linkman",$linkman); $stmt->bindParam(":vat", $vat);
$stmt -> bindParam(":lm_tel",$lm_tel); $stmt->bindParam(":case_name", $case_name);
$stmt -> bindParam(":address",$address); $stmt->bindParam(":linkman", $linkman);
$stmt -> bindParam(":salesman",$salesman); $stmt->bindParam(":lm_tel", $lm_tel);
$stmt -> bindParam(":salesman_name",$salesman_name); $stmt->bindParam(":address", $address);
$stmt -> bindParam(":files_id",$files_id); $stmt->bindParam(":salesman", $salesman);
$stmt -> bindParam(":created_at",$created_at); $stmt->bindParam(":salesman_name", $salesman_name);
$stmt -> bindParam(":created_by",$created_by); $stmt->bindParam(":files_id", $files_id);
$stmt -> bindParam(":qc",$qc); $stmt->bindParam(":created_at", $created_at);
$stmt -> execute(); $stmt->bindParam(":created_by", $created_by);
$stmt->bindParam(":qc", $qc);
$stmt->execute();
$result = $conn->commit();
if($result){
header("HTTP/1.1 201 Created"); $result = $conn->commit();
} if ($result) {
header("HTTP/1.1 201 Created");
}catch(PDOException $e){ }
$conn->rollback(); } catch (PDOException $e) {
header("HTTP/1.1 500 Internal Server Error"); $conn->rollback();
die('Error!:'.$e->getMessage()); header("HTTP/1.1 500 Internal Server Error");
} die('Error!:' . $e->getMessage());
} }
}
function T8Insert($data)
{
require_once("../connt8.php");
$contractno = $data['contractno'];
$partyA = $data['customer'];
$phone = $data['lm_tel'];
$vat = $data['vat'];
$partyAaddress = $data['address'];
$user_id = $data['user_id'];
$salesman = $data['salesman'];
$createAt = date("Y-m-dH-i-s");
$createTime = str_replace('-', '', $createAt);
$connT8->beginTransaction();
$sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
// 新增客戶 table
if (empty($result)) {
// 若 客戶資料為空,新增一筆到 comCustomer
// 新增客戶資料
$sql = "INSERT INTO comBusinessPartner
(BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,EMail,CreatorId,CreateTime,BizPartnerTypeId)
VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:EMail,:CreatorId,:CreateTime,'10')";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->bindParam(':BizPartnerName', $partyA); //客戶名稱
$stmt->bindParam(':WorkTelNo', $phone);
$stmt->bindParam(':TaxNo', $vat);
// $stmt->bindParam(':EnterpriseName', $customer); //企業名稱
$stmt->bindParam(':ContactAddress', $partyAaddress);
$stmt->bindParam(':EMail', $email);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':CreateTime', $createTime);
$stmt->execute();
$sql = "INSERT INTO comCustomer
(OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId)
VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->bindParam(':PersonId', $salesman);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':InvoiceAddress', $address);
$stmt->bindParam(':CreateTime', $createTime);
$stmt->execute();
} else {
// // 若客戶資料不為空,更新該客戶資訊。
$sql = "UPDATE comCustomer SET
PersonId=:PersonId,
InvoiceAddress=:InvoiceAddress,
LastOperatorId=:LastOperatorId,
LastOperateTime=:LastOperateTime
WHERE BizPartnerId=:BizPartnerId
";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':PersonId', $salesman);
$stmt->bindParam(':InvoiceAddress', $address);
$stmt->bindParam(':LastOperatorId', $user_id);
$stmt->bindParam(':LastOperateTime', $createTime);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
$sql = "UPDATE comBusinessPartner SET
BizPartnerName=:BizPartnerName,
WorkTelNo=:WorkTelNo,
TaxNo=:TaxNo,
EnterpriseName=:EnterpriseName,
ContactAddress=:ContactAddress,
EMail=:EMail,
LastOperatorId=:LastOperatorId,
LastOperateTime=:LastOperateTime
WHERE BizPartnerId = :BizPartnerId
";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerName', $partyA);
$stmt->bindParam(':WorkTelNo', $phone);
$stmt->bindParam(':TaxNo', $vat);
$stmt->bindParam(':EnterpriseName', $customer);
$stmt->bindParam(':ContactAddress', $partyAaddress);
$stmt->bindParam(':EMail', $email);
$stmt->bindParam(':LastOperatorId', $user_id);
$stmt->bindParam(':LastOperateTime', $createTime);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
}
$sql = "SELECT * FROM comProject WHERE ProjectId = :ProjectId";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':ProjectId', $contractno);
$stmt->execute();
$resultProject = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (empty($resultProject)) {
//新增於 comProject。合約 table
$sql = "INSERT INTO comProject(ProjectId,ProjectName,TypeId,CreateTime,CreatorId,IsInUsed)
VALUES(:ProjectId,:ProjectName,'C0',:CreateTime,:CreatorId,1)";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':ProjectId', $contractno);
$stmt->bindParam(':ProjectName', $customer);
$stmt->bindParam(':CreateTime', $createTime);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->execute();
}
}

9
wms/contract/js/alpine.js

@ -810,7 +810,7 @@ const contractNewInput = () => {
return { return {
init() { }, init() { },
data: { data: {
contractno: '', contractno: 'M23090149',
customer: '', customer: '',
manager: '', manager: '',
vat: '', vat: '',
@ -847,6 +847,9 @@ const contractNewInput = () => {
}, },
getContractDate() { getContractDate() {
axios.get('./api/getContractData.php?contracttype=m&contractno=' + this.data.contractno).then(res => { axios.get('./api/getContractData.php?contracttype=m&contractno=' + this.data.contractno).then(res => {
console.log(res);
if (!res.data) { if (!res.data) {
this.step = 2 this.step = 2
this.isLoading = false this.isLoading = false
@ -854,14 +857,14 @@ const contractNewInput = () => {
} }
if (!this.customize) { if (!this.customize) {
console.log(res.data); console.log(res.data);
this.data.customer = res.data.customer this.data.customer = res.data.company
this.data.manager = res.data.manager this.data.manager = res.data.manager
this.data.vat = res.data.uscc this.data.vat = res.data.uscc
this.data.case_name = res.data.case_name this.data.case_name = res.data.case_name
this.data.linkman = res.data.linkman this.data.linkman = res.data.linkman
this.data.lm_tel = res.data.lm_tel this.data.lm_tel = res.data.lm_tel
this.data.address = res.data.address this.data.address = res.data.address
this.data.salesman = res.data.salesman this.data.salesman = res.data.person
this.data.qc = res.data.qc this.data.qc = res.data.qc
} }
this.step = 2 this.step = 2

309
wms/contract_b-index.php

@ -0,0 +1,309 @@
<?php
include "header.php";
include "css/view/wipwhole-index.php";
// 設置一個空陣列來放資料
$data = array();
$contractno = empty($_POST['contractno']) ? null : $_POST['contractno'];
$department_id = accountidToDepartId($user_id);
if (in_array(accountidToDepartId($user_id), ['220'])) {
$sql_cmd = " WHERE 1=1 ";
} else {
$sql_cmd = sql_myself($user_id, "cgp.PersonId");
}
// 合約主檔
$sql = "
SELECT
siam.BillNo, -- 單據號
siad_tmp.ProjectId,-- 合約號
siam.BillDate, -- 合約日期
BizPartnerName, -- 客戶名稱
cp.PersonId, -- 業務人員
cgp.PersonName, -- 業務人員名稱
cd.DeptName, -- 業務人員部門
siam.UnTransAmount, -- 合約金額
siad_tmp2.Max_CU_EstPayDate -- 最後收款日期
FROM salIncomeApplyMaster AS siam
LEFT JOIN (
SELECT
cc.BizPartnerId,
cbp.BizPartnerName
FROM comCustomer AS cc
LEFT JOIN comBusinessPartner AS cbp
ON cc.BizPartnerId = cbp.BizPartnerId
)cb_tmp
ON cb_tmp.BizPartnerId = siam.BizPartnerId
LEFT JOIN comPerson AS cp -- 員工主檔
ON siam.PersonId = cp.PersonId
LEFT JOIN comGroupPerson AS cgp -- 員工明細檔
ON cp.PersonId = cgp.PersonId
LEFT JOIN comDepartment AS cd -- 部門主檔
ON cp.DeptId = cd.DeptId
LEFT JOIN
(
SELECT DISTINCT
siad.BillNo,
siad.ProjectId
FROM salIncomeApplyDetail AS siad
WHERE siad.ProjectId != ''
AND siad.ProjectId IS NOT NULL
)AS siad_tmp -- 合約明細
ON siam.BillNo = siad_tmp.BillNo
LEFT JOIN
(
SELECT
siad.BillNo,
MAX(siad.CU_EstPayDate) as Max_CU_EstPayDate
FROM salIncomeApplyDetail AS siad
GROUP BY siad.BillNo
)AS siad_tmp2 -- 合約明細2
ON siam.BillNo = siad_tmp2.BillNo
$sql_cmd
AND siam.CurrentState = '2'
";
if (!empty($contractno)) {
$sql .= " AND siad_tmp.ProjectId = '$contractno' ";
}
// echo "<pre>";
// echo $sql;
// echo "</pre>";
// exit;
$data = $conn->query($sql);
if ($data) :
?>
<style>
table {
table-layout: fixed;
width: 100%;
}
td {
word-wrap: break-word;
}
img {
width: 125px;
}
.width_style_1 {
width: 125px;
}
table {
width: 100%;
}
#table_index_filter {
float: right;
}
#table_index_paginate {
float: right;
}
label {
display: inline-flex;
margin-bottom: .5rem;
margin-top: .5rem;
}
</style>
<div id="myModal" class="modal">
<div class="back"></div>
<div class="modal-content">
<button type="button" class="close" id="myCloseBtn">X</button>
<div class='col-12' style='text-align:center'>
<div class='row'>
<div class='col-12'>
<table id="table_detail" class="table table-bordered" style="width:100%; margin:0 auto;">
<thead>
<tr>
<th>收入代碼</th>
<th>收入名稱</th>
<th>數量</th>
<th>單價</th>
<th>金額(未稅)</th>
<th>稅金</th>
<th>含稅金額</th>
<th>專案代碼</th>
<th>作番號</th>
<th>預計請款日</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div style="overflow-x:auto;">
<form id='myForm' method='post' action='contract_b-index.php?<?= $token_link ?>'>
<table class='table query-table table-striped table-bordered display compact' style='width:98%;text-align:center;margin:0 auto'>
<thead>
<tr>
<td colspan="5">
<h3 style='text-align:center'>保養合約管理</h3>
</td>
</tr>
</thead>
<tbody>
<tr>
<th style='text-align:center;vertical-align: middle;'>合約號</th>
<td style='text-align:center;vertical-align: middle;'>
<input type="text" class='form-control' id='contractno' name='contractno' value="">
</td>
<td style='text-align:left;vertical-align: middle;'>
<button type="submit" style='text-align:center; margin:0 auto' class="btn btn-primary btn-sm">查詢</button>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div style="overflow-x:auto;">
<a href="contract/contract-input.php?function_name=contract-input&<?php echo $token_link; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th style='text-align:center;vertical-align: middle;width:120px;'>營業人員/契約人員</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>部門</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>合約號</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>單據號</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>客戶名稱</th>
<th style='text-align:center;vertical-align: middle;width:80px;'>單據日期</th>
<th style='text-align:center;vertical-align: middle;width:80px;'>最後收款日</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>追蹤狀態</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>金額</th>
<th style='text-align:center;vertical-align: middle;width:60px;'>明細</th>
</tr>
</thead>
<tbody>
<?php foreach ($data as $row) { ?>
<tr>
<td>
<?php
echo $row['PersonId'];
echo "<br/>";
echo $row['PersonName'];
?>
</td>
<td>
<?php echo $row['DeptName']; ?>
</td>
<td>
<?php echo $row['ProjectId']; ?>
</td>
<td>
<?php echo $row['BillNo']; ?>
</td>
<td>
<?php echo $row['BizPartnerName']; ?>
</td>
<td>
<?php echo date('Y/m/d', strtotime($row['BillDate'])); ?>
</td>
<td>
<?php echo empty($row['Max_CU_EstPayDate']) ? '' : date('Y/m/d', strtotime($row['Max_CU_EstPayDate'])); ?>
</td>
<td>
<?php
$date1 = new DateTime(date('Y-m-d', strtotime($row['Max_CU_EstPayDate'])));
$date2 = new DateTime(date('Y-m-d'));
$interval = $date1->diff($date2);
$months = $interval->m;
$months += $interval->y * 12;
if ($date1 <= $date2) {
echo "<span class=''>合約已過期</span>";
} else if ($months <= 2) {
echo "<span class='text-danger'>合約快到期</span>";
} else {
echo "<span class='text-success'>合約未到期</span>";
}
?>
</td>
<td>
<?php echo number_format(intval($row['UnTransAmount']), 0, '', ','); ?>
</td>
<td>
<button class="btn btn-primary myBtn" type="button" onclick="showDetail('<?php echo $row['BillNo']; ?>')">明細</button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<script>
var modal = document.getElementById("myModal");
$(".myBtn").click(function() {
$("#myModal").show();
});
$("#myCloseBtn").click(function(e) {
$("#myModal").hide();
});
$(".back").click(function(e) {
$("#myModal").hide();
});
function showDetail(billno) {
$.ajax({
type: "POST",
dataType: "json",
url: "contract_b-index-model.php",
data: {
form_name: 'showDetail',
billno: billno
},
complete: function(data) {
var data = data.responseJSON
var str = "";
for (var i = 0; i < data.length; i++) {
str += "<tr>";
str += "<td>" + data[i]['IncomeId'] + "</td>";
str += "<td>" + data[i]['FeeTypeName'] + "</td>";
str += "<td>" + data[i]['SQuantity'] + "</td>";
str += "<td>" + data[i]['SPrice'] + "</td>";
str += "<td>" + data[i]['OAmount'] + "</td>";
str += "<td>" + data[i]['OTax'] + "</td>";
str += "<td>" + data[i]['OAmountWithTax'] + "</td>";
str += "<td>" + data[i]['ProjectId'] + "</td>";
str += "<td>" + data[i]['CU_MaterialId'] + "</td>";
str += "<td>" + data[i]['CU_EstPayDate'] + "</td>";
str += "</tr>";
}
if ($('#table_detail').hasClass('dataTable')) {
dttable = $('#table_detail').dataTable();
dttable.fnClearTable();
dttable.fnDestroy();
}
$("#table_detail").find("tbody").html(str);
$('#table_detail').dataTable();
}
})
}
</script>
<?php
else :
echo "<h2>There is no record!</h2>";
endif;
#代表結束連線
mysqli_close($link);
include "footer.php";
?>

8
wms/crm/crmm03-edit.php

@ -348,7 +348,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
<textarea class='form-control textarea' id="progress_status" name="progress_status" value='' rows='6'></textarea> <textarea class='form-control textarea' id="progress_status" name="progress_status" value='' rows='6'></textarea>
</div> </div>
</div> </div>
<div id="elevator_list_area" class="row "> <!-- <div id="elevator_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>電梯規格信息</b> <b>電梯規格信息</b>
</div> </div>
@ -398,8 +398,8 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
</tbody> </tbody>
</table> </table>
</div> </div> -->
<div id="option_list_area" class="row "> <!-- <div id="option_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>Option報價</b> <b>Option報價</b>
</div> </div>
@ -452,7 +452,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
</tbody> </tbody>
</table> </table>
</div> </div> -->
<button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button> <button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button>
</div> </div>

28
wms/crm/crmm04-edit.php

@ -98,7 +98,7 @@ $hope_project_elevator_spec_columm = [
//'weight' => ['label' => "載重(KG)", "tag" => 'number', 'attr' => ['name' => 'weight[]', 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']], //'weight' => ['label' => "載重(KG)", "tag" => 'number', 'attr' => ['name' => 'weight[]', 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']],
'stop' => ['label' => "停數", "tag" => 'number', 'attr' => ['name' => 'stop[]', 'min=0', 'class' => 'form-control form-control-sm']], 'stop' => ['label' => "停數", "tag" => 'number', 'attr' => ['name' => 'stop[]', 'min=0', 'class' => 'form-control form-control-sm']],
'open' => ['label' => "開門方式", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'open[]', 'class' => 'form-control form-control-sm'], 'options' => $open_kind_opt], 'open' => ['label' => "開門方式", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'open[]', 'class' => 'form-control form-control-sm'], 'options' => $open_kind_opt],
'speed' => ['label' => "速度(m/min)", "tag" => 'select', 'attr' => ['name' => 'speed[]', 'class' => 'form-control form-control-sm'],'options' => $speed_opt], 'speed' => ['label' => "速度(m/min)", "tag" => 'select', 'attr' => ['name' => 'speed[]', 'class' => 'form-control form-control-sm'], 'options' => $speed_opt],
'spec_num' => ['label' => "數量", "tag" => 'digits', 'attr' => ['name' => 'spec_num[]', 'min=0', 'class' => 'form-control form-control-sm']], 'spec_num' => ['label' => "數量", "tag" => 'digits', 'attr' => ['name' => 'spec_num[]', 'min=0', 'class' => 'form-control form-control-sm']],
'spec_price' => ['label' => "單價", "tag" => 'number', 'attr' => ['name' => 'spec_price[]', 'min=0', 'class' => 'form-control form-control-sm']], 'spec_price' => ['label' => "單價", "tag" => 'number', 'attr' => ['name' => 'spec_price[]', 'min=0', 'class' => 'form-control form-control-sm']],
@ -204,14 +204,14 @@ function base_url($url)
"indent | alignleft center alignright justify | undo redo | " "indent | alignleft center alignright justify | undo redo | "
}); });
$('#cmecTbody').on('click', 'input[name^=spec_num]', function(){ $('#cmecTbody').on('click', 'input[name^=spec_num]', function() {
$(this).unbind().keyup(function(){ $(this).unbind().keyup(function() {
$(this).val($(this).val().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",")); $(this).val($(this).val().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
sumNum(); sumNum();
}); });
}); });
$('#is_renovation').change(function(){ $('#is_renovation').change(function() {
console.log($(this).val()); console.log($(this).val());
}); });
@ -220,8 +220,8 @@ function base_url($url)
}); });
sumNum = function() { sumNum = function() {
var numAll = 0; var numAll = 0;
$("input[name^=spec_num]").each(function(){ $("input[name^=spec_num]").each(function() {
numAll += Number($(this).val().replace(/[,]+/g,"")); numAll += Number($(this).val().replace(/[,]+/g, ""));
}); });
$('#num').val(numAll); $('#num').val(numAll);
} }
@ -295,7 +295,7 @@ function base_url($url)
} }
selectHpeoRow = function(obj) { selectHpeoRow = function(obj) {
var id = $(obj).parent().parent().find('td:nth-child(1)>div').text(); var id = $(obj).parent().parent().find('td:nth-child(1)>div').text();
var spec = $(obj).parent().parent().find('td:nth-child(2)>div').text(); var spec = $(obj).parent().parent().find('td:nth-child(2)>div').text();
var memo = $(obj).parent().parent().find('td:nth-child(3)>div').text(); var memo = $(obj).parent().parent().find('td:nth-child(3)>div').text();
var optional = $(obj).parent().parent().find('td:nth-child(4)>div').text(); var optional = $(obj).parent().parent().find('td:nth-child(4)>div').text();
@ -307,13 +307,13 @@ function base_url($url)
//').last() //').last()
var tr = $('#hpeoTbody tr').last(); var tr = $('#hpeoTbody tr').last();
$(tr).children('td').each(function(i) { $(tr).children('td').each(function(i) {
$(this).find("input[name^='id']").val(id.trim()); $(this).find("input[name^='id']").val(id.trim());
$(this).find("input[name^='spec']").val(spec.trim()); $(this).find("input[name^='spec']").val(spec.trim());
$(this).find("input[name^='memo']").val(memo.trim()); $(this).find("input[name^='memo']").val(memo.trim());
$(this).find("input[name^='optional']").val(optional.trim()); $(this).find("input[name^='optional']").val(optional.trim());
$(this).find("input[name^='unit']").val(unit.trim()); $(this).find("input[name^='unit']").val(unit.trim());
$(this).find("input[name^='price']").val(price.trim()); $(this).find("input[name^='price']").val(price.trim());
}); });
} }
</script> </script>
@ -333,7 +333,7 @@ function base_url($url)
<div class=" form container-fluid pt-5"> <div class=" form container-fluid pt-5">
<div class="row form_head "> <div class="row form_head ">
<div class=" col-12 form_head_title "> <div class=" col-12 form_head_title ">
<h4> 有望客戶(<?php echo ($hope_elevator_customer[0]["is_renovation"]=="Y")?"汰改":"新梯"; ?>)訂正</h4> <h4> 有望客戶(<?php echo ($hope_elevator_customer[0]["is_renovation"] == "Y") ? "汰改" : "新梯"; ?>)訂正</h4>
</div> </div>
</div> </div>
@ -381,7 +381,7 @@ function base_url($url)
</div> </div>
</div> </div>
<div id="elevator_list_area" class="row "> <!-- <div id="elevator_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>電梯規格信息</b> <b>電梯規格信息</b>
</div> </div>
@ -431,8 +431,8 @@ function base_url($url)
</tbody> </tbody>
</table> </table>
</div> </div> -->
<div id="option_list_area" class="row "> <!-- <div id="option_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>Option報價</b> <b>Option報價</b>
</div> </div>
@ -486,7 +486,7 @@ function base_url($url)
</tbody> </tbody>
</table> </table>
</div> </div> -->
<button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button> <button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button>
</div> </div>

Loading…
Cancel
Save