Browse Source

獎金

gary
Cheng 1 year ago
parent
commit
6a8ffe182e
  1. 60
      wms/bonus/api/postStatus.php
  2. 477
      wms/bonus/bonus.php
  3. 21
      wms/bonus/bonus_detail.php
  4. 47
      wms/contract-repair/js/alpine.js
  5. 423
      wms/contract-repair/styles/style.css
  6. 2
      wms/contract-repair/styles/style.scss
  7. 10
      wms/contract/contract-new-apply.php

60
wms/bonus/api/postStatus.php

@ -0,0 +1,60 @@
<?php
require_once("../../contract/conn.php");
if (!empty($_POST['id']) && !empty($_POST['postType']) && $_POST['postType'] == 'a') {
$id = empty($_POST['id']) ? '' : $_POST['id'];
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id'];
$pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day'];
$review_at = date("Y-m-d");
$sql = "UPDATE bonus SET status = 2 ,review_hr = '$user_id' ,review_at = '$review_at',pay_day ='$pay_day' WHERE id = $id";
$stmt = $conn->prepare($sql);
$stmt->execute();
echo 'Success';
}
// 獎金確認發放,並更新獎金 OR 實際發放時間
if (!empty($_POST['postType']) && $_POST['postType'] == 'b') {
$id = empty($_POST['id']) ? '' : $_POST['id'];
$pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day'];
$bonus_actual = empty($_POST['bonus_issue']) ? '' : $_POST['bonus_issue'];
$note = empty($_POST['note']) ? '' : $_POST['note'];
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id'];
$review_at = date("Y-m-d");
try {
$sql = "UPDATE bonus SET status = 2,review_hr='$user_id',review_at='$review_at',pay_day='$pay_day',note='$note' WHERE id = $id";
$stmt = $conn->prepare($sql);
$stmt->execute();
header("HTTP/1.1 200 success!");
} catch (PDOException $e) {
header("HTTP/1.1 500 failed!");
echo $e->getMessage();
die('Error!:' . $e->getMessage());
}
}
// 獎金暫不發放
if (!empty($_POST['postType']) && $_POST['postType'] == 'c') {
// echo 'cccccc';
$id = empty($_POST['id']) ? '' : $_POST['id'];
$pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day'];
$bonus_actual = empty($_POST['bonus_issue']) ? '' : $_POST['bonus_issue'];
$user_id = empty($_POST['user_id']) ? '' : $_POST['user_id'];
$note = empty($_POST['note']) ? '' : $_POST['note'];
try {
$sql = "UPDATE bonus SET status = 4,review_hr='$user_id',review_at='$review_at',pay_day='$pay_day',note='$note' WHERE id = $id";
$stmt = $conn->prepare($sql);
$stmt->execute();
header("HTTP/1.1 200 success!");
} catch (PDOException $e) {
header("HTTP/1.1 500 failed!");
echo $e->getMessage();
die('Error!:' . $e->getMessage());
}
}
if (!empty($_POST['postType']) && $_POST['postType'] == 'd') {
$id = empty($_POST['id']) ? '' : $_POST['id'];
print_r($id);
// echo 'ddddd';
}

477
wms/bonus/bonus.php

