Browse Source

合約書申請 新梯 1116

gary
10994015 1 year ago
parent
commit
7b37600f41
  1. 5
      wms/contract/api/postNewContractData.php
  2. 5
      wms/contract/api/putContractData.php
  3. 460
      wms/contract/contract-new-apply.php
  4. 34
      wms/contract/contract-newelevator-edit.php
  5. 17
      wms/contract/contract-newelevator-input.php
  6. 30
      wms/contract/js/alpine.js
  7. 40
      wms/contract/styles/style.css
  8. 2
      wms/contract/styles/style.css.map
  9. 6
      wms/contract/styles/style.scss
  10. 10
      wms/mkt/pricereview-index.php

5
wms/contract/api/postNewContractData.php

@ -22,6 +22,7 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$lm_tel = $_POST["lm_tel"];
$address = $_POST["address"];
$salesman = $_POST["salesman"];
$qc = $_POST["qc"];
$contracttype = $_POST["contracttype"];
$files = !empty($_FILES['files']) ? $_FILES['files'] : null;
$files_id = null;
@ -36,6 +37,7 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
if(empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填';
if(empty($address)) $fail_arr[] = '地址為必填';
if(empty($salesman)) $fail_arr[] = '營業員為必填';
if(empty($qc)) $fail_arr[] = '請選擇QC或官檢';
if(count($fail_arr) > 0) {
header("HTTP/1.1 422 Unprocessable Entity");
echo json_encode($fail_arr);
@ -105,7 +107,7 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$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) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by)";
$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);
$stmt -> bindParam(":customer",$customer);
@ -120,6 +122,7 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$stmt -> bindParam(":files_id",$files_id);
$stmt -> bindParam(":created_at",$created_at);
$stmt -> bindParam(":created_by",$created_by);
$stmt -> bindParam(":qc",$qc);
$stmt -> execute();

5
wms/contract/api/putContractData.php

