Browse Source

價審待簽流程 完成

main
10994015 1 year ago
parent
commit
1f8513ffa9
  1. 56
      wms/mkt/api/postFlow.php
  2. 6
      wms/mkt/api/postNewElevatorPricereview.php
  3. 21
      wms/mkt/api/postPricereviewSign.php
  4. 12
      wms/mkt/assets/js/pricereviewAlpine.js
  5. 2
      wms/mkt/css/pricereview.css
  6. 2
      wms/mkt/css/pricereview.css.map
  7. 2
      wms/mkt/css/pricereview.scss
  8. 86
      wms/mkt/pricereviewCheck.php
  9. 23
      wms/mkt/pricereviewCreate.php
  10. 62
      wms/mkt/window-modal/historySignModal.php

56
wms/mkt/api/postFlow.php

@ -0,0 +1,56 @@
<?php
require_once("../conn.php");
function createFlow($mid, $current_assigner, $flow_code, $ekind, $form_key=null){
global $conn;
$form_id = $mid;
$seq = 0;
$system_id = "prm";
if($ekind == "新梯") $flow_id = "prm01";
if($ekind == "汰改") $flow_id = "prm02";
if($ekind == "保養") $flow_id = "prm03";
if($form_key == null){
$sql_str = "SELECT appwms.nextval('form_key') form_key";
$stmt = $conn->prepare($sql_str);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$form_key = $result['form_key'];
$seq = 0;
$sql_str = "INSERT INTO flow (system_id, flow_id, form_id, form_key, flow_code)
VALUES (:system_id, :flow_id, :form_id, :form_key, :flow_code)";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':system_id', $system_id);
$stmt->bindParam(':flow_id', $flow_id);
$stmt->bindParam(':form_id', $form_id);
$stmt->bindParam(':form_key', $form_key);
$stmt->bindParam(':flow_code', $flow_code);
$stmt->execute();
}else{
$sql_str = "UPDATE flow SET flow_code = :flow_code WHERE form_key = :form_key";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':form_key', $form_key);
$stmt->bindParam(':flow_code', $flow_code);
$stmt->execute();
$sql_str = "SELECT MAX(seq) AS max_seq FROM subflow WHERE form_key = :form_key";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':form_key', $form_key);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$seq = $result['max_seq'];
$seq ++;
}
$created_at = date("Y-m-d H:i:s");
$sql_str = "INSERT INTO subflow (form_key, seq, current_assigner, update_date,create_date)
VALUES (:form_key, :seq, :current_assigner, :update_date,:create_date)";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':form_key', $form_key);
$stmt->bindParam(':seq', $seq);
$stmt->bindParam(':current_assigner', $current_assigner);
$stmt->bindParam(':update_date', $created_at);
$stmt->bindParam(':create_date', $created_at);
$stmt->execute();
}

6
wms/mkt/api/postNewElevatorPricereview.php