@ -15,10 +15,22 @@ $bonus_type = [
'2' => '區經理獎金',
'3' => '專任契約經理獎金'
];
$bonus_status = [
'1' => '未確認',
'2' => '應發已確認',
'3' => '應發未確認',
'4' => '暫不發放',
'5' => '人事審核確認'
];
$clause = '';
if ($user_id != 'M0225') {
$clause .= "AND receiver == '$user_id'";
}
if (!empty($_GET['check'])) {
if ($_GET['check'] == 1) {
$clause .= "AND pay_day > DATE_SUB(NOW(), INTERVAL 1 MONTH)";
// 人事發放作業,應為一個月內
if ($_GET['check'] == 4) {
$clause .= "AND pay_day_due > DATE_SUB(NOW(), INTERVAL 1 MONTH)";
} else if ($_GET['check'] == 2) {
$clause .= "AND status = 1";
} else if ($_GET['check'] == 3) {
@ -35,6 +47,14 @@ $datas = $stmt->fetchAll(PDO::FETCH_ASSOC);
$now = new DateTime();
$oneMonthAgo = $now->modify('+1 month');
$id = [];
foreach ($datas as $data) {
$id[] = $data['id'];
}
$id_str = implode(',', $id);
echo "<pre>";
print_r($id_str);
echo '</pre>';
// 查看 T8 是否有收款明細
// require("./api/get.php");
function isPay($contract_no, $connT8)
@ -98,204 +118,257 @@ function isPay($contract_no, $connT8)
<script src="../contract-repair/js/axios/axios.min.js"></script>
<!-- <script src="../contract-repair/js/jquery/jquery-3.1.1.min.js"></script> -->
<script src="../contract-repair/semantic/dist/semantic.min.js"></script>
<div class="bonus_index">
<!-- <input type="button" hidden x-ref="initbtn" @click="isPay()" /> -->
<div style="overflow-x:auto;margin-top:12px">
<a href="bonus_index1.php?function_name=bonus&token=<?php echo $token; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
<a href="/wms/bonus/bonus.php?function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (!isset($_GET['check'])) ? "btn btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 所有獎金</a>
<a href="/wms/bonus/bonus.php?check=1&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 1) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 應發獎金</a>
<a href="/wms/bonus/bonus.php?check=2&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 2) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 未發獎金</a>
<a href="/wms/bonus/bonus.php?check=3&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 3) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 已發獎金</a>
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>項次</th>
<th>合約類別</th>
<th>合約號</th>
<th>作番號</th>
<th>獎金類別</th>
<th>獎金版本</th>
<th>作番總價</th>
<th>牌價</th>
<th>服務費</th>
<th>應發人員</th>
<th>預計發放時間</th>
<th>獎金水庫</th>
<!-- <th>是否發放</th> -->
<th>狀態</th>
<th>檢視/發放</th>
</tr>
</thead>
<tbody>
<?php if (!empty($datas)) {
foreach ($datas as $key => $data) :
$contract_no = $data['contract_no'];
$json = json_decode($data['bonus_json']);
$total = empty($json->total) ? 0 : $json->total;
$fee_per_st = empty($json->fee_per_st) ? 0 : $json->fee_per_st;
$commission_fee = empty($json->commission_fee) ? 0 : $json->commission_fee;
$isPay = isPay($data['contract_no'], $connT8);
?>
<tr>
<td><?= $data['id'] ?></td>
<td><?= $contract_type[$data['contract_type']] ?></td>
<td><?= $data['contract_no'] ?></td>
<td><?= $data['facility_no'] ?></td>
<td><?= $bonus_type[$data['bonus_type']] ?></td>
<td><?= $data['bonus_verson'] ?></td>
<td><?= $total ?></td>
<td><?= $fee_per_st ?></td>
<td><?= $commission_fee ?></td>
<td><?= $data['receiver'] ?></td>
<td><?= $data['pay_day'] ?></td>
<td><?= $data['amount'] ?></td>
<!-- <td><?= ($data['status'] == 1) ? '未發放' : '已發放' ?></td> -->
<td>
<!-- <input type="text" x-model="isPays[<?php echo $key; ?>]" /> -->
<span><?= ($isPay == 1) ? '已收款' : '未收款' ?></span>
</td>
<td>
<?php
// 判斷時間是否為一個月內
$payday = new DateTime($data['pay_day']);
if ($isPay == 1) {
?>
<a href="bonus_detail.php?id=<?= $data['id'] ?>&token=<?php echo $token; ?>" class="applybtn" style="">發放獎金</a>
<?php
} else if ($payday < $oneMonthAgo) {
?>
<a href="bonus_detail.php?id=<?= $data['id'] ?>&token=<?php echo $token; ?>" class="applybtncheck">查看詳情</a>
<?php
}
?>
</td>
</tr>
<?php
endforeach;
} ?>
</tbody>
</table>
<div class="bonus_index" x-data="bonusIndexTest">
<div class="form" method="post" id="form" enctype="multipart/form-data">
<div style="overflow-x:auto;margin-top:12px">
<a href="bonus_index1.php?function_name=bonus&token=<?php echo $token; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
<a href="/wms/bonus/bonus.php?function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (!isset($_GET['check'])) ? "btn btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 所有獎金</a>
<!-- <a href="/wms/bonus/bonus.php?check=1&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 1) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 應發獎金</a> -->
<a href="/wms/bonus/bonus.php?check=2&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 2) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 未發獎金</a>
<a href="/wms/bonus/bonus.php?check=3&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 3) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 已發獎金</a>
<a href="/wms/bonus/bonus.php?check=4&function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (isset($_GET['check']) && $_GET['check'] == 4) ? "btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 人事發放作業</a>
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<button class="btn btn-primary float-end" style="float: right;" onclick="All('<?= $id_str ?>')">確認並發放</button>
<thead>
<tr>
<th>項次</th>
<th>合約類別</th>
<th>合約號</th>
<th>作番號</th>
<th>獎金類別</th>
<th>獎金版本</th>
<th>作番總價</th>
<th>牌價</th>
<th>服務費</th>
<th>應發人員</th>
<th>預計發放時間</th>
<th>獎金水庫</th>
<th>狀態</th>
<?php
if (!empty($_GET['check']) && $_GET['check'] == '4') {
?>
<th>實際發放時間</th>
<th>發放 / 詳情</th>
<?php } ?>
</tr>
</thead>
<tbody>
<?php if (!empty($datas)) {
foreach ($datas as $key => $data) :
$contract_no = $data['contract_no'];
$json = json_decode($data['bonus_json']);
$total = empty($json->total) ? 0 : $json->total;
$fee_per_st = empty($json->fee_per_st) ? 0 : $json->fee_per_st;
$commission_fee = empty($json->commission_fee) ? 0 : $json->commission_fee;
// $isPay = isPay($data['contract_no'], $connT8);
?>
<tr>
<td><?= $data['id'] ?></td>
<td><?= $contract_type[$data['contract_type']] ?></td>
<td><?= $data['contract_no'] ?></td>
<td><?= $data['facility_no'] ?></td>
<td><?= $bonus_type[$data['bonus_type']] ?></td>
<td><?= $data['bonus_verson'] ?></td>
<td><?= $total ?></td>
<td><?= $fee_per_st ?></td>
<td><?= $commission_fee ?></td>
<td><?= $data['receiver'] ?></td>
<td><?= $data['pay_day_due'] ?></td>
<td><?= $data['amount'] ?></td>
<td>
<?= $bonus_status[$data['status']] ?>
<!-- <span><?= ($isPay == 1) ? '已收款' : '未收款' ?></span> -->
</td>
<?php if (!empty($_GET['check']) && $_GET['check'] == '4') {
if ($data['status'] == '3' || $data['status'] == '1') { ?>
<td> -- </td>
<td>
<?php
// 判斷時間是否為一個月內
$payday = new DateTime($data['pay_day']);
// if ($isPay == 1) {
?>
<button onclick="issue(<?= $data['id'] ?>,'<?= $user_id ?>','<?= $data['pay_day_due'] ?>')" type="button" class="btn applybtn" name='issuePay'>發放獎金</button>
<?php
// } else if ($payday < $oneMonthAgo) {
?>
<a href="bonus_detail.php?id=<?= $data['id'] ?>&token=<?php echo $token; ?>" class="applybtncheck">查看詳情</a>
<?php
// }
?>
</td>
<!-- <td><input type="date" value="<?= $data['pay_day'] ?>"></td> -->
<?php } else { ?>
<td><?= $data['pay_day'] ?></td>
<td></td>
<?php }
} ?>
</tr>
<?php
endforeach;
} ?>
</tbody>
</table>
</div>
</div>
</div>
<style>
table {
table-layout: fixed;
width: 100%;
}
td {
word-wrap: break-word;
}
.width_style_1 {
width: 125px;
}
table {
width: 100%;
}
#table_index_filter {
float: right;
}
#table_index_paginate {
table-layout: fixed;
width: 100%;
}
label {
display: inline-flex;
margin-bottom: .5rem;
margin-top: .5rem;
}
.btn-secondary {
color: #fff;
background-color: #6c757d;
border-color: #6c757d;
}
.btn-secondary:hover {
color: #fff;
background-color: #5a6268;
border-color: #545b62;
}
.applybtn {
color: #fff;
background-color: #1484c4;
/* display: block; */
border-radius: 5px;
padding: 5px 2px;
font-size: 13px;
line-height: 1;
display: grid;
place-items: center;
/* 水平和垂直居中 */
height: 2%vh;
/* 100%视窗高度,可根据需要调整 */
}
.applybtncheck {
color: #fff;
background-color: #eea236;
/* display: block; */
border-radius: 4px;
padding: 4px 2px;
font-size: 13px;
line-height: 1;
display: grid;
place-items: center;
/* 水平和垂直居中 */
height: 2%vh;
/* 100%视窗高度,可根据需要调整 */
}
.applybtncheck:hover {
background-color: #f0ad4e;
color: #fff;
}
.applybtn:hover {
background-color: #1494f9;
color: #fff;
}
</style>
<script>
const datas = <?php echo json_encode($datas); ?>;
// function init() {
// this.isPay();
// }
// const bonusIndex = () => {
// return {
// async isPay() {
// // console.log(123)
// for (let i = 0; i < datas.length; i++) {
// await axios.get('./api/get.php?contract_no=' + datas[i].contract_no).then(res => {
// let isPay = res.data;
// // this.data.isPay.push(isPay); // 更新 x-data 中的数据
// this.isPays.push(isPay);
// }).catch(err => {
// })
// }
// console.log(this.isPays);
// }
// }
// }
</script>
<!-- </div> -->
<style>
table {
table-layout: fixed;
width: 100%;
}
td {
word-wrap: break-word;
}
.width_st yle_1 {
width: 125px;
}
table {
width: 100%;
}
#table_index_filter {
float: right;
}
#table_index_paginate {
table-layout: fixed;
width: 100%;
}
label {
display: inline-flex;
margin-bottom: .5rem;
margin-top: .5rem;
}
.btn-secondary {
color: #fff;
background-color: #6c757d;
border-color: #6c757d;
}
.btn-secondary:hover {
color: #fff;
background-color: #5a6268;
border-color: #545b62;
}
.applybtn {
color: #fff;
background-color: #1484c4;
/* display: block; */
border-radius: 5px;
/* padding: 5px 2px; */
font-size: 13px;
line-height: 1;
display: grid;
place-items: center;
/* 水平和垂直居中 */
/* height: 2%vh; */
/* 100%视窗高度,可根据需要调整 */
}
.applybtncheck {
color: #fff;
background-color: #eea236;
/* display: block; */
border-radius: 4px;
padding: 4px 2px;
font-size: 13px;
line-height: 1;
display: grid;
place-items: center;
/* 水平和垂直居中 */
height: 2%vh;
/* 100%视窗高度,可根据需要调整 */
}
.applybtncheck:hover {
background-color: #f0ad4e;
color: #fff;
}
.applybtn:hover {
background-color: #1494f9;
color: #fff;
}
</style>
<script>
const datas = <?php echo json_encode($datas); ?>;
function issue(id, user_id, pay_day) {
// console.log(id);
const form = new FormData();
form.append('id', id)
form.append('user_id', user_id);
form.append('pay_day', pay_day)
axios.post('./api/postStatus.php', form).then((res) => {
if (res.data == 'Success') {
alert('更新成功');
location.reload();
}
}).catch((err) => {
})
}
function All(data) {
let arr = data.split(",");
console.log(arr);
const form = new FormData();
form.append('id', arr);
form.append('postType', 'd');
axios.post('./api/postStatus.php', form).then((res) => {
console.log(res);
}).catch((err) => {
});
}
// $(function() {
// $("button[name=issuePay]").click(function() {
// console.log(123);
// })
// })
// function init() {
// this.isPay();
// }
// const bonusIndex = () => {
// return {
// async isPay() {
// // console.log(123)
// for (let i = 0; i < datas.length; i++) {
// await axios.get('./api/get.php?contract_no=' + datas[i].contract_no).then(res => {
// let isPay = res.data;
// // this.data.isPay.push(isPay); // 更新 x-data 中的数据
// this.isPays.push(isPay);
// }).catch(err => {
// })
// }
// console.log(this.isPays);
// }
// }
// }
</script>