@ -17,6 +17,7 @@ if(isset($_POST['contractno']) && $_POST['contractno']!="" && isset($_POST["id"]
$lm_tel = !empty($_POST['lm_tel']) ? $_POST['lm_tel'] : null;
$address = !empty($_POST['address']) ? $_POST['address'] : null;
$salesman = !empty($_POST['salesman']) ? $_POST['salesman'] : null;
$qc = !empty($_POST['qc']) ? $_POST['qc'] : null;
$deletefiles = !empty($_POST['deletefiles']) ? $_POST['deletefiles'] : null;
$files_id = !empty($_POST['files_id']) ? $_POST['files_id'] : null;
$files = !empty($_FILES['files']) ? $_FILES['files'] : null;
@ -33,6 +34,7 @@ if(isset($_POST['contractno']) && $_POST['contractno']!="" && isset($_POST["id"]
if(empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填';
if(empty($address)) $fail_arr[] = '地址為必填';
if(empty($salesman)) $fail_arr[] = '營業員為必填';
if(empty($qc)) $fail_arr[] = '請選擇QC或管檢';
if(count($fail_arr) > 0) {
header("HTTP/1.1 422 Unprocessable Entity");
echo json_encode($fail_arr);
@ -41,7 +43,7 @@ if(isset($_POST['contractno']) && $_POST['contractno']!="" && isset($_POST["id"]
$conn->beginTransaction();
$sql_str = "UPDATE contract_m_signed_back SET contract_no=:contract_no, customer=:customer, manager=:manager, vat=:vat, case_name=:case_name, linkman=:linkman, lm_tel=:lm_tel, address=:address, salesman=:salesman WHERE id = :id";
$sql_str = "UPDATE contract_m_signed_back SET contract_no=:contract_no, customer=:customer, manager=:manager, vat=:vat, case_name=:case_name, linkman=:linkman, lm_tel=:lm_tel, address=:address, salesman=:salesman, qc_official_type=:qc WHERE id = :id";
$stmt = $conn -> prepare($sql_str);
$stmt -> bindParam(':contract_no' ,$contract_no);
$stmt -> bindParam(':customer' ,$customer);
@ -52,6 +54,7 @@ if(isset($_POST['contractno']) && $_POST['contractno']!="" && isset($_POST["id"]
$stmt -> bindParam(':lm_tel' ,$lm_tel);
$stmt -> bindParam(':address' ,$address);
$stmt -> bindParam(':salesman' ,$salesman);
$stmt -> bindParam(':qc' ,$qc);
$stmt -> bindParam(':id' ,$id);
$stmt -> execute();
if(!empty($deletefiles)){

460
wms/contract/contract-new-apply.php

@ -0,0 +1,460 @@
<?php
include_once("../header.php");
require_once("./conn.php");
if(!(isset($_GET['id']) && !empty($_GET['id']))){
$para = "function_name=pricereview&".$token_link;
echo "<script>alert('非法訪問!!!');</script>";
echo "<script>window.history.go(-1);</script>";
exit;
}
$id = $_GET["id"];
$sql_str = "SELECT pricereview_main.*, account.name as accountname
FROM pricereview_main
JOIN account ON pricereview_main.person = account.accountid
WHERE pricereview_main.id = :id";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':id',$id);
$stmt->execute();
$contract = $stmt->fetch(PDO::FETCH_ASSOC);
$accounttype = "M";
$sql_str = "SELECT * FROM account WHERE accounttype = :accounttype";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':accounttype',$accounttype);
$stmt->execute();
$persons = $stmt->fetchAll(PDO::FETCH_ASSOC);
$sql_str = "SELECT * FROM hope_elevator_customer WHERE vol_no = :vol_no ORDER BY created_at DESC";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':vol_no', $contract['contractno']);
$stmt->execute();
$customer = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($customer);
?>
<link rel="stylesheet" href="./styles/style.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" />
<script defer src="./js/alpinejs/cdn.min.js"></script>
<script src="./js/axios/axios.min.js"></script>
<div class="contract-new-apply-component" x-data="contractNewApply">
<div class="form" method="post" id="form" enctype="multipart/form-data" >
<input type="hidden" name='form_name' value="main_form" />
<div>
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%">
<thead>
<tr>
<td colspan="8">
<h3 style='text-align:center'>合約書申請(新梯)</h3>
</td>
</tr>
</thead>
<tbody style="font-weight: bolder;margin-bottom: 20px" x-show="step==1">
<tr>
<td colspan="7" style='vertical-align: middle;border-right:0px;'>
<h4>業務確認項</h4>
</td>
<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.close();">關閉分頁</button>
</td>
</tr>
<tr>
<td style="vertical-align: middle">卷號</td>
<td>
<input class="form-control disabled_select" type="text" x-model="data.vol_no" >
<p class="alerttext" x-show="data.vol_no==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">營業員</td>
<td>
<select name="" id="" x-model="data.salesman">
<option value="">請選擇營業員</option>
<?php foreach($persons as $person) : ?>
<option value="<?= $person["accountid"] ?>"><?= $person['accountid'] . ' - ' . $person["name"] ?></option>
<?php endforeach ?>
</select>
<p class="alerttext" x-show="data.salesman==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">合約書申請日期</td>
<td>
<input class="form-control disabled_select" type="date" x-model="data.apply_date" >
<p class="alerttext" x-show="data.apply_date==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">申請類別</td>
<td style="vertical-align: middle">
<select class="" id="apply_type" x-model="data.apply_type">
<option value="A">制式新合約</option>
</select>
<p class="alerttext" x-show="data.apply_type==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">案件名稱</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.case_name" >
<p class="alerttext" x-show="data.case_name==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">立約人</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.company" >
<p class="alerttext" x-show="data.company==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">負責人</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.manager" >
<p class="alerttext" x-show="data.manager==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">統一編號</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.vat" >
<p class="alerttext" x-show="data.vat==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">含稅給約總價</td>
<td colspan="3" style="vertical-align: middle">
<input class="form-control disabled_select" type="number" x-model="data.total_price" >
<p class="alerttext" x-show="data.total_price==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">含稅貸款(A)</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="number" x-model="data.price_a" >
<p class="alerttext" x-show="data.price_a==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">含稅安裝款(A)</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="number" x-model="data.price_b" >
<p class="alerttext" x-show="data.price_b==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">聯絡地址</td>
<td style="vertical-align: middle" colspan=3>
<input class="form-control disabled_select" type="text" x-model="data.address" >
<p class="alerttext" x-show="data.address==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">完工期限</td>
<td style="vertical-align: middle" colspan=3>
<input class="form-control disabled_select" type="text" x-model="data.deadline" >
<p class="alerttext" x-show="data.deadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">附則</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.regulations" >
<p class="alerttext" x-show="data.regulations==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">免保期限</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.freedeadline" >
<p class="alerttext" x-show="data.freedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">交貨地點</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.tradeaddress" >
<p class="alerttext" x-show="data.tradeaddress==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">交貨期限</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="text" x-model="data.tradedeadline" >
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
</tbody>
</table>
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%">
<thead style="font-weight: bolder;margin-bottom: 20px">
<tr>
<td colspan="1">
<p style='text-align:center'>項次</p>
</td>
<td colspan="3">
<p style='text-align:center'>規格</p>
</td>
<td colspan="1">
<p style='text-align:center'>數量</p>
</td>
<td colspan="3">
<p style='text-align:center'>金額</p>
</td>
</tr>
</thead>
<tbody style="font-weight: bolder;margin-bottom: 20px">
<tr>
<td style="vertical-align: middle">1</td>
<td colspan="3" style="vertical-align: middle">
<input class="form-control disabled_select" type="text" value="MAE100-6 *4-2S45" >
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">
<input class="form-control disabled_select" type="number" value="6" >
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td colspan="3" style="vertical-align: middle">
<input class="form-control disabled_select" type="number" value="3180000" >
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
</tbody>
</table>
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%">
<thead style="font-weight: bolder;margin-bottom: 20px">
<tr>
<td>
<p style='text-align:center'>合約類別</p>
</td>
<td>
<p style='text-align:center'>款別</p>
</td>
<td>
<p style='text-align:center'>條件名稱</p>
</td>
<td>
<p style='text-align:center'>收款條件日期區分</p>
</td>
<td>
<p style='text-align:center'>條件日期</p>
</td>
<td>
<p style='text-align:center'>票期</p>
</td>
<td>
<p style='text-align:center'>付款比率</p>
</td>
<td>
<p style='text-align:center'>金額</p>
</td>
</tr>
</thead>
<tbody style="font-weight: bolder;margin-bottom: 20px">
<tr>
<td>
<p style='text-align:center'>銷售</p>
</td>
<td>
<p style='text-align:center'>訂金</p>
</td>
<td>
<p style='text-align:center'>簽約後X天付訂金</p>
</td>
<td>
<p style='text-align:center'>合約日</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>20%</p>
</td>
<td>
<p style='text-align:center'>636000</p>
</td>
</tr>
<tr>
<td>
<p style='text-align:center'>銷售</p>
</td>
<td>
<p style='text-align:center'>二次款</p>
</td>
<td>
<p style='text-align:center'>簽約後X天付二次款</p>
</td>
<td>
<p style='text-align:center'>合約日</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>0%%</p>
</td>
<td>
<p style='text-align:center'>0</p>
</td>
</tr>
<tr>
<td>
<p style='text-align:center'>銷售</p>
</td>
<td>
<p style='text-align:center'>貨到款</p>
</td>
<td>
<p style='text-align:center'>貨抵工地付貨到款</p>
</td>
<td>
<p style='text-align:center'>出貨日</p>
</td>
<td>
<p style='text-align:center'>-</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>50%</p>
</td>
<td>
<p style='text-align:center'>1590000</p>
</td>
</tr>
<tr>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
</tr>
<tr>
<td>
<p style='text-align:center'>安裝</p>
</td>
<td>
<p style='text-align:center'>安裝款</p>
</td>
<td>
<p style='text-align:center'>安裝完成後X天收款</p>
</td>
<td>
<p style='text-align:center'>竣檢日</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>20%</p>
</td>
<td>
<p style='text-align:center'>636000</p>
</td>
</tr>
<tr>
<td>
<p style='text-align:center'>安裝</p>
</td>
<td>
<p style='text-align:center'>尾款</p>
</td>
<td>
<p style='text-align:center'>交車後X天付尾款</p>
</td>
<td>
<p style='text-align:center'>交車日</p>
</td>
<td>
<p style='text-align:center'>0天</p>
</td>
<td>
<p style='text-align:center'>30天</p>
</td>
<td>
<p style='text-align:center'>10%</p>
</td>
<td>
<p style='text-align:center'>318000</p>
</td>
</tr>
<tr>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
<td>
<p style='text-align:center'></p>
</td>
</tr>
</tbody>
</table>
<table class="table table-bordered query-table table-striped table-bordered display compact" style="width:99%;margin-left:.5%">
<thead style="font-weight: bolder;margin-bottom: 20px;">
<tr>
<td colspan=8>
<h4 style='text-align:center;font-weight: bolder'>簽核流程</h4>
</td>
</tr>
</thead>
<tbody>
<tr>
<td style="font-weight:bold">業務部協理</td>
<td><span class="successtext">已通過</span></td>
<td style="font-weight:bold">業務部承辦人</td>
<td><span class="successtext">已通過</span></td>
<td style="font-weight:bold">營業經理</td>
<td><span class="successtext">已通過</span></td>
<td style="font-weight:bold">營業員</td>
<td><span class="successtext">已通過</span></td>
</tr>
</tbody>
</table>
<button x-show="true" x-on:click="" :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/alpine.js"></script>
<script>
const contractno = '<?php echo $contract['contractno'] ?>'
const salesman = '<?php echo $contract['person'] ?>';
const apply_date = '<?php echo date('Y-m-d') ?>';
const case_name = '<?php echo $contract['case_name'] ?>'
const company = '<?php echo $contract['company'] ?>'
const manager = '<?php echo $customer['manager'] ?>'
const vat = '<?php echo $customer['uscc'] ?>'
const price_total = <?php echo $contract['price_total'] ?>
console.log(123)
</script>

34
wms/contract/contract-newelevator-edit.php

@ -54,6 +54,7 @@ $persons = array_map(function($person){
files:<?php echo $files; ?>,
newfiles:[],
deletefiles:[],
qc:"<?php echo $contract["qc_official_type"]; ?>",
files_id: "<?php echo $contract["files_id"]; ?>",
},
fail_arr:[],
@ -74,11 +75,13 @@ $persons = array_map(function($person){
form.append("case_name", this.data.case_name);
form.append("linkman", this.data.linkman);
form.append("lm_tel", this.data.lm_tel);
form.append("address", this.data.address);
form.append("address", this.data.address);user_id
form.append("salesman", this.data.salesman);
form.append("qc", this.data.qc);
form.append("deletefiles", this.data.deletefiles);
form.append("files_id", this.data.files_id);
form.append("user_id", "<?php echo $user_id; ?>");
form.append("", "<?php echo $user_id; ?>");
for (var i = 0; i < this.data.newfiles.length; i++) {
form.append("files[]", this.data.newfiles[i]);
@ -87,19 +90,8 @@ $persons = array_map(function($person){
axios.post("./api/putContractData.php", form).then(res=>{
console.log(res.data)
if(res.status === 200){
alert("更新成功")
this.step = 1
this.data.contractno=""
this.data.customer=""
this.data.manager=""
this.data.vat=""
this.data.case_name=""
this.data.linkman=""
this.data.lm_tel=""
this.data.address=""
this.data.salesman=""
this.data.files=[]
this.customize = false
alert("更新成功");
window.location.reload();
}
this.isLoading = false
}).catch(error=>{
@ -186,8 +178,18 @@ $persons = array_map(function($person){
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.lm_tel" >
<p class="alerttext" x-show="data.lm_tel==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">QC和官檢</td>
<td>
<select class="" id="qc" x-model="data.qc">
<option value="">請選擇QC或官檢</option>
<option value="Q">只需QC</option>
<option value="O">只需官檢</option>
<option value="QO">QC和官檢</option>
</select>
<p class="alerttext" x-show="data.qc==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">案件名稱</td>
<td colspan=3>
<td>
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.case_name" >
<p class="alerttext" x-show="data.case_name==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
@ -239,6 +241,8 @@ $persons = array_map(function($person){
<script src="semantic/dist/semantic.min.js" ></script>
<script>
const user_id = '<?php echo $user_id; ?>';
const user_name = '<?php echo $user_name; ?>';
$('#table_index').DataTable(
{
"order": [

17
wms/contract/contract-newelevator-input.php

@ -1,5 +1,5 @@
<?php
include("../header.php");
include_once("../header.php");
require_once("./conn.php");
$accounttype = "M";
$sql_str = "SELECT accountid, name FROM account WHERE accounttype = :accounttype";
@ -99,8 +99,18 @@ $persons = array_map(function($person){
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.lm_tel" >
<p class="alerttext" x-show="data.lm_tel==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">QC和官檢</td>
<td>
<select class="" id="qc" x-model="data.qc">
<option value="">請選擇QC或官檢</option>
<option value="Q">只需QC</option>
<option value="O">只需官檢</option>
<option value="QO">QC和官檢</option>
</select>
<p class="alerttext" x-show="data.qc==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">案件名稱</td>
<td colspan=3>
<td >
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.case_name" >
<p class="alerttext" x-show="data.case_name==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
@ -111,8 +121,9 @@ $persons = array_map(function($person){
<input class="form-control disabled_select" type="text" name="uscc" x-model="data.address" >
<p class="alerttext" x-show="data.address==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">附件上傳</td>
<td colspan=3>
<td colspan="3">
<input type="file" name="file[]" multiple draggable="true" @change="uploadFiles($event)" />
</td>
</tr>

30
wms/contract/js/alpine.js

@ -812,6 +812,7 @@ const contractNewInput =()=> {
lm_tel:'',
address:'',
salesman:'',
qc:'',
files:[],
},
step:1,
@ -853,6 +854,7 @@ const contractNewInput =()=> {
this.data.lm_tel = res.data.lm_tel
this.data.address = res.data.address
this.data.salesman = res.data.salesman
this.data.qc = res.data.qc
}
this.step = 2
this.isLoading = false
@ -873,6 +875,7 @@ const contractNewInput =()=> {
form.append('lm_tel', this.data.lm_tel);
form.append('address', this.data.address);
form.append('salesman', this.data.salesman);
form.append('qc', this.data.qc);
form.append('contracttype', 'm');
form.append('user_id', user_id);
for (var i = 0; i < this.data.files.length; i++) {
@ -892,6 +895,7 @@ const contractNewInput =()=> {
this.data.lm_tel=''
this.data.address=''
this.data.salesman=''
this.data.qc=''
this.data.files=[]
this.customize = false
@ -1167,3 +1171,29 @@ const contractInput =()=> {
}
};
const contractNewApply = ()=>{
return {
step:1,
isLoading:false,
data:{
vol_no: contractno,
salesman: salesman,
apply_date: apply_date,
apply_type:'A',
case_name: case_name,
company: company,
manager: manager,
vat: vat,
total_price: price_total,
price_a:'',
price_b:'',
address:'',
deadline:'',
regulations:'', //附則
freedeadline:'', //免保期限
tradeaddress:'', //交貨地點
tradedeadline:'', //交貨期限
}
}
}

40
wms/contract/styles/style.css

@ -541,14 +541,14 @@ main table td, main table th {
transform: rotate(360deg);
}
}
.contract-input-component .form, .contract-management .form {
.contract-input-component .form, .contract-management .form, .contract-new-apply-component .form {
margin: 0 auto;
}
.contract-input-component .form .dropdown, .contract-management .form .dropdown {
.contract-input-component .form .dropdown, .contract-management .form .dropdown, .contract-new-apply-component .form .dropdown {
width: 100%;
margin-top: 7px;
}
.contract-input-component .form .savebtn, .contract-management .form .savebtn {
.contract-input-component .form .savebtn, .contract-management .form .savebtn, .contract-new-apply-component .form .savebtn {
margin-right: 13px;
display: flex;
justify-content: center;
@ -557,7 +557,7 @@ main table td, main table th {
height: 45px;
font-size: 15px;
}
.contract-input-component .form table .alerttext, .contract-management .form table .alerttext {
.contract-input-component .form table .alerttext, .contract-management .form table .alerttext, .contract-new-apply-component .form table .alerttext {
font-size: 13px;
color: #a00;
font-weight: 500;
@ -565,64 +565,68 @@ main table td, main table th {
font-weight: 900;
padding: 0;
}
.contract-input-component .form input[type=file], .contract-management .form input[type=file] {
.contract-input-component .form input[type=file], .contract-management .form input[type=file], .contract-new-apply-component .form input[type=file] {
padding: 12px 20px;
margin: 8px 0;
}
.contract-input-component .error, .contract-management .error {
.contract-input-component .form .successtext, .contract-management .form .successtext, .contract-new-apply-component .form .successtext {
color: #0a0;
font-weight: 900;
}
.contract-input-component .error, .contract-management .error, .contract-new-apply-component .error {
display: flex;
flex-direction: column;
margin: 15px;
}
.contract-input-component .error .errortext, .contract-management .error .errortext {
.contract-input-component .error .errortext, .contract-management .error .errortext, .contract-new-apply-component .error .errortext {
font-size: 16px;
font-weight: 500;
color: #a00;
}
.contract-input-component .input-group-btn, .contract-management .input-group-btn {
.contract-input-component .input-group-btn, .contract-management .input-group-btn, .contract-new-apply-component .input-group-btn {
font-size: 16px;
}
@media screen and (max-width: 600px) {
.contract-input-component table, .contract-management table {
.contract-input-component table, .contract-management table, .contract-new-apply-component table {
border: 0;
}
.contract-input-component table thead, .contract-management table thead {
.contract-input-component table thead, .contract-management table thead, .contract-new-apply-component table thead {
display: none;
}
.contract-input-component table tr, .contract-management table tr {
.contract-input-component table tr, .contract-management table tr, .contract-new-apply-component table tr {
margin-bottom: 10px;
display: block;
border-bottom: 2px solid #ddd;
}
.contract-input-component table td, .contract-management table td {
.contract-input-component table td, .contract-management table td, .contract-new-apply-component table td {
display: block;
text-align: left;
font-size: 14px;
border-bottom: 1px dotted #ccc;
}
.contract-input-component table td:last-child, .contract-management table td:last-child {
.contract-input-component table td:last-child, .contract-management table td:last-child, .contract-new-apply-component table td:last-child {
border-bottom: 0;
}
.contract-input-component table td:before, .contract-management table td:before {
.contract-input-component table td:before, .contract-management table td:before, .contract-new-apply-component table td:before {
content: attr(data-label);
float: left;
text-transform: uppercase;
font-weight: bold;
}
}
.contract-input-component .images, .contract-management .images {
.contract-input-component .images, .contract-management .images, .contract-new-apply-component .images {
display: flex;
flex-wrap: wrap;
padding: 20px;
}
.contract-input-component .images > .image, .contract-management .images > .image {
.contract-input-component .images > .image, .contract-management .images > .image, .contract-new-apply-component .images > .image {
position: relative;
margin: 10px;
}
.contract-input-component .images > .image:hover > i, .contract-management .images > .image:hover > i {
.contract-input-component .images > .image:hover > i, .contract-management .images > .image:hover > i, .contract-new-apply-component .images > .image:hover > i {
opacity: 1;
}
.contract-input-component .images > .image > i, .contract-management .images > .image > i {
.contract-input-component .images > .image > i, .contract-management .images > .image > i, .contract-new-apply-component .images > .image > i {
position: absolute;
top: -12px;
right: -12px;

2
wms/contract/styles/style.css.map

File diff suppressed because one or more lines are too long

6
wms/contract/styles/style.scss

@ -562,7 +562,7 @@ main{
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.contract-input-component, .contract-management{
.contract-input-component, .contract-management, .contract-new-apply-component{
.form{
margin:0 auto;
.dropdown{
@ -592,6 +592,10 @@ main{
padding: 12px 20px;
margin: 8px 0;
}
.successtext{
color:#0a0;
font-weight: 900;
}
}
.error{
display: flex;

10
wms/mkt/pricereview-index.php

@ -425,9 +425,13 @@ if ($user_id=="M0023") {
</p>
</td>-->
<td>
<?php if($data['status'] === 'YY' || $user_id=="M0107" || $user_id == "M0174"){ ?>
<a href="../contract/contract-download.php?id=<?php echo $data['id'] . '&' . $para?>">合約書申請</a>
<?php }else{ echo "-"; } ?>
<?php if($data['status'] !== 'YY'): ?>
<a href="../contract/contract-new-apply.php?id=<?php echo $data['id'] . '&' . $para; ?>">合約書申請</a>
<?php endif; ?>
<!-- 工號M0107、M0174有所有權限 -->
<?php if($data['status'] === 'YY' || $user_id == "M0174"): ?>
<a href="../contract/contract-download.php?id=<?php echo $data['id'] . '&' . $para?>">合約書下載</a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>

Loading…
Cancel
Save