@ -28,6 +28,7 @@ $create_at = date("Y-m-d H:i:s");
$attatch1_src = null;
$attatch2_src = null;
$token = $_POST['token'];
$form_key = $_POST['form_key'];
$elevators = json_decode($_POST['elevators'], true);
$options = json_decode($_POST['options'], true);
@ -709,7 +710,10 @@ try{
$stmt->bindParam(':sign_total', $sign_total);
$stmt->execute();
//發送待簽通知
include_once "./postFlow.php";
$createFlow = createFlow($mid, $manager, "A", $ekind, $form_key);
echo $createFlow;
//發送系統通知
include_once "./postSystemNotice.php";
$sql_str = "SELECT * FROM pricereview_main WHERE id = :id ORDER BY id DESC LIMIT 1";

21
wms/mkt/api/postPricereviewSign.php

@ -9,6 +9,7 @@ $result = $_POST['result'];
$reviewcomment = $_POST['reviewcomment'];
$sign_id = $_POST['currentSignId'];
$token = $_POST['token'];
$form_key = $_POST['form_key'];
$signOff = '';
if($result == 'YY' ){
$signOff = 'YY';
@ -61,6 +62,7 @@ try{
$permissions[] = $contract['person'];
$title = $ekind . "價審結案通知(".$contract['contractno']."," .$contract['company']. ")";
$content = "狀態:結案同意<br>";
$current_assigner = "00000";
}elseif($signOff == "Y"){
if($sign == 1 || $sign == 2 || $sign == 3){
$signer = $currentsign['sign'.($sign+1)];
@ -68,6 +70,7 @@ try{
$signer = $currentsign['sign'.($sign+2)];
}
$permissions[] = explode(",", $signer)[0];
$current_assigner = explode(",", $signer)[0];
$title = $ekind . "價審待簽通知(".$contract['contractno']."," .$contract['company']. ")";
$content = "狀態:待簽核<br>";
}
@ -77,9 +80,9 @@ try{
$title = $ekind . "價審退回通知(".$contract['contractno']."," .$contract['company']. ")";
$content = "狀態:退回<br>";
$url = "mkt/pricereviewCreate.php?id=" . $mid;
$current_assigner = "00000";
}
$kind = 1;
$related_id = $mid;
$content .= "合約號:".$contract['contractno'] . "<br>";
@ -92,6 +95,22 @@ try{
$create_at = date("Y-m-d H:i:s");
sendSystemNotice($kind, $related_id, $title, $content, $havaread, $permissions, $creater, $create_at, $url);
//待簽通知
if($form_key == null){
$sql_str = "SELECT form_key FROM flow WHERE form_id = :form_id";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':form_id', $mid);
$stmt->execute();
$form_key = $stmt->fetch(PDO::FETCH_ASSOC)['form_key'];
}
include_once "./postFlow.php";
if($signOff == "YY") $flow_code = "Z";
if($signOff == "Y") $flow_code = "B";
if($signOff == "N") $flow_code = "A";
if($form_key == null){
throw new PDOException("form_key 不存在!");
}
createFlow($mid, $current_assigner, $flow_code, $ekind, $form_key);
echo 1;
}catch(PDOException $e){
echo $e->getMessage();

12
wms/mkt/assets/js/pricereviewAlpine.js

@ -875,6 +875,7 @@ const pricereviewCreate = ()=>{
form.append('demolishOptions', JSON.stringify(this.demolishOptions));
form.append('paymentRatio', JSON.stringify(this.paymentRatio));
form.append('form_key', form_key);
axios.post('./api/postNewElevatorPricereview.php', form).then(res=>{
console.log(res.data);
@ -915,7 +916,7 @@ const pricereviewCreate = ()=>{
form.append('attatch1', this.attatch1);
form.append('attatch2', this.attatch2);
form.append('user_id', user_id);
form.append('token', token);
form.append('elevators', JSON.stringify(this.elevators));
form.append('options', JSON.stringify(this.selectedOptions));
@ -1105,16 +1106,20 @@ const pricereviewCheck = ()=>{
openFn:[
'CO', '2S', '2U', '4PCO', '6PCO'
],
form_key: form_key,
sign1:'',
sign2:'',
sign3:'',
sign4:'',
historySignShow:false,
hideHistorySignModal(){
this.$refs.historySign.style.display = "none";
this.historySignShow = false
// this.$refs.historySign.style.display = "none";
body.style.overflow = 'auto'
},
openHishtorySignModal(){
this.$refs.historySign.style.display = "block";
this.historySignShow = true;
// this.$refs.historySign.style.display = "block";
body.style.overflow = 'hidden'
},
is_renovate: is_renovate,
@ -1187,6 +1192,7 @@ const pricereviewCheck = ()=>{
form.append('reviewcomment', this.reviewcomment);
form.append('currentSignId', currentSignId);
form.append('token', token);
form.append('form_key', form_key);
axios.post('./api/postPricereviewSign.php', form).then(res=>{
console.log(res.data);
if(res.data == 1){

2
wms/mkt/css/pricereview.css

@ -178,7 +178,7 @@
[x-cloak][data-type=window-modal],
[x-cloak][data-type=errortext] {
display: none;
display: none !important;
}
.errortext {

2
wms/mkt/css/pricereview.css.map

@ -1 +1 @@
{"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"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","file":"pricereview.css"}
{"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"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","file":"pricereview.css"}

2
wms/mkt/css/pricereview.scss

@ -190,7 +190,7 @@
[x-cloak][data-type="window-modal"],
[x-cloak][data-type="errortext"]
{
display: none;
display: none !important;
}
.errortext{
font-size:12px !important;

86
wms/mkt/pricereviewCheck.php

@ -1,11 +1,25 @@
<?php
include_once('../header.php');
require_once('./conn.php');
$form_key = null;
if(!isset($_GET['id'])){
echo "找不到此紀錄!";
exit;
if(isset($_GET['form_key'])){
$form_key = $_GET['form_key'];
$system_id = "prm";
$sql_str = "SELECT form_id FROM flow WHERE system_id = :system_id AND form_key = :form_key";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':system_id', $system_id);
$stmt->bindParam(':form_key', $form_key);
$stmt->execute();
$flow = $stmt->fetch(PDO::FETCH_ASSOC);
$id = $flow['form_id'];
}else{
echo "找不到此紀錄!";
exit;
}
}else{
$id = $_GET['id'];
}
$id = $_GET['id'];
$sql_str = "SELECT pricereview_main.*, account.name as person_name FROM pricereview_main LEFT JOIN account ON pricereview_main.person = account.accountid WHERE pricereview_main.id = :id AND pricereview_main.status <> 'D'";
$stmt = $conn->prepare($sql_str);
@ -253,68 +267,7 @@ function getSignerName($signer){
<script src="./assets/js/pricereviewAlpine.js"></script>
<div id="pricereviewCheck" x-data=pricereviewCheck()>
<div class="window-modal " x-ref="historySign" id="historySign">
<div class="window-modal-content modal-lg">
<div class="window-modal-header">
<h4>歷史簽核紀錄</h4>
<button class="btn btn-close" @click="hideHistorySignModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table historytable" style="width:700px">
<thead>
<tr>
<th>審核</th>
<th>審核人</th>
<th>結果</th>
<th>意見</th>
<th>時間</th>
</tr>
</thead>
<tbody>
<?php foreach($historySign as $key=>$history): ?>
<tr>
<td colspan="5"></td>
</tr>
<tr>
<td>區經理</td>
<td><?php echo $history['signer1']; ?></td>
<td><?php echo $history['sign1_result']; ?></td>
<td><?php echo $history['sign1_note']; ?></td>
<td><?php echo $history['sign1_date']; ?></td>
</tr>
<tr>
<td x-text="is_renovate=='汰改' ? '服務助理' : '業務承辦人'"></td>
<td><?php echo $history['signer2']; ?></td>
<td><?php echo $history['sign2_result']; ?></td>
<td><?php echo $history['sign2_note']; ?></td>
<td><?php echo $history['sign2_date']; ?></td>
</tr>
<tr>
<td x-text="is_renovate=='汰改' ? '服務副總' :'業務部協理'"></td>
<td><?php echo $history['signer3']; ?></td>
<td><?php echo $history['sign3_result']; ?></td>
<td><?php echo $history['sign3_note']; ?></td>
<td><?php echo $history['sign3_date']; ?></td>
</tr>
<tr>
<td>總經理</td>
<td><?php echo $history['signer4']; ?></td>
<td><?php echo $history['sign4_result']; ?></td>
<td><?php echo $history['sign4_note']; ?></td>
<td><?php echo $history['sign4_date']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="hideHistorySignModal()">關閉</button>
</div>
</div>
<div class="window-back" @click="hideHistorySignModal()"></div>
</div>
<?php include_once('./window-modal/historySignModal.php'); ?>
<div class="container">
<table class="table customerinfo-table" >
<tbody>
@ -371,7 +324,7 @@ function getSignerName($signer){
<input x-show="isNotfoundMi" type="text" class="form-control" value="找不到此規格">
<input x-show="!isNotfoundMi" type="text" class="form-control" x-model="Math.round(Number(elevator.optionsTotalPrice) + Number(elevator.otherOptionsTotalPrice) + Number(elevator.maintainOptionsTotalPrice) + Number(elevator.totalMi * elevator.item_qty)).toLocaleString() " disabled />
</td>
<td><input type="text" class="form-control" x-model="Number(elevator.item_price_ct).toLocaleString()" disabled /></td>
<td><input type="text" class="form-control" x-model="(Number(elevator.item_price_ct)*Number(elevator.item_qty)).toLocaleString()" disabled /></td>
<td><input type="text" class="form-control" x-model="(elevator.item_price_ct - Math.round(Number(elevator.optionsTotalPrice) + Number(elevator.otherOptionsTotalPrice) + Number(elevator.maintainOptionsTotalPrice) + Number(elevator.totalMi * elevator.item_qty))).toLocaleString()" disabled /></td>
<td><input type="text" class="form-control" x-model="Math.round((elevator.item_price_ct - Math.round(Number(elevator.optionsTotalPrice) + Number(elevator.otherOptionsTotalPrice) + Number(elevator.maintainOptionsTotalPrice) + Number(elevator.totalMi * elevator.item_qty))) / elevator.item_price_ct *1000) /10 + '%'" disabled /></td>
<?php endif; ?>
@ -989,4 +942,5 @@ function getSignerName($signer){
const currentSignId = '<?php echo $currentSignId; ?>';
const token = '<?php echo $para = "function_name=pricereview&" . $token_link;; ?>';
const form_key = '<?php echo $form_key; ?>';
</script>

23
wms/mkt/pricereviewCreate.php

@ -35,8 +35,8 @@ if(isset($_GET['id'])){
$vol_no = $main['contractno'];
}
if($main && $main['status'] == 'YS'){
// echo "<script>alert('此單正在審核中!');window.history.go(-1);</script>";
// exit;
echo "<script>alert('此單正在審核中!');window.history.go(-1);</script>";
exit;
}
$hope_status = [
'A'=>'有望簽約(已報價)',
@ -56,8 +56,8 @@ $stmt->execute();
$hope_customer = $stmt->fetch(PDO::FETCH_ASSOC);
if($user_id !== $hope_customer['salesman'] && $user_id !== "M0174"){
// echo "<script>alert('無權限編輯此紀錄!您不是該單營業員。');window.history.go(-1);</script>";
// exit;
echo "<script>alert('無權限編輯此紀錄!您不是該單營業員。');window.history.go(-1);</script>";
exit;
}
if($hope_customer['vol_no']=="" ||
$hope_customer['customer']=="" ||
@ -73,8 +73,8 @@ $hope_customer['status']=="" ||
$hope_customer['address']=="" ||
$hope_customer['case_name']==""
){
// echo "<script>alert('有望客戶資料不完整,請先填完整');window.history.go(-1);</script>";
// exit;
echo "<script>alert('有望客戶資料不完整,請先填完整');window.history.go(-1);</script>";
exit;
}
$hope_elevators = [];
$total_spec = 0;
@ -84,6 +84,8 @@ $otherOptions = [];
$otherOptionKey = 0;
$demolishOptions = [];
$demolishOptionKey = 0;
$form_key = null;
if($main){
$mid = $main["id"];
$sql_str = "SELECT
@ -267,6 +269,13 @@ if($main){
];
}
//獲取form_key
$sql_str = "SELECT form_key FROM flow WHERE form_id = :form_id AND system_id = 'prm' LIMIT 1";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':form_id', $id);
$stmt->execute();
$flow = $stmt->fetch(PDO::FETCH_ASSOC);
$form_key = $flow['form_key'];
}else{
//獲取有望客戶電梯規格
$sql_str = "SELECT
@ -1085,4 +1094,6 @@ function convertDateTimeFormat($dateTimeStr) {
const warranty_rate = '<?php echo $main ? $main['warranty_rate'] : 0 ?>';
const paymentRatio = [...<?php echo json_encode($paymentRatio); ?>];
const user_id = '<?php echo $user_id; ?>';
const form_key = '<?php echo $form_key; ?>';
console.log(form_key);
</script>

62
wms/mkt/window-modal/historySignModal.php

@ -0,0 +1,62 @@
<div class="window-modal " x-show="historySignShow" x-cloak data-type="window-modal" x-ref="historySign" id="historySign">
<div class="window-modal-content modal-lg">
<div class="window-modal-header">
<h4>歷史簽核紀錄</h4>
<button class="btn btn-close" @click="hideHistorySignModal()">X</button>
</div>
<div class="window-modal-body">
<div>
<table class="table historytable" style="width:700px">
<thead>
<tr>
<th>審核</th>
<th>審核人</th>
<th>結果</th>
<th>意見</th>
<th>時間</th>
</tr>
</thead>
<tbody>
<?php foreach($historySign as $key=>$history): ?>
<tr>
<td colspan="5"></td>
</tr>
<tr>
<td>區經理</td>
<td><?php echo $history['signer1']; ?></td>
<td><?php echo $history['sign1_result']; ?></td>
<td><?php echo $history['sign1_note']; ?></td>
<td><?php echo $history['sign1_date']; ?></td>
</tr>
<tr>
<td x-text="is_renovate=='汰改' ? '服務助理' : '業務承辦人'"></td>
<td><?php echo $history['signer2']; ?></td>
<td><?php echo $history['sign2_result']; ?></td>
<td><?php echo $history['sign2_note']; ?></td>
<td><?php echo $history['sign2_date']; ?></td>
</tr>
<tr>
<td x-text="is_renovate=='汰改' ? '服務副總' :'業務部協理'"></td>
<td><?php echo $history['signer3']; ?></td>
<td><?php echo $history['sign3_result']; ?></td>
<td><?php echo $history['sign3_note']; ?></td>
<td><?php echo $history['sign3_date']; ?></td>
</tr>
<tr>
<td>總經理</td>
<td><?php echo $history['signer4']; ?></td>
<td><?php echo $history['sign4_result']; ?></td>
<td><?php echo $history['sign4_note']; ?></td>
<td><?php echo $history['sign4_date']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="hideHistorySignModal()">關閉</button>
</div>
</div>
<div class="window-back" @click="hideHistorySignModal()"></div>
</div>
Loading…
Cancel
Save