21
wms/bonus/bonus_detail.php

@ -111,7 +111,7 @@ $maintain_type = [
</td>
<td style="vertical-align:middle">應發獎金</td>
<td>
<input type="text" x-model="data.maintain_price_total" disabled>
<input type="text" x-model="data.maintain_price_total">
</td>
</tr>
<tr>
@ -133,6 +133,17 @@ $maintain_type = [
</td>
</tr>
<tr>
<td style="vertical-align:middle">實發獎金</td>
<td>
<input type="text" x-model="data.bonus_actual">
</td>
<td style="vertical-align:middle">實發時間</td>
<td> <input class="form-control disabled_select" type="date" x-model="data.payDay">
</td>
<td style="vertical-align:middle">備註</td>
<td><input type="text" x-model='data.note'></td>
</tr>
</tbody>
</template>
</table>
@ -145,6 +156,14 @@ $maintain_type = [
<div class="loader"></div>
</template>
</button>
<button x-show=" step==1" @click="stop()" :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>
<!-- <button x-show="step<=2" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading">
<template x-if="!isLoading">
<span>下一步</span>

47
wms/contract-repair/js/alpine.js

@ -900,7 +900,10 @@ const bonunsIndex = () => {
total: total,
fee_per_st: fee_per_st,
commission_fee: commission_fee,
discount: discount
discount: discount,
bonus_actual: '',
note: '',
id: id
},
step: 1,
@ -929,6 +932,9 @@ const bonunsIndex = () => {
this.step = 3; s
}
},
issue() {
console.log(1233);
},
getContractData() {
axios.get('./api/get.php?contract_no=' + this.data.contract_no).then(res => {
if (!res.data) {
@ -965,7 +971,38 @@ const bonunsIndex = () => {
},
save() {
if (this.step == 1) {
window.history.back();
// window.history.back();
const form = new FormData();
form.append('id', this.data.id);
form.append('bonus_actual', this.data.bonus_actual);
form.append('pay_day', this.data.payDay);
form.append('note', this.data.note);
form.append('user_id', this.data.user_id);
form.append('postType', 'b');
axios.post('./api/postStatus.php', form).then((res) => {
alert('更新成功');
window.history.go(-1);
}).catch((err) => {
alert('更新失敗');
console.log(err);
})
}
},
stop() {
if (this.step == 1) {
const form = new FormData();
form.append('id', this.data.id);
form.append('bonus_actual', this.data.bonus_actual);
form.append('pay_day', this.data.payDay);
form.append('note', this.data.note);
form.append('postType', 'c');
axios.post('./api/postStatus.php', form).then((res) => {
alert('更新成功');
window.history.go(-1);
}).catch((err) => {
alert('更新失敗');
})
}
},
calBons() {
@ -1001,7 +1038,7 @@ const bonunsIndex = () => {
}
}
const bonunsIndexTest = () => {
const bonusIndexTest = () => {
return {
data: {
bonus_verson: '2.1',
@ -1028,8 +1065,8 @@ const bonunsIndexTest = () => {
step: 1,
isLoading: false,
fail_arr: [],
test() {
console.log(this.data.paykind);
issue() {
console.log('123');
},
nextStepFn() {
if (this.step == 1) {

423
wms/contract-repair/styles/style.css

@ -1,20 +1,24 @@
@charset "UTF-8";
main {
display: flex;
justify-content: flex-start;
margin-top: -20px;
}
main [x-cloak] {
display: none !important;
}
main > .sidebar {
main>.sidebar {
width: 300px;
min-height: 100vh;
border-right: 1px #ddd solid;
box-shadow: 0px 0px 5px #ddd;
padding: 50px 20px;
}
main > .sidebar button {
main>.sidebar button {
display: block;
outline: none;
border: none;
@ -24,13 +28,16 @@ main > .sidebar button {
border-bottom: 1px #ccc solid;
opacity: 0.65;
}
main > .sidebar button.active {
main>.sidebar button.active {
opacity: 1;
}
main > .sidebar button:hover {
main>.sidebar button:hover {
opacity: 1;
}
main > .sidebar a {
main>.sidebar a {
display: block;
width: 120px;
height: 35px;
@ -41,14 +48,17 @@ main > .sidebar a {
color: #fff;
margin-top: 50px;
}
main .inputDiv {
padding: 30px;
display: flex;
flex-direction: column;
}
main .inputDiv label {
margin-bottom: 10px;
}
main .inputDiv label input,
main .inputDiv label select {
border: 1px #aaa solid;
@ -58,6 +68,7 @@ main .inputDiv label select {
height: 32px;
padding: 0 10px;
}
main .inputDiv label button {
background-color: #1E74FD;
color: #fff;
@ -69,6 +80,7 @@ main .inputDiv label button {
font-weight: 6500;
margin-top: 15px;
}
main .contract-install-component,
main .contract-material-component {
width: 100%;
@ -76,133 +88,154 @@ main .contract-material-component {
margin: 30px auto;
background-color: #f7f7f7 !important;
}
main .contract-install-component p,
main .contract-material-component p {
margin: 0;
}
main .contract-install-component > .btn-list,
main .contract-material-component > .btn-list {
main .contract-install-component>.btn-list,
main .contract-material-component>.btn-list {
display: flex;
align-items: center;
}
main .contract-install-component > .btn-list > button,
main .contract-material-component > .btn-list > button {
main .contract-install-component>.btn-list>button,
main .contract-material-component>.btn-list>button {
padding: 8px;
margin: 0 4px;
}
main .contract-install-component > .contract,
main .contract-material-component > .contract {
main .contract-install-component>.contract,
main .contract-material-component>.contract {
background: #fff;
width: 100%;
margin-top: 15px;
padding: 20px;
font-family: "標楷體";
}
main .contract-install-component > .contract > h2,
main .contract-material-component > .contract > h2 {
main .contract-install-component>.contract>h2,
main .contract-material-component>.contract>h2 {
font-size: 18pt;
text-align: center;
}
main .contract-install-component > .contract br,
main .contract-material-component > .contract br {
main .contract-install-component>.contract br,
main .contract-material-component>.contract br {
line-height: 2.5;
}
main .contract-install-component > .contract .d-flex,
main .contract-material-component > .contract .d-flex {
main .contract-install-component>.contract .d-flex,
main .contract-material-component>.contract .d-flex {
display: flex;
align-items: center;
}
main .contract-install-component > .contract .mouseover,
main .contract-material-component > .contract .mouseover {
main .contract-install-component>.contract .mouseover,
main .contract-material-component>.contract .mouseover {
background-color: #f1f1f1;
cursor: pointer;
}
main .contract-install-component > .contract div,
main .contract-install-component > .contract section,
main .contract-material-component > .contract div,
main .contract-material-component > .contract section {
main .contract-install-component>.contract div,
main .contract-install-component>.contract section,
main .contract-material-component>.contract div,
main .contract-material-component>.contract section {
font-size: 12pt;
line-height: 2.5;
}
main .contract-install-component > .contract div.party,
main .contract-install-component > .contract section.party,
main .contract-material-component > .contract div.party,
main .contract-material-component > .contract section.party {
main .contract-install-component>.contract div.party,
main .contract-install-component>.contract section.party,
main .contract-material-component>.contract div.party,
main .contract-material-component>.contract section.party {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
main .contract-install-component > .contract div.party .company-name,
main .contract-install-component > .contract section.party .company-name,
main .contract-material-component > .contract div.party .company-name,
main .contract-material-component > .contract section.party .company-name {
main .contract-install-component>.contract div.party .company-name,
main .contract-install-component>.contract section.party .company-name,
main .contract-material-component>.contract div.party .company-name,
main .contract-material-component>.contract section.party .company-name {
text-indent: 80pt;
}
main .contract-install-component > .contract div.party .notes,
main .contract-install-component > .contract section.party .notes,
main .contract-material-component > .contract div.party .notes,
main .contract-material-component > .contract section.party .notes {
main .contract-install-component>.contract div.party .notes,
main .contract-install-component>.contract section.party .notes,
main .contract-material-component>.contract div.party .notes,
main .contract-material-component>.contract section.party .notes {
margin-right: 25%;
white-space: nowrap;
}
main .contract-install-component > .contract div.list-content,
main .contract-install-component > .contract section.list-content,
main .contract-material-component > .contract div.list-content,
main .contract-material-component > .contract section.list-content {
main .contract-install-component>.contract div.list-content,
main .contract-install-component>.contract section.list-content,
main .contract-material-component>.contract div.list-content,
main .contract-material-component>.contract section.list-content {
margin-left: 70px;
}
main .contract-install-component > .contract div.list-title,
main .contract-install-component > .contract section.list-title,
main .contract-material-component > .contract div.list-title,
main .contract-material-component > .contract section.list-title {
main .contract-install-component>.contract div.list-title,
main .contract-install-component>.contract section.list-title,
main .contract-material-component>.contract div.list-title,
main .contract-material-component>.contract section.list-title {
display: flex;
align-items: flex-start;
}
main .contract-install-component > .contract div.list-title > strong,
main .contract-install-component > .contract section.list-title > strong,
main .contract-material-component > .contract div.list-title > strong,
main .contract-material-component > .contract section.list-title > strong {
main .contract-install-component>.contract div.list-title>strong,
main .contract-install-component>.contract section.list-title>strong,
main .contract-material-component>.contract div.list-title>strong,
main .contract-material-component>.contract section.list-title>strong {
min-width: 70px;
}
main .contract-install-component > .contract p,
main .contract-install-component > .contract article,
main .contract-install-component > .contract div,
main .contract-material-component > .contract p,
main .contract-material-component > .contract article,
main .contract-material-component > .contract div {
main .contract-install-component>.contract p,
main .contract-install-component>.contract article,
main .contract-install-component>.contract div,
main .contract-material-component>.contract p,
main .contract-material-component>.contract article,
main .contract-material-component>.contract div {
position: relative;
display: block;
}
main .contract-install-component > .contract .date,
main .contract-material-component > .contract .date {
main .contract-install-component>.contract .date,
main .contract-material-component>.contract .date {
display: flex;
align-items: center;
width: 100%;
margin-top: 300px;
}
main .contract-install-component > .contract .date p,
main .contract-material-component > .contract .date p {
main .contract-install-component>.contract .date p,
main .contract-material-component>.contract .date p {
width: 50%;
letter-spacing: 20px;
}
main .contract-install-component > .contract .date > .ml,
main .contract-material-component > .contract .date > .ml {
main .contract-install-component>.contract .date>.ml,
main .contract-material-component>.contract .date>.ml {
width: 50%;
display: flex;
justify-content: space-between;
flex-direction: row-reverse;
}
main .contract-install-component > .contract .buttons,
main .contract-material-component > .contract .buttons {
main .contract-install-component>.contract .buttons,
main .contract-material-component>.contract .buttons {
position: absolute;
top: 0;
right: 0;
display: flex;
z-index: 9;
}
main .contract-install-component > .contract .buttons > button,
main .contract-material-component > .contract .buttons > button {
main .contract-install-component>.contract .buttons>button,
main .contract-material-component>.contract .buttons>button {
width: 30px;
height: 30px;
border-radius: 5px;
@ -215,134 +248,156 @@ main .contract-material-component > .contract .buttons > button {
color: #fff;
margin: 0 1px;
}
main .contract-install-component > .contract .buttons > button > i,
main .contract-material-component > .contract .buttons > button > i {
main .contract-install-component>.contract .buttons>button>i,
main .contract-material-component>.contract .buttons>button>i {
font-size: 12px;
}
main .contract-install-component > .contract .buttons > button.edit,
main .contract-material-component > .contract .buttons > button.edit {
main .contract-install-component>.contract .buttons>button.edit,
main .contract-material-component>.contract .buttons>button.edit {
background-color: #5BC0DE;
}
main .contract-install-component > .contract .buttons > button.add,
main .contract-material-component > .contract .buttons > button.add {
main .contract-install-component>.contract .buttons>button.add,
main .contract-material-component>.contract .buttons>button.add {
background-color: #F0AD4E;
}
main .contract-install-component > .contract .buttons > button.delete,
main .contract-material-component > .contract .buttons > button.delete {
main .contract-install-component>.contract .buttons>button.delete,
main .contract-material-component>.contract .buttons>button.delete {
background-color: rgb(211, 0, 0);
}
main .contract-install-component > .contract table,
main .contract-material-component > .contract table {
main .contract-install-component>.contract table,
main .contract-material-component>.contract table {
border: none;
margin-top: 30px;
font-family: "標楷體";
width: 800px;
}
main .contract-install-component > .contract table tr:nth-child(even),
main .contract-install-component > .contract table tr:nth-child(odd),
main .contract-material-component > .contract table tr:nth-child(even),
main .contract-material-component > .contract table tr:nth-child(odd) {
main .contract-install-component>.contract table tr:nth-child(even),
main .contract-install-component>.contract table tr:nth-child(odd),
main .contract-material-component>.contract table tr:nth-child(even),
main .contract-material-component>.contract table tr:nth-child(odd) {
background-color: #fff;
}
main .contract-install-component > .contract table tr,
main .contract-material-component > .contract table tr {
main .contract-install-component>.contract table tr,
main .contract-material-component>.contract table tr {
font-size: 12pt;
width: 100%;
position: relative;
}
main .contract-install-component > .contract table tr.mouseover,
main .contract-material-component > .contract table tr.mouseover {
main .contract-install-component>.contract table tr.mouseover,
main .contract-material-component>.contract table tr.mouseover {
background-color: #f3f3f3;
}
main .contract-install-component > .contract table tr h2,
main .contract-material-component > .contract table tr h2 {
main .contract-install-component>.contract table tr h2,
main .contract-material-component>.contract table tr h2 {
font-size: 18pt;
}
main .contract-install-component > .contract table tr td,
main .contract-material-component > .contract table tr td {
main .contract-install-component>.contract table tr td,
main .contract-material-component>.contract table tr td {
width: 100%;
height: 100%;
line-height: 2;
display: flex;
}
main .contract-install-component > .contract table tr td.center,
main .contract-material-component > .contract table tr td.center {
main .contract-install-component>.contract table tr td.center,
main .contract-material-component>.contract table tr td.center {
display: flex;
justify-content: center;
align-items: center;
}
main .contract-install-component > .contract table tr td.list,
main .contract-material-component > .contract table tr td.list {
main .contract-install-component>.contract table tr td.list,
main .contract-material-component>.contract table tr td.list {
width: 100%;
height: 100%;
white-space: nowrap;
display: flex;
}
main .contract-install-component > .contract table tr td.list span,
main .contract-material-component > .contract table tr td.list span {
main .contract-install-component>.contract table tr td.list span,
main .contract-material-component>.contract table tr td.list span {
width: 100px;
min-height: 100%;
display: block;
}
main .contract-install-component > .contract table tr td.list > p,
main .contract-material-component > .contract table tr td.list > p {
main .contract-install-component>.contract table tr td.list>p,
main .contract-material-component>.contract table tr td.list>p {
display: block;
text-align: justify;
}
main .contract-install-component > .contract table tr td.list div,
main .contract-install-component > .contract table tr td.list article,
main .contract-material-component > .contract table tr td.list div,
main .contract-material-component > .contract table tr td.list article {
main .contract-install-component>.contract table tr td.list div,
main .contract-install-component>.contract table tr td.list article,
main .contract-material-component>.contract table tr td.list div,
main .contract-material-component>.contract table tr td.list article {
max-width: calc(100% - 100px);
white-space: normal;
}
main .contract-install-component > .contract table tr td.list div input[type=text],
main .contract-install-component > .contract table tr td.list div input[type=number],
main .contract-install-component > .contract table tr td.list div input,
main .contract-install-component > .contract table tr td.list article input[type=text],
main .contract-install-component > .contract table tr td.list article input[type=number],
main .contract-install-component > .contract table tr td.list article input,
main .contract-material-component > .contract table tr td.list div input[type=text],
main .contract-material-component > .contract table tr td.list div input[type=number],
main .contract-material-component > .contract table tr td.list div input,
main .contract-material-component > .contract table tr td.list article input[type=text],
main .contract-material-component > .contract table tr td.list article input[type=number],
main .contract-material-component > .contract table tr td.list article input {
main .contract-install-component>.contract table tr td.list div input[type=text],
main .contract-install-component>.contract table tr td.list div input[type=number],
main .contract-install-component>.contract table tr td.list div input,
main .contract-install-component>.contract table tr td.list article input[type=text],
main .contract-install-component>.contract table tr td.list article input[type=number],
main .contract-install-component>.contract table tr td.list article input,
main .contract-material-component>.contract table tr td.list div input[type=text],
main .contract-material-component>.contract table tr td.list div input[type=number],
main .contract-material-component>.contract table tr td.list div input,
main .contract-material-component>.contract table tr td.list article input[type=text],
main .contract-material-component>.contract table tr td.list article input[type=number],
main .contract-material-component>.contract table tr td.list article input {
border: none !important;
border-bottom: 1px #222 solid !important;
width: 50px;
outline: none;
text-align: center;
}
main .contract-install-component > .contract table tr td.list div.text-justify,
main .contract-install-component > .contract table tr td.list article.text-justify,
main .contract-material-component > .contract table tr td.list div.text-justify,
main .contract-material-component > .contract table tr td.list article.text-justify {
main .contract-install-component>.contract table tr td.list div.text-justify,
main .contract-install-component>.contract table tr td.list article.text-justify,
main .contract-material-component>.contract table tr td.list div.text-justify,
main .contract-material-component>.contract table tr td.list article.text-justify {
display: flex;
width: 100%;
justify-content: space-between;
}
main .contract-install-component > .contract table tr.date td > div,
main .contract-material-component > .contract table tr.date td > div {
main .contract-install-component>.contract table tr.date td>div,
main .contract-material-component>.contract table tr.date td>div {
width: 100%;
text-align: right;
}
main .contract-install-component > .contract table tr.date td > div.text-justify,
main .contract-material-component > .contract table tr.date td > div.text-justify {
main .contract-install-component>.contract table tr.date td>div.text-justify,
main .contract-material-component>.contract table tr.date td>div.text-justify {
display: flex;
justify-content: space-between;
}
main .contract-install-component > .contract table td,
main .contract-install-component > .contract table th,
main .contract-material-component > .contract table td,
main .contract-material-component > .contract table th {
main .contract-install-component>.contract table td,
main .contract-install-component>.contract table th,
main .contract-material-component>.contract table td,
main .contract-material-component>.contract table th {
padding: 8px;
}
@keyframes modelanim {
0% {
opacity: 0;
}
}
main .contract-model {
position: fixed;
top: 0;
@ -355,7 +410,8 @@ main .contract-model {
z-index: 999;
animation: modelanim 0.2s linear;
}
main .contract-model > .contract-back {
main .contract-model>.contract-back {
position: absolute;
top: 0;
left: 0;
@ -363,7 +419,8 @@ main .contract-model > .contract-back {
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
}
main .contract-model > .contract-content {
main .contract-model>.contract-content {
z-index: 999;
max-width: 600px;
width: 100%;
@ -371,7 +428,8 @@ main .contract-model > .contract-content {
overflow: hidden;
background-color: white;
}
main .contract-model > .contract-content > .model-header {
main .contract-model>.contract-content>.model-header {
width: 100%;
background-color: #1E74FD;
height: 38px;
@ -380,21 +438,26 @@ main .contract-model > .contract-content > .model-header {
align-items: center;
padding: 0 15px;
}
main .contract-model > .contract-content > .model-header > i {
main .contract-model>.contract-content>.model-header>i {
float: right;
color: rgba(255, 255, 255, 0.7058823529);
cursor: pointer;
}
main .contract-model > .contract-content > .model-header > i:hover {
main .contract-model>.contract-content>.model-header>i:hover {
color: #fff;
}
main .contract-model > .contract-content > .model-header > span {
main .contract-model>.contract-content>.model-header>span {
color: #fff;
}
main .contract-model > .contract-content > .content {
main .contract-model>.contract-content>.content {
padding: 30px;
}
main .contract-model > .contract-content > .content textarea {
main .contract-model>.contract-content>.content textarea {
width: 100%;
resize: vertical;
height: 150px;
@ -402,6 +465,7 @@ main .contract-model > .contract-content > .content textarea {
outline: none;
border-radius: 6px;
}
main .rebtn,
main .prviewbtn {
background-color: #5BC0DE;
@ -415,6 +479,7 @@ main .prviewbtn {
border-radius: 6px;
margin-right: 5px;
}
main .prviewbtn {
background-color: #2E6DA4;
}
@ -430,6 +495,7 @@ input[type=radio].scorll {
cursor: pointer;
border-radius: 20px;
}
input[type=checkbox].scorll::before,
input[type=radio].scorll::before {
content: "";
@ -443,14 +509,17 @@ input[type=radio].scorll::before {
transform: scale(0.98, 0.96);
transition: 0.5s;
}
input[type=checkbox].scorll:checked,
input[type=radio].scorll:checked {
background: linear-gradient(to right, #5BC0DE, #2E6DA4);
}
input[type=checkbox].scorll:checked::before,
input[type=radio].scorll:checked::before {
left: 25px;
}
input[type=checkbox].scorll::after,
input[type=radio].scorll::after {
content: "";
@ -463,66 +532,80 @@ input[type=radio].scorll::after {
width: 800px;
border: 1px #ccc solid;
}
.prview table tr:nth-child(even),
.prview table tr:nth-child(odd) {
background-color: #fff;
}
.prview table tr {
font-size: 12pt;
width: 100%;
position: relative;
}
.prview table tr.mouseover {
background-color: #f3f3f3;
}
.prview table tr h2 {
font-size: 18pt;
}
.prview table tr td {
width: 100%;
height: 100%;
line-height: 2;
display: flex;
}
.prview table tr td.center {
display: flex;
justify-content: center;
align-items: center;
}
.prview table tr td.list {
width: 100%;
height: 100%;
white-space: nowrap;
display: flex;
}
.prview table tr td.list span {
width: 100px;
min-height: 100%;
display: block;
}
.prview table tr td.list > p {
.prview table tr td.list>p {
display: block;
text-align: justify;
}
.prview table tr td.list div,
.prview table tr td.list article {
max-width: calc(100% - 100px);
white-space: normal;
}
.prview table tr td.list div.text-justify,
.prview table tr td.list article.text-justify {
display: flex;
width: 100%;
justify-content: space-between;
}
.prview table tr.date td > div {
.prview table tr.date td>div {
width: 100%;
text-align: right;
}
.prview table tr.date td > div.text-justify {
.prview table tr.date td>div.text-justify {
display: flex;
justify-content: space-between;
}
.prview table td,
.prview table th {
padding: 8px;
@ -534,64 +617,78 @@ main table {
font-family: "標楷體";
width: 800px;
}
main table tr:nth-child(even),
main table tr:nth-child(odd) {
background-color: #fff;
}
main table tr {
font-size: 12pt;
width: 100%;
position: relative;
}
main table tr.mouseover {
background-color: #ccc;
}
main table tr h2 {
font-size: 18pt;
}
main table tr td {
width: 100%;
height: 100%;
line-height: 2;
display: flex;
}
main table tr td.center {
display: flex;
justify-content: center;
align-items: center;
}
main table tr td.list {
width: 100%;
height: 100%;
white-space: nowrap;
display: flex;
}
main table tr td.list span {
width: 60px;
min-height: 100%;
display: block;
}
main table tr td.list > p {
main table tr td.list>p {
display: block;
text-align: justify;
}
main table tr td.list div {
max-width: calc(100% - 60px);
white-space: normal;
}
main table tr td.list div.text-justify {
display: flex;
width: 100%;
justify-content: space-between;
}
main table tr.date td > div {
main table tr.date td>div {
width: 100%;
text-align: right;
}
main table tr.date td > div.text-justify {
main table tr.date td>div.text-justify {
display: flex;
justify-content: space-between;
}
main table td,
main table th {
padding: 8px;
@ -604,13 +701,16 @@ main table th {
padding: 20px;
font-family: "標楷體";
}
.prview.none {
display: none;
}
.prview h2 {
font-size: 18pt;
text-align: center;
}
.prview p {
font-size: 12pt;
}
@ -630,21 +730,25 @@ main table th {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.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-new-apply-component .form .dropdown {
width: 100%;
margin-top: 7px;
}
.contract-input-component .form .savebtn,
.contract-management .form .savebtn,
.contract-new-apply-component .form .savebtn {
@ -652,16 +756,18 @@ main table th {
display: flex;
justify-content: center;
align-items: center;
width: 70px;
width: 700px;
height: 45px;
font-size: 15px;
font-size: 10px;
}
.contract-input-component .form table .fixed,
.contract-management .form table .fixed,
.contract-new-apply-component .form table .fixed {
padding: 8px 0;
cursor: not-allowed;
}
.contract-input-component .form table .alerttext,
.contract-management .form table .alerttext,
.contract-new-apply-component .form table .alerttext {
@ -672,32 +778,38 @@ main table th {
font-weight: 900;
padding: 0;
}
.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 .form span,
.contract-management .form span,
.contract-new-apply-component .form span {
font-weight: 900;
}
.contract-input-component .form span.successtext,
.contract-management .form span.successtext,
.contract-new-apply-component .form span.successtext {
color: #0a0;
}
.contract-input-component .form span.failtext,
.contract-management .form span.failtext,
.contract-new-apply-component .form span.failtext {
color: #a00;
}
.contract-input-component .form span.readtext,
.contract-management .form span.readtext,
.contract-new-apply-component .form span.readtext {
color: #aa0;
}
.contract-input-component .form input[type=number]::-webkit-outer-spin-button,
.contract-input-component .form input[type=number]::-webkit-inner-spin-button,
.contract-management .form input[type=number]::-webkit-outer-spin-button,
@ -707,11 +819,13 @@ main table th {
-webkit-appearance: none;
margin: 0;
}
.contract-input-component .form input[type=number],
.contract-management .form input[type=number],
.contract-new-apply-component .form input[type=number] {
-moz-appearance: textfield;
}
.contract-input-component .error,
.contract-management .error,
.contract-new-apply-component .error {
@ -719,6 +833,7 @@ main table th {
flex-direction: column;
margin: 15px;
}
.contract-input-component .error .errortext,
.contract-management .error .errortext,
.contract-new-apply-component .error .errortext {
@ -726,22 +841,27 @@ main table th {
font-weight: 500;
color: #a00;
}
.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-new-apply-component table {
border: 0;
}
.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-new-apply-component table tr {
@ -749,6 +869,7 @@ main table th {
display: block;
border-bottom: 2px solid #ddd;
}
.contract-input-component table td,
.contract-management table td,
.contract-new-apply-component table td {
@ -757,11 +878,13 @@ main table th {
font-size: 14px;
border-bottom: 1px dotted #ccc;
}
.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-new-apply-component table td:before {
@ -771,6 +894,7 @@ main table th {
font-weight: bold;
}
}
.contract-input-component .images,
.contract-management .images,
.contract-new-apply-component .images {
@ -778,20 +902,23 @@ main table th {
flex-wrap: wrap;
padding: 20px;
}
.contract-input-component .images > .image,
.contract-management .images > .image,
.contract-new-apply-component .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-new-apply-component .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-new-apply-component .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;
@ -834,4 +961,6 @@ label {
display: inline-flex;
margin-bottom: 0.5rem;
margin-top: 0.5rem;
}/*# sourceMappingURL=style.css.map */
}
/*# sourceMappingURL=style.css.map */

2
wms/contract-repair/styles/style.scss

@ -707,7 +707,7 @@ main {
align-items: center;
width: 70px;
height: 45px;
font-size: 15px;
font-size: 10px;
}
table {

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

@ -495,7 +495,7 @@ $para = "function_name=pricereview&" . $token_link;
<td>結果</td>
<td colspan=2>意見</td>
<td>時間</td>
<td colspan=2><?php if (($user_id === "M0174" || $user_id === "M0107" || $user_id === "M0060" || $user_id == "TEST02" || $user_id == "TEST03") && $status == 1) : ?>審核意見<?php endif; ?></td>
<td colspan=2><?php if (($user_id === "M0174" || $user_id === "M0175" || $user_id === "M0060" || $user_id == "TEST02" || $user_id == "TEST03") && $status == 1) : ?>審核意見<?php endif; ?></td>
</tr>
<tr>
<td>營業員</td>
@ -508,7 +508,7 @@ $para = "function_name=pricereview&" . $token_link;
<td colspan=2>---</td>
<td><?php echo ($contract['submit_date']) ?? "---"; ?> </td>
<td colspan=2 rowspan="3">
<?php if (($user_id === "M0174" || $user_id === "M0107" || $user_id === "M0060" || $user_id == "TEST02" || $user_id == "TEST03") && $status == 1) : ?>
<?php if (($user_id === "M0174" || $user_id === "M0175" || $user_id === "M0060" || $user_id == "TEST02" || $user_id == "TEST03") && $status == 1) : ?>
<textarea class="form-control opinion" x-model="data.review_comment"></textarea>
<?php endif; ?>
</td>
@ -572,14 +572,14 @@ $para = "function_name=pricereview&" . $token_link;
</template>
</button>
<?php endif; ?>
<?php if ($status == 1 && ((($user_id == "M0107" || $user_id == "TEST02") && $contract['progress'] <= 1) || (($user_id == "M0060" || $user_id == "TEST03") && $contract['progress'] == 2) || $user_id == "M0174")) : ?>
<?php if ($status == 1 && ((($user_id == "M0175" || $user_id == "TEST02") && $contract['progress'] <= 1) || (($user_id == "M0060" || $user_id == "TEST03") && $contract['progress'] == 2) || $user_id == "M0174")) : ?>
<button x-show="true" x-on:click="agree()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn">
<template x-if="!isLoading">
<span>
<?php
if (($user_id === "M0107" || $user_id == "TEST02") && $contract['progress'] <= 1) {
if (($user_id === "M0175" || $user_id == "TEST02") && $contract['progress'] <= 1) {
echo "同意(上呈)";
// } elseif (($user_id === "M0060" || $user_id == "TEST03") && $contract['progress'] == 2) {
} elseif (($user_id === "M0060" || $user_id == "TEST03") && $contract['progress'] == 2) {
echo "同意(結案)";
}
?>

Loading…
Cancel
Save