Browse Source

契約價審單

main
Cheng 1 year ago
parent
commit
3cf6007657
  1. 486
      wms/cont/apply_form.php
  2. 829
      wms/cont/apply_form3.php
  3. 28
      wms/cont/sign_list.php
  4. 7
      wms/contract-repair/api/postContractData.php
  5. 12
      wms/contract-repair/contract-repair-edit.php
  6. 22
      wms/contract-repair/contract-repair-input.php
  7. 13
      wms/contract-repair/js/alpine.js
  8. 426
      wms/contract/api/postContractData.php
  9. BIN
      wms/contract/option/option.xlsx
  10. BIN
      wms/contract/option/option1.xlsx
  11. BIN
      wms/contract/option/option10.xlsx
  12. BIN
      wms/contract/option/option11.xlsx
  13. BIN
      wms/contract/option/option1127/option.xlsx
  14. BIN
      wms/contract/option/option1127/option1.xlsx
  15. BIN
      wms/contract/option/option1127/option10.xlsx
  16. BIN
      wms/contract/option/option1127/option11.xlsx
  17. BIN
      wms/contract/option/option1127/option12.xlsx
  18. BIN
      wms/contract/option/option1127/option13.xlsx
  19. BIN
      wms/contract/option/option1127/option14.xlsx
  20. BIN
      wms/contract/option/option1127/option15.xlsx
  21. BIN
      wms/contract/option/option1127/option16.xlsx
  22. BIN
      wms/contract/option/option1127/option2.xlsx
  23. BIN
      wms/contract/option/option1127/option20.xlsx
  24. BIN
      wms/contract/option/option1127/option3.xlsx
  25. BIN
      wms/contract/option/option1127/option4.xlsx
  26. BIN
      wms/contract/option/option1127/option5.xlsx
  27. BIN
      wms/contract/option/option1127/option6.xlsx
  28. BIN
      wms/contract/option/option1127/option7.xlsx
  29. BIN
      wms/contract/option/option1127/option8.xlsx
  30. BIN
      wms/contract/option/option1127/option9.xlsx
  31. BIN
      wms/contract/option/option12.xlsx
  32. BIN
      wms/contract/option/option13.xlsx
  33. BIN
      wms/contract/option/option14.xlsx
  34. BIN
      wms/contract/option/option15.xlsx
  35. BIN
      wms/contract/option/option16.xlsx
  36. BIN
      wms/contract/option/option2.xlsx
  37. BIN
      wms/contract/option/option20.xlsx
  38. BIN
      wms/contract/option/option3.xlsx
  39. BIN
      wms/contract/option/option4.xlsx
  40. BIN
      wms/contract/option/option5.xlsx
  41. BIN
      wms/contract/option/option6.xlsx
  42. BIN
      wms/contract/option/option7.xlsx
  43. BIN
      wms/contract/option/option8.xlsx
  44. BIN
      wms/contract/option/option9.xlsx
  45. 48
      wms/crm/crmm02-index.php
  46. 3651
      wms/mkt/pricereview_renovate-edit.php
  47. 467
      wms/mkt/pricereview_renovate-index.php
  48. 8
      wms/sign/list.php
  49. 10
      workflow/lib/DB.php

486
wms/cont/apply_form.php

@ -25,26 +25,34 @@ $flow_id = 'con01';
$form_id = ""; $form_id = "";
#價審單狀態 #價審單狀態
$apply_st = ""; $apply_st = "";
list($apply_key, $form_key)=DB::fields("select apply_key, form_key from con_maintance_examine_apply where vol_no='$vol_no' order by apply_key desc limit 0, 1"); list($apply_key, $form_key, $salesman) = DB::fields("SELECT apply_key, form_key,salesman FROM con_maintance_examine_apply WHERE vol_no='$vol_no' ORDER BY apply_key desc limit 0, 1");
// echo '<pre>';
// print_r($apply_key);
// echo '</pre>';
// exit;
// if ($salesman != $user_id) {
// echo '<script>alert("您並不是該單營業員,無法訪問。");history.go(-1);</script>';
// exit;
// }
if (empty($apply_key)) $apply_st = 1; // 準備新增 if (empty($apply_key)) $apply_st = 1; // 準備新增
else { else {
//list($flow_code)=DB::fields("select flow_code from flow where form_key = '$form_key' and system_id = '$system_id' and flow_id = '$flow_id'"); //list($flow_code)=DB::fields("select flow_code from flow where form_key = '$form_key' and system_id = '$system_id' and flow_id = '$flow_id'");
list($current_assigner)=DB::fields("select current_assigner from subflow where form_key = '$form_key' order by seq desc limit 0, 1"); list($current_assigner) = DB::fields("SELECT current_assigner FROM subflow WHERE form_key = '$form_key' ORDER BY seq desc limit 0, 1");
if ($current_assigner == $user_id) $apply_st = 2; // 修改中,還未提交 if ($current_assigner == $user_id) $apply_st = 2; // 修改中,還未提交
else $apply_st = 9; // 已到下一關,無法䖺改 else $apply_st = 9; // 已到下一關,無法䖺改
} }
if ($apply_st > 2) { // if ($apply_st > 2) {
echo"<script>alert('卷號".$vol_no."已生成價審單,請勿重複生成!');history.go(-1);</script>"; // echo "<script>alert('卷號" . $vol_no . "已生成價審單,請勿重複生成!');history.go(-1);</script>";
exit; // exit;
} // }
if ($apply_st==1) { if ($apply_st == 1) {
$wf = new WorkFlow($system_id, $flow_id, $form_id); $wf = new WorkFlow($system_id, $flow_id, $form_id);
$wf->initWorkFlow($user_id); $wf->initWorkFlow($user_id);
$form_key = $wf->flowContext->getFormKey(); $form_key = $wf->flowContext->getFormKey();
} else { } else {
$wf = new WorkFlow($system_id, $flow_id, $form_id, $form_key); $wf = new WorkFlow($system_id, $flow_id, $form_id, $form_key);
} }
#獲取簽核意見 #獲取簽核意見
@ -96,36 +104,60 @@ $sql = "select code_name value ,content label from code where field_name='fp_
$fp_kind_opt = DB::result($sql); $fp_kind_opt = DB::result($sql);
#抓取有望客戶資料 #抓取有望客戶資料
$vol_no = $_GET['vol_no']; $vol_no = $_GET['vol_no'];
$where = " and vol_no='$vol_no'"; $where = " and vol_no='$vol_no'";
$sql = "SELECT * FROM hope_contract_customer where 1=1 $where ORDER BY vol_no"; $sql = "SELECT * FROM hope_contract_customer where 1=1 $where ORDER BY vol_no";
$hope_contract = DB::result($sql); $hope_contract = DB::result($sql);
$hope_contract = empty($hope_contract) ? [] : $hope_contract[0]; $hope_contract = empty($hope_contract) ? [] : $hope_contract[0];
#寫入 con_maintance_examine_apply #寫入 con_maintance_examine_apply
if ($apply_st==1) { if ($apply_st == 1) {
#獲取評審單號 #獲取評審單號
$apply_key = get_sequnece_no('cmea_apply_key', date('ym')); $apply_key = get_sequnece_no('cmea_apply_key', date('ym'));
//var_dump($hope_contract); //var_dump($hope_contract);
$insert_data = [ $insert_data = [
'apply_key' => $apply_key, 'apply_key' => $apply_key,
'vol_no' => $vol_no, 'vol_no' => $vol_no,
'form_key' => $form_key, 'form_key' => $form_key,
'address' => $hope_contract['address'], 'address' => $hope_contract['address'],
'case_name' => $hope_contract['customer'], 'case_name' => $hope_contract['customer'],
'num' => $hope_contract['num'], 'num' => $hope_contract['num'],
'brand' => '', 'brand' => '',
'customer' => $hope_contract['customer'], 'customer' => $hope_contract['customer'],
'salesman' => empty($hope_contract['salesman']) ? $user_id : $hope_contract['salesman'], 'salesman' => empty($hope_contract['salesman']) ? $user_id : $hope_contract['salesman'],
'progress_remark' => $hope_contract['progress_status'] 'progress_remark' => $hope_contract['progress_status']
//'platform_company'=>'', //'platform_company'=>'',
// 'platforom_company_tel'=> '' // 'platforom_company_tel'=> ''
]; ];
//var_dump($insert_data); //var_dump($insert_data);
DB::insert_table('con_maintance_examine_apply', $insert_data); DB::insert_table('con_maintance_examine_apply', $insert_data);
}
#抓使用者主管
$sql = "SELECT * FROM account WHERE accountid = '$user_id' ";
list($result) = DB::result($sql);
if ($result['department_id'] == '511') {
$managerid = 'M0137';
$managername = '劉永德';
} else if ($result['department_id'] == '512') {
$managerid = 'M0137';
$managername = '劉永德';
} else if ($result['department_id'] == '513') {
$managerid = 'M0086';
$managername = '李烘銘';
} else if ($result['department_id'] == '514') {
$managerid = 'M0033';
$managername = '吳育宗';
}
if ($result['department_id'] == 'M0137' || $result['department_id'] == 'M0086' || $result['department_id'] == 'M0033') {
$managerid = 'M0008';
$managername = '詹益彰';
} }
if ($result['department_id'] == 'M0008') {
$managerid = 'M0008';
$managername = '詹益彰';
}
$table = 'con_maintance_examine_apply'; $table = 'con_maintance_examine_apply';
#可編輯的列 #可編輯的列
$editableColumn = [ $editableColumn = [
@ -163,28 +195,28 @@ $con_maintance_examine_clear_columm = [
'elevator_brand' => ['label' => "品牌", "value" => "", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'elevator_brand[]', 'class' => 'form-control form-control-sm'], 'options' => $elevator_brand_opt], 'elevator_brand' => ['label' => "品牌", "value" => "", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'elevator_brand[]', 'class' => 'form-control form-control-sm'], 'options' => $elevator_brand_opt],
'elevator_kind' => ['label' => "電梯類型", "value" => "", "tag" => 'select', 'attr' => ['name' => 'elevator_kind[]', 'required', 'colspan' => 2, 'class' => 'form-control form-control-sm'], 'options' => $elevator_kind_opt], 'elevator_kind' => ['label' => "電梯類型", "value" => "", "tag" => 'select', 'attr' => ['name' => 'elevator_kind[]', 'required', 'colspan' => 2, 'class' => 'form-control form-control-sm'], 'options' => $elevator_kind_opt],
'spec' => ['label' => "規格型號", "value" => "", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'spec[]', 'class' => 'form-control form-control-sm'], 'options' => $fp_kind_opt], 'spec' => ['label' => "規格型號", "value" => "", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'spec[]', 'class' => 'form-control form-control-sm'], 'options' => $fp_kind_opt],
'weight' => ['label' => "載重(KG)", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'weight[]', 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']], 'weight' => ['label' => "載重(KG)", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'weight[]', "placeholder" => "載重", 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']],
'speed' => ['label' => "速度(m/min)", "value" => "", "tag" => 'number', 'attr' => ['colspan' => 2, 'name' => 'speed[]', 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']], 'speed' => ['label' => "速度(m/min)", "value" => "", "tag" => 'number', 'attr' => ['colspan' => 2, 'name' => 'speed[]', "placeholder" => "速度", 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']],
'stop' => ['label' => "停數", "value" => "", "tag" => 'number', 'attr' => ['name' => 'stop[]', 'class' => 'form-control form-control-sm']], 'stop' => ['label' => "停數", "value" => "", "tag" => 'number', 'attr' => ['name' => 'stop[]', "placeholder" => "停數", 'class' => 'form-control form-control-sm']],
'floors' => ['label' => "層數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'floors[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'floors' => ['label' => "層數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'floors[]', 'min=1', 'required', "placeholder" => "層數", 'class' => 'form-control form-control-sm']],
'persons' => ['label' => "人乘", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'persons[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'persons' => ['label' => "人乘", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'persons[]', 'min=1', 'required', "placeholder" => "人乘", 'class' => 'form-control form-control-sm']],
'maintain_times' => ['label' => "保養次數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'maintain_times[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'maintain_times' => ['label' => "保養次數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'maintain_times[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'maintain_months' => ['label' => "保養月數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'maintain_months[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'maintain_months' => ['label' => "保養月數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'maintain_months[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'maintain_period' => ['label' => "保養周期", "value" => "", "tag" => 'number', 'attr' => ['name' => 'maintain_period[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'maintain_period' => ['label' => "保養周期", "value" => "", "tag" => 'number', 'attr' => ['name' => 'maintain_period[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'is_m1_bundle' => ['label' => "贈送M1", "value" => "", "tag" => 'select', 'attr' => ['name' => 'is_m1_bundle[]', 'required', 'class' => 'form-control form-control-sm'], 'options' => $is_m1_bundle_opt], 'is_m1_bundle' => ['label' => "贈送M1", "value" => "", "tag" => 'select', 'attr' => ['name' => 'is_m1_bundle[]', 'required', 'class' => 'form-control form-control-sm'], 'options' => $is_m1_bundle_opt],
'useful_years' => ['label' => "竣工檢查年度", "value" => "", "tag" => 'digits', 'attr' => ['colspan' => 2, 'required', 'gt=0', 'min=0', 'name' => 'useful_years[]', 'class' => 'form-control form-control-sm']], 'useful_years' => ['label' => "竣工檢查年度", "value" => "", "tag" => 'digits', 'attr' => ['colspan' => 2, 'required', "placeholder" => "竣工檢查年度", 'gt=0', 'min=0', 'name' => 'useful_years[]', 'class' => 'form-control form-control-sm']],
'last_check_date' => ['label' => "上次年檢日期", "value" => "", "tag" => 'number', 'attr' => ['required', 'name' => 'last_check_date[]', 'colspan' => 2, 'class' => 'form-control form-control-sm']], 'last_check_date' => ['label' => "上次年檢日期", "value" => "", "tag" => 'number', 'attr' => ['required', 'name' => 'last_check_date[]', "placeholder" => "上次年檢日期", 'colspan' => 2, 'class' => 'form-control form-control-sm']],
'annual_survey_expense' => ['label' => "年檢費用(元)", "value" => "", "tag" => 'number', 'attr' => ['required', 'name' => 'annual_survey_expense[]', 'colspan' => 2, 'class' => 'form-control form-control-sm ']], 'annual_survey_expense' => ['label' => "年檢費用(元)", "value" => "", "tag" => 'number', 'attr' => ['required', 'name' => 'annual_survey_expense[]', "placeholder" => "年檢費用", 'colspan' => 2, 'class' => 'form-control form-control-sm ']],
'maintain_times' => ['label' => "保養次數", "tag" => 'digits', 'attr' => ['name' => 'maintain_times[]', "value" => "1", 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'maintain_times' => ['label' => "保養次數", "tag" => 'digits', 'attr' => ['name' => 'maintain_times[]', "value" => "1", 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'register_code' => ['label' => "電梯許可證代碼", "tag" => 'text', 'attr' => ['colspan' => 2, 'name' => 'register_code[]', "placeholder" => "無證號請輸入A,B...", 'required', 'class' => 'form-control form-control-sm']], 'register_code' => ['label' => "電梯許可證代碼", "tag" => 'text', 'attr' => ['colspan' => 2, 'name' => 'register_code[]', "placeholder" => "無證號請輸入A,B...", 'required', 'class' => 'form-control form-control-sm']],
'maintain_months' => ['label' => "保養月數", "tag" => 'digits', 'attr' => ['name' => 'maintain_months[]', "value" => "12", 'min=12', 'required', 'class' => 'form-control form-control-sm']], 'maintain_months' => ['label' => "保養月數", "tag" => 'digits', 'attr' => ['name' => 'maintain_months[]', "value" => "12", 'min=12', 'required', 'class' => 'form-control form-control-sm']],
'maintain_period' => ['label' => "保養周期", "tag" => 'digits', 'attr' => ['name' => 'maintain_period[]', "value" => "1", 'min=1', 'required', 'class' => 'form-control form-control-sm']], 'maintain_period' => ['label' => "保養周期", "tag" => 'digits', 'attr' => ['name' => 'maintain_period[]', "value" => "1", 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'is_m1_bundle' => ['label' => "贈送M1", "value" => "", "tag" => 'select', 'attr' => ['name' => 'is_m1_bundle[]', 'required', 'class' => 'form-control form-control-sm'], 'options' => $is_m1_bundle_opt], 'is_m1_bundle' => ['label' => "贈送M1", "value" => "", "tag" => 'select', 'attr' => ['name' => 'is_m1_bundle[]', 'required', 'class' => 'form-control form-control-sm'], 'option' => 'disable', 'options' => $is_m1_bundle_opt],
'stand_price' => ['label' => "標準價格(元/月)", "value" => "", "tag" => 'text', 'attr' => ['required', "readonly", 'colspan' => 2, 'name' => 'stand_price[]', 'class' => 'form-control form-control-sm']], 'stand_price' => ['label' => "標準價格(元/月)", "value" => "", "tag" => 'text', 'attr' => ['required', "readonly", 'colspan' => 2, 'name' => 'stand_price[]', 'class' => 'form-control form-control-sm']],
'contract_price' => ['label' => "契約報價(元/月)", "value" => "", "tag" => 'number', 'attr' => ['required', 'colspan' => 2, 'name' => 'contract_price[]', 'class' => 'form-control form-control-sm']], 'contract_price' => ['label' => "契約報價(元/月)", "value" => "", "tag" => 'number', 'attr' => ['required', 'colspan' => 2, "placeholder" => "契約報價", 'name' => 'contract_price[]', 'class' => 'form-control form-control-sm']],
'sold_price' => ['label' => "契約成交價(元/月)", "value" => "", "tag" => 'number', 'attr' => ['required', 'colspan' => 2, 'name' => 'sold_price[]', 'class' => 'form-control form-control-sm']], 'sold_price' => ['label' => "契約成交價(元/月)", "value" => "", "tag" => 'number', 'attr' => ['required', 'colspan' => 2, 'name' => 'sold_price[]', 'class' => 'form-control form-control-sm']],
]; ];
@ -259,13 +291,13 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
is_m1_bundle: 'N', is_m1_bundle: 'N',
}; };
let regDelStr = ""; let regDelStr = "";
$(document).ready(function() { $(document).ready(function() {
var tag_data; var tag_data;
$.ajax({ $.ajax({
url: 'https://www.masada.com.tw/fds/index.php/DesignFlow/get_assigner', url: 'https://www.masada.com.tw/fds/index.php/DesignFlow/get_assigner',
//url: 'http://localhost/fds/index.php/DesignFlow/get_assigner', //url: 'http://localhost/fds/index.php/DesignFlow/get_assigner',
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
success: function(data) { success: function(data) {
@ -286,7 +318,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
return value > param; return value > param;
}, $.validator.format("輸入值必須大於0")); }, $.validator.format("輸入值必須大於0"));
var assigner = eval('<?= json_encode($assigner) ?>'); var assigner = eval('<?= json_encode($assigner) ?>');
//console.log(assigner); //console.log(assigner);
var cmecRow = "<?= str_replace('"', '\'', $cmecRow) ?>"; var cmecRow = "<?= str_replace('"', '\'', $cmecRow) ?>";
// $('#cmecTbody').append(cmecRow); // $('#cmecTbody').append(cmecRow);
@ -320,87 +352,90 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
$("#next_users").empty(); $("#next_users").empty();
var _selected_status = $(this).children('option:selected').val(); //獲取被選擇的狀態 var _selected_status = $(this).children('option:selected').val(); //獲取被選擇的狀態
var _option_tmp = ""; //獲取下拉列表 var _option_tmp = ""; //獲取下拉列表
for (a in assigner) { //遍曆assigner // for (a in assigner) { //遍曆assigner
if (assigner[a][0] == _selected_status) { // if (assigner[a][0] == _selected_status) {
_tmp = assigner[a][1].split(','); // _tmp = assigner[a][1].split(',');
for (var b in _tmp) { // for (var b in _tmp) {
if (_tmp[b] == '') { // if (_tmp[b] == '') {
continue; // continue;
} // }
_uname = _tmp[b].split('-')[1]; // _uname = _tmp[b].split('-')[1];
_uid = _tmp[b].split('-')[0]; // _uid = _tmp[b].split('-')[0];
/* console.log(_tmp[b]);*/ // /* console.log(_tmp[b]);*/
_option_tmp += '<option value=' + _uid + '>' + _tmp[b] + '</option>'; // _option_tmp += '<option value=' + _uid + '>' + _tmp[b] + '</option>';
} // }
} // }
} // }
_option_tmp += '<option value=' + '<?php echo $managerid ?>' + '>' + '<?php echo $managername ?>' + '</option>';
// console.log(_option_tmp);
$("#next_users").append(_option_tmp); $("#next_users").append(_option_tmp);
}); });
$('#maintain_kind').change(function(){ $('#maintain_kind').change(function() {
if ($('#cmecTbody tr').length > 0) { if ($('#cmecTbody tr').length > 0) {
alert("保養方式已更動,請開始輸入電梯資料!"); alert("保養方式已更動,請開始輸入電梯資料!");
$('#cmecTbody').find(':input').val(''); $('#cmecTbody').find(':input').val('');
return false; return false;
} }
}); });
$("#form").validate(); $("#form").validate();
$("form").submit(function(e){ $("form").submit(function(e) {
$('#reg_del').val(regDelStr); $('#reg_del').val(regDelStr);
}); });
}); });
addRow = function() { addRow = function() {
if ($('#maintain_kind').val() == "") { if ($('#maintain_kind').val() == "") {
alert("請選擇保養方式!"); alert("請選擇保養方式!");
$('#maintain_kind').eq(0).focus(); $('#maintain_kind').eq(0).focus();
return false; return false;
} }
var cmecRow = "<?= $cmecRow ?>"; var cmecRow = $('#elevator_list').html();
$('#cmecTbody').append(cmecRow); // console.log(cmecRow);
$('#elevator_list').append(cmecRow);
$("select[name^='elevator_kind'],select[name^='is_m1_bundle']").on('change', function(obj) { $("select[name^='elevator_kind'],select[name^='is_m1_bundle']").on('change', function(obj) {
//console.log('#'+$(this).attr('name')+'#'); //console.log('#'+$(this).attr('name')+'#');
var elen = 1; var elen = 1;
if ('elevator_kind[]' == $(this).attr('name')) { if ('elevator_kind[]' == $(this).attr('name')) {
var children = $(this).parent().parent().parent(); var children = $(this).parent().parent().parent();
var elementObj = $(children).next('tr').find("input[name^='stand_price']"); var elementObj = $(children).next('tr').find("input[name^='stand_price']");
//var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle'] option:selected").val(); //var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle'] option:selected").val();
} else if ('is_m1_bundle[]' == $(this).attr('name')) { } else if ('is_m1_bundle[]' == $(this).attr('name')) {
var children = $(this).parent().parent().parent().prev('tr'); var children = $(this).parent().parent().parent().prev('tr');
var elementObj = $(this).parent().parent().parent().find("input[name^='stand_price']"); var elementObj = $(this).parent().parent().parent().find("input[name^='stand_price']");
//var is_m1_bundle = $(this).val(); //var is_m1_bundle = $(this).val();
} }
var element = elementObj; var element = elementObj;
if ('elevator_kind[]' == $(this).attr('name')) { if ('elevator_kind[]' == $(this).attr('name')) {
var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle'] option:selected").val(); var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle'] option: selected").val("");
} else if ('is_m1_bundle[]' == $(this).attr('name')) { } else if ('is_m1_bundle[]' == $(this).attr('name')) {
var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle']").val(); var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle']").val();
} }
var floors = $(children).find("input[name^='floors']").val(); var floors = $(children).find("input[name^='floors']").val();
var speed = $(children).find("input[name^='speed']").val(); var speed = $(children).find("input[name^='speed']").val();
var weight = $(children).find("input[name^='weight']").val(); var weight = $(children).find("input[name^='weight']").val();
var persons = $(children).find("input[name^='persons']").val(); var persons = $(children).find("input[name^='persons']").val();
var maintain_times = $(children).find("input[name^='maintain_times']").val(); var maintain_times = $(children).find("input[name^='maintain_times']").val();
var maintain_months = $(children).find("input[name^='maintain_months']").val(); var maintain_months = $(children).find("input[name^='maintain_months']").val();
var maintain_period = $(children).find("input[name^='maintain_period']").val(); var maintain_period = $(children).find("input[name^='maintain_period']").val();
var maintain_kind = $('#maintain_kind').val(); var maintain_kind = $('#maintain_kind').val();
var elevator_type = $(children).find("select[name^='elevator_kind'] option:selected").val(); var elevator_type = $(children).find("select[name^='elevator_kind'] option:selected").val();
var param1 = { var param1 = {
...param, ...param,
persons, persons,
floors, floors,
speed, speed,
weight, weight,
maintain_times, maintain_times,
maintain_months, maintain_months,
maintain_period, maintain_period,
maintain_kind, maintain_kind,
elevator_type, elevator_type,
is_m1_bundle is_m1_bundle
} }
setStandPrice(param1, element); setStandPrice(param1, element);
//console.info(param1); //console.info(param1);
}); });
$("input[name^='floors']" + $("input[name^='floors']" +
@ -420,7 +455,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
var maintain_times = $(children).find("input[name^='maintain_times']").val(); var maintain_times = $(children).find("input[name^='maintain_times']").val();
var maintain_months = $(children).find("input[name^='maintain_months']").val(); var maintain_months = $(children).find("input[name^='maintain_months']").val();
var maintain_period = $(children).find("input[name^='maintain_period']").val(); var maintain_period = $(children).find("input[name^='maintain_period']").val();
var maintain_kind = $('#maintain_kind').val(); var maintain_kind = $('#maintain_kind').val();
var elevator_type = $(children).find("select[name^='elevator_kind'] option:selected").val(); var elevator_type = $(children).find("select[name^='elevator_kind'] option:selected").val();
var is_m1_bundle = $(this).parent().parent().parent().next('tr').find("select[name^='is_m1_bundle'] option:selected").val(); var is_m1_bundle = $(this).parent().parent().parent().next('tr').find("select[name^='is_m1_bundle'] option:selected").val();
@ -433,7 +468,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
maintain_times, maintain_times,
maintain_months, maintain_months,
maintain_period, maintain_period,
maintain_kind, maintain_kind,
elevator_type, elevator_type,
is_m1_bundle is_m1_bundle
} }
@ -443,17 +478,18 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
}); });
} }
delRow = function(btn) { delRow = function(btn) {
if ($(btn).attr('name')=='btn1') { console.log($(btn).parent().parent().parent().parent().parent().remove());
//console.log($(btn).parent().parent().prev('tr').find('input[id=register_code]').val()); if ($(btn).attr('name') == 'btn1') {
regDelStr += $(btn).parent().parent().find('input[id=register_code]').val()+","; // console.log($(btn).parent().parent().prev('tr').find('input[id=register_code]').val());
$(btn).parent().parent().next('tr').remove(); regDelStr += $(btn).parent().parent().parent().find('input[id=register_code]').val() + ",";
} $(btn).parent().parent().next('tr').remove();
else { console.log(regDelStr)
//console.log($(btn).parent().parent().find('input[id=register_code]').val()); } else {
$(btn).parent().parent().next('tr').remove(); // console.log($(btn).parent().parent().find('input[id=register_code]').val());
$(btn).parent().parent().remove(); $(btn).parent().parent().next('tr').remove();
} $(btn).parent().parent().remove();
$(btn).parent().parent().remove(); }
$(btn).parent().parent().parent().parent().parent().remove();
} }
setStandPrice = function(p, obj) { setStandPrice = function(p, obj) {
$.ajax({ $.ajax({
@ -523,7 +559,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
<!-- hidden域 --> <!-- hidden域 -->
<input type="hidden" name="form_key" value='<?php echo $form_key; ?>' /> <input type="hidden" name="form_key" value='<?php echo $form_key; ?>' />
<input type="hidden" name="token" value='<?= $_GET['token'] ?>' /> <input type="hidden" name="token" value='<?= $_GET['token'] ?>' />
<input type="hidden" name="reg_del" id="reg_del"> <input type="hidden" name="reg_del" id="reg_del">
<input type="hidden" name="form_src" id="form_src" value="apply_form"> <input type="hidden" name="form_src" id="form_src" value="apply_form">
<!--表單start--> <!--表單start-->
<div class=" form container-fluid pt-5"> <div class=" form container-fluid pt-5">
@ -583,7 +619,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>電梯詳細資料</b> <b>電梯詳細資料</b>
</div> </div>
<table style='margin-top:0px;text-align:center' class=' table-condensed' id='elevator_list'> <table style='margin-top:0px;text-align:center' class=' table-condensed' id='elevator_list1'>
<thead> <thead>
<tr> <tr>
@ -600,53 +636,139 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
<tr> <tr>
<td colspan='18' ;><button onClick='addRow()' type="button" style='float:right' class="btn btn-link btn-md">+新增</button></td> <td colspan='18' ;><button onClick='addRow()' type="button" style='float:right' class="btn btn-link btn-md">+新增</button></td>
</tr> </tr>
<tr style='margin-top:0px;text-align:center'> </thead>
<?php </table>
$j = 0; <table class=' table-condensed' id='elevator_list'>
foreach ($con_maintance_examine_clear_columm as $val) { <thead>
<tr style=' margin-top:0px;text-align:center'>
echo FormHelper::tag("th", ['colspan' => empty($val['attr']['colspan']) ? 1 : $val['attr']['colspan']], $val['label']); <th colspan="2">電梯許可代碼</th>
//echo "<th>" . $val['label'] . "</th>"; <th colspan="2">品牌</th>
if ((++$j % $col_count) == 0) { <th colspan="2">電梯類型</th>
if ($j == $col_count) echo "<th>操作</th>"; <th colspan="2">規格型號</th>
<th>載重(KG)</th>
<th colspan="2">速度(m/min)</th>
echo "</tr><tr style='margin-top:0px;text-align:center'>"; <th>停數</th>
} <th>層數</th>
} <th>人乘</th>
<th colspan="2">保養次數</th>
<th>保養月數</th>
<th>保養周期</th>
<th>贈送M1</th>
</tr>
</thead>
<tbody id='cmecTbody'>
<tr>
<td colspan="2">
<div class=' col-12'><input id="register_code" name="register_code[]" type="text" value placeholder="無證號請輸入A、B..." repuired class="form-control form=control-sm"></div>
</td>
<td colspan="2">
<div class=' col-12'>
<select name="elevator_brand[]" id="" class="form-control form-control-sm">
<option value=""></option>
<?php foreach ($elevator_brand_opt as $data) : ?>
<option value="<?php echo $data['value']; ?>"><?php echo $data['label'] ?></option>
<?php endforeach ?>
</select>
</div>
</td>
<td colspan="2">
<div class=' col-12'>
<select name="elevator_kind[]" id="" class="form-control form-control-sm">
<option value=""></option>
<?php foreach ($elevator_kind_opt as $data) : ?>
<option value="<?php echo $data['value'] ?>"><?php echo $data['label'] ?></option>
<?php endforeach ?>
</select>
</div>
</td>
<td colspan="2">
<div class=' col-12'>
<select name="spec[]" id="" class="form-control form-control-sm">
<option value=""></option>
<?php foreach ($fp_kind_opt as $data) : ?>
<option value="<?php echo $data['value'] ?>"><?php echo $data['label'] ?></option>
<?php endforeach ?>
</select>
</div>
</td>
<!-- <td><section name='spec'></section></td> -->
<td>
<div class=' col-12'><input type="digits" id="weight" name="weight[]" value gt="0" min="0" required class="form-control form-control-sm"></div>
</td>
<td colspan="2">
<div class=' col-12'><input type="number" id="speed" name="speed[]" valaue gt="0" min="0" require class="form-control form-control-sm"></div>
</td>
<td>
<div class=' col-12'><input type="number" id="stop" name="stop[]" class="form-control form-control-sm"></div>
</td>
<td>
<div class=' col-12'><input type="digits" id="floors" name="floors[]" value min="1" required class="form-control form-control-sm"></div>
</td>
<td>
<div class=' col-12'><input type="digits" id="persons" name="persons[]" value min='1' required class="form-control form-contorl-sm"></div>
</td>
<td colspan="2">
<div class=' col-12'><input type="digits" id="maintain_times" name="maintain_times[]" value='1' min='1' required class="form-control form-control-sm"></div>
</td>
<td>
<div class=' col-12'><input type="digits" id="maintain_months" name="maintain_months[]" value="12" min='12' required class="form-control form-control-sm"></div>
</td>
<td>
<div class=' col-12'><input type="digits" id="maintain_period" name="maintain_period[]" value="1" min='1' require class="form-control form-control-sm"></div>
</td>
<td>
<div class='col-12'>
<select name="is_m1_bundle[]" id required class="form-control form-control-sm" id="">
<option value=""></option>
<?php foreach ($is_m1_bundle_opt as $data) : ?>
<option value="<?php $data['value'] ?>"><?php echo $data['label'] ?></option>
<?php endforeach ?>
</select>
</div>
</td>
</tr>
</tbody>
<thead>
<tr style='margin-top:0px;text-align:center'>
<th colspan="2">竣工檢查年度</th>
<th colspan="2">上次年檢日期</th>
<th colspan="2">年檢費用(元)</th>
<th colspan="2">標準價格(元/月)</th>
<th colspan="2">契約報價(元/月)</th>
<th colspan="2">契約成交價(元/月)</th>
<th>刪除</th>
?> <th colspan="6"></th>
</tr> </tr>
</thead> </thead>
<tbody id='cmecTbody'> <tbody id='cmecTbody2'>
<?php <tr>
<td colspan="2">
<div class="col-12"><input type="text" id="useful_years" name="useful_years[]" type="digits" value colspan='2' required gt='0' min='0' class="form-control form-control-sm"></div>
</td>
<td colspan="2">
<div class="col-12"><input type="number" id="last_check_date" name="last_check_date[]" value required colspan="2" class="form-control form-control-sn"></div>
</td>
<td colspan="2">
<div class="col-12"><input type="text" id="annual_survey_expense" name="annual_survey_exoense[]" type="number" value required colspan='2' class="form-control form-control-sm"></div>
</td>
<td colspan="2">
<div class="col-12"><input type="text" id='stand_price' name="stand_price[]" value required readonly colspan='2' class="form-control form-control-sm"></div>
</td>
<td colspan="2">
<div class="col-12"><input type="number" id="contract_price" name="contract_price[]" required colsapn="2" class="form-control form-control-sm"></div>
</td>
<td colspan="2">
<div class="col-12"><input type="number" id="sold_price" name="sold_price[]" colspan='2' class="form-control form-control-sm"></div>
</td>
<td>
<div class=' col-12'><button onclick="delRow(this)" type="button" class="btn btn-link btn md">刪除</button></div>
</td>
<td colspan="6"></td>
foreach ($con_maintance_examine_clear as $key => $val) { </tr>
$j = 0;
$cmecRow = " <tr>";
foreach ($con_maintance_examine_clear_columm as $col => $col_def) {
$fieldVal = empty($val) ? "" : $val[$col];
$_input = $col_def['tag'] == 'select' ?
FormHelper::select($col, $col_def['options'], $fieldVal, $col_def['attr'])
: FormHelper::text($col, $fieldVal, $col_def['attr'], $col_def['tag']);
$cmecRow .= "<td colspan='" . (empty($col_def['attr']['colspan']) ? '' :
$col_def['attr']['colspan']) . "' ><div class=' col-12'>
$_input</td>";
if ((++$j % $col_count) == 0) {
$cmecRow .= "<td><button name='btn1' onClick='delRow(this)' type='button' class='btn btn-link btn-md '>刪除</button></td>";
$cmecRow .= "</tr><tr>";
}
}
echo $cmecRow . "</tr>";
}
?>
</tbody> </tbody>
</table> </table>
@ -674,7 +796,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
<b>下位簽核者</b> <b>下位簽核者</b>
</div> </div>
<div class="col-2 form_field_content"> <div class="col-2 form_field_content">
<select name="next_users" id="next_users" class='form-control form-control-sm '></select> <select lect name="next_users" id="next_users" class='form-control form-control-sm '></select>
</div> </div>
<div class="col-3 form_field_title "> <div class="col-3 form_field_title ">

829
wms/cont/apply_form3.php

@ -0,0 +1,829 @@
<?php
require_once '../header_nomenu.php';
require_once './FormHelper.php';
require_once './wf_common.php';
$vol_no = empty($_GET['vol_no']) ? "" : $_GET['vol_no'];
/***
* 检查是否重复生成价审单
* con_maintance_examine_apply
*/
/*
list($cnt)=DB::fields("select count(*) cnt from con_maintance_examine_apply where vol_no='$vol_no'");
if($cnt>0) {
echo"<script>alert('卷號".$vol_no."已生成價審單,請勿重複生成!');history.go(-1);</script>";
exit;
}
*/
#係統ID
$system_id = 'con';
#流程ID
$flow_id = 'con01';
#表單號 $form_id;
$form_id = "";
#價審單狀態
$apply_st = "";
list($apply_key, $form_key, $salesman) = DB::fields("SELECT apply_key, form_key,salesman FROM con_maintance_examine_apply WHERE vol_no='$vol_no' ORDER BY apply_key desc limit 0, 1");
// echo '<pre>';
// print_r($apply_key);
// echo '</pre>';
// exit;
// if ($salesman != $user_id) {
// echo '<script>alert("您並不是該單營業員,無法訪問。");history.go(-1);</script>';
// exit;
// }
if (empty($apply_key)) $apply_st = 1; // 準備新增
else {
//list($flow_code)=DB::fields("select flow_code from flow where form_key = '$form_key' and system_id = '$system_id' and flow_id = '$flow_id'");
list($current_assigner) = DB::fields("SELECT current_assigner FROM subflow WHERE form_key = '$form_key' ORDER BY seq desc limit 0, 1");
if ($current_assigner == $user_id) $apply_st = 2; // 修改中,還未提交
else $apply_st = 9; // 已到下一關,無法䖺改
}
// if ($apply_st > 2) {
// echo "<script>alert('卷號" . $vol_no . "已生成價審單,請勿重複生成!');history.go(-1);</script>";
// exit;
// }
if ($apply_st == 1) {
$wf = new WorkFlow($system_id, $flow_id, $form_id);
$wf->initWorkFlow($user_id);
$form_key = $wf->flowContext->getFormKey();
} else {
$wf = new WorkFlow($system_id, $flow_id, $form_id, $form_key);
}
#獲取簽核意見
$assign_opinions = Assign::get_records($form_key);
#會簽部門意見
$subflow_assign_opinions = SubflowManager::getCounterSignComments($form_key);
//預設冇有摺扣
$wf->setFormData(['discount' => 100]);
$flowName = $wf->getFlowName();
$assigner = $wf->getAssignerList();
$assign_status = $wf->getAssignStatus($assigner);
$if_show_assign = true;
//加載流程圖
//$fc = WorkFLowItems::get_records($flow->getSystemID(), $flow->getFlowID());
//$path = $fc[0]->wf_file;
//echo dirname(__DIR__)."/../"."$path";
//$flow_chart = file_get_contents(dirname(__DIR__) . '/' . $path);
#是否可會簽
$isSplitable = $wf->isSplitable();
//表單數據
#客戶表
#1.電梯品牌選項
$sql = "select code_name value ,content label from code where field_name='elevator_brand' order by code_name asc ";
$elevator_brand_opt = DB::result($sql);
#2.保養方式
$sql = "select code_name value ,content label from code where field_name='maintain_kind'";
$maintain_kind_opt = DB::result($sql);
#3.電梯類型
$sql = "select code_name value ,content label from code where field_name='maintain_elevator_kind'";
$elevator_kind_opt = DB::result($sql);
#4.付款方式
$sql = "select code_name value ,content label from code where field_name='payment_kind' order by code_name+ 0 asc";
$payment_kind_opt = DB::result($sql);
#5.契約性質
$sql = "select code_name value ,content label from code where field_name='contract_kind'";
$contract_kind_opt = DB::result($sql);
#6.是否贈送M1
$is_m1_bundle_opt = [
['label' => '是', 'value' => 'Y'],
['label' => '否', 'value' => 'N']
];
#7.機種
$sql = "select code_name value ,content label from code where field_name='fp_kind'";
$fp_kind_opt = DB::result($sql);
#抓取有望客戶資料
$vol_no = $_GET['vol_no'];
$where = " and vol_no='$vol_no'";
$sql = "SELECT * FROM hope_contract_customer where 1=1 $where ORDER BY vol_no";
$hope_contract = DB::result($sql);
$hope_contract = empty($hope_contract) ? [] : $hope_contract[0];
#寫入 con_maintance_examine_apply
if ($apply_st == 1) {
#獲取評審單號
$apply_key = get_sequnece_no('cmea_apply_key', date('ym'));
//var_dump($hope_contract);
$insert_data = [
'apply_key' => $apply_key,
'vol_no' => $vol_no,
'form_key' => $form_key,
'address' => $hope_contract['address'],
'case_name' => $hope_contract['customer'],
'num' => $hope_contract['num'],
'brand' => '',
'customer' => $hope_contract['customer'],
'salesman' => empty($hope_contract['salesman']) ? $user_id : $hope_contract['salesman'],
'progress_remark' => $hope_contract['progress_status']
//'platform_company'=>'',
// 'platforom_company_tel'=> ''
];
//var_dump($insert_data);
DB::insert_table('con_maintance_examine_apply', $insert_data);
}
#抓使用者主管
$sql = "SELECT * FROM account WHERE accountid = '$user_id' ";
list($result) = DB::result($sql);
if ($result['department_id'] == '511') {
$managerid = 'M0137';
$managername = '劉永德';
} else if ($result['department_id'] == '512') {
$managerid = 'M0137';
$managername = '劉永德';
} else if ($result['department_id'] == '513') {
$managerid = 'M0086';
$managername = '李烘銘';
} else if ($result['department_id'] == '514') {
$managerid = 'M0033';
$managername = '吳育宗';
}
if ($result['department_id'] == 'M0137' || $result['department_id'] == 'M0086' || $result['department_id'] == 'M0033') {
$managerid = 'M0008';
$managername = '詹益彰';
}
if ($result['department_id'] == 'M0008') {
$managerid = 'M0008';
$managername = '詹益彰';
}
$table = 'con_maintance_examine_apply';
#可編輯的列
$editableColumn = [
'apply_key' => [
'label' => "評審單號", "value" => "$apply_key", "tag" => 'text',
'attr' => [
'readonly=true ',
'class' => 'form-control form-control-sm'
]
],
'vol_no' => ['label' => "卷號", "value" => "", "tag" => 'text', 'attr' => ['readonly=true ', 'class' => 'form-control form-control-sm']],
'address' => ['label' => "現場地址", "value" => "", "tag" => 'text', 'attr' => ['required', 'class' => 'form-control form-control-sm']],
'case_name' => ['label' => "現場名稱", "value" => "", "tag" => 'text', 'attr' => ['required', 'class' => 'form-control form-control-sm']],
'brand' => ['label' => "電梯品牌", "value" => "", "tag" => 'select', 'attr' => ['required', 'class' => 'form-control form-control-sm'], 'options' => $elevator_brand_opt],
'num' => ['label' => "數量", "value" => "", "tag" => 'digits', 'attr' => ['required', 'min=1', 'class' => 'form-control form-control-sm']],
'salesman' => ['label' => "營業員", "value" => "", "tag" => 'text', 'attr' => ['required', 'class' => 'form-control form-control-sm']],
'maintain_kind' => ['label' => "保養方式", "value" => "", "tag" => 'select', 'attr' => ['required', 'class' => 'form-control form-control-sm'], 'options' => $maintain_kind_opt],
'contract_begin_date' => ['label' => "契約期限開始", "value" => "", "tag" => 'date', 'attr' => ['required', 'class' => 'date form-control form-control-sm']],
'contract_end_date' => ['label' => "契約期限結束", "value" => "", "tag" => 'date', 'attr' => ['required', 'class' => 'date form-control form-control-sm']],
'contract_kind' => ['label' => "契約性質", "value" => "", "tag" => 'select', 'attr' => ['class' => 'form-control form-control-sm'], 'options' => $contract_kind_opt],
'introducer' => ['label' => "介紹人", "value" => "", "tag" => 'text', 'attr' => ['class' => 'form-control form-control-sm']],
'payment_kind' => ['label' => "付款方式", "value" => "", "tag" => 'select', 'attr' => ['required', 'class' => 'form-control form-control-sm'], 'options' => $payment_kind_opt],
];
$where = " and apply_key='$apply_key'";
$sql = "SELECT * FROM $table where 1=1 $where ORDER BY vol_no";
$data = [];
$data = DB::result($sql);
#電梯詳細資料
$con_maintance_examine_clear_columm = [
'register_code' => ['label' => "電梯許可證代碼", "value" => "", "tag" => 'text', 'attr' => ['colspan' => 2, 'name' => 'register_code[]', 'required', 'class' => 'form-control form-control-sm']],
'elevator_brand' => ['label' => "品牌", "value" => "", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'elevator_brand[]', 'class' => 'form-control form-control-sm'], 'options' => $elevator_brand_opt],
'elevator_kind' => ['label' => "電梯類型", "value" => "", "tag" => 'select', 'attr' => ['name' => 'elevator_kind[]', 'required', 'colspan' => 2, 'class' => 'form-control form-control-sm'], 'options' => $elevator_kind_opt],
'spec' => ['label' => "規格型號", "value" => "", "tag" => 'select', 'attr' => ['colspan' => 2, 'name' => 'spec[]', 'class' => 'form-control form-control-sm'], 'options' => $fp_kind_opt],
'weight' => ['label' => "載重(KG)", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'weight[]', "placeholder" => "載重", 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']],
'speed' => ['label' => "速度(m/min)", "value" => "", "tag" => 'number', 'attr' => ['colspan' => 2, 'name' => 'speed[]', "placeholder" => "速度", 'gt=0', 'min=0', 'required', 'class' => 'form-control form-control-sm']],
'stop' => ['label' => "停數", "value" => "", "tag" => 'number', 'attr' => ['name' => 'stop[]', "placeholder" => "停數", 'class' => 'form-control form-control-sm']],
'floors' => ['label' => "層數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'floors[]', 'min=1', 'required', "placeholder" => "層數", 'class' => 'form-control form-control-sm']],
'persons' => ['label' => "人乘", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'persons[]', 'min=1', 'required', "placeholder" => "人乘", 'class' => 'form-control form-control-sm']],
'maintain_times' => ['label' => "保養次數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'maintain_times[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'maintain_months' => ['label' => "保養月數", "value" => "", "tag" => 'digits', 'attr' => ['name' => 'maintain_months[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'maintain_period' => ['label' => "保養周期", "value" => "", "tag" => 'number', 'attr' => ['name' => 'maintain_period[]', 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'is_m1_bundle' => ['label' => "贈送M1", "value" => "", "tag" => 'select', 'attr' => ['name' => 'is_m1_bundle[]', 'required', 'class' => 'form-control form-control-sm'], 'options' => $is_m1_bundle_opt],
'useful_years' => ['label' => "竣工檢查年度", "value" => "", "tag" => 'digits', 'attr' => ['colspan' => 2, 'required', "placeholder" => "竣工檢查年度", 'gt=0', 'min=0', 'name' => 'useful_years[]', 'class' => 'form-control form-control-sm']],
'last_check_date' => ['label' => "上次年檢日期", "value" => "", "tag" => 'number', 'attr' => ['required', 'name' => 'last_check_date[]', "placeholder" => "上次年檢日期", 'colspan' => 2, 'class' => 'form-control form-control-sm']],
'annual_survey_expense' => ['label' => "年檢費用(元)", "value" => "", "tag" => 'number', 'attr' => ['required', 'name' => 'annual_survey_expense[]', "placeholder" => "年檢費用", 'colspan' => 2, 'class' => 'form-control form-control-sm ']],
'maintain_times' => ['label' => "保養次數", "tag" => 'digits', 'attr' => ['name' => 'maintain_times[]', "value" => "1", 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'register_code' => ['label' => "電梯許可證代碼", "tag" => 'text', 'attr' => ['colspan' => 2, 'name' => 'register_code[]', "placeholder" => "無證號請輸入A,B...", 'required', 'class' => 'form-control form-control-sm']],
'maintain_months' => ['label' => "保養月數", "tag" => 'digits', 'attr' => ['name' => 'maintain_months[]', "value" => "12", 'min=12', 'required', 'class' => 'form-control form-control-sm']],
'maintain_period' => ['label' => "保養周期", "tag" => 'digits', 'attr' => ['name' => 'maintain_period[]', "value" => "1", 'min=1', 'required', 'class' => 'form-control form-control-sm']],
'is_m1_bundle' => ['label' => "贈送M1", "value" => "", "tag" => 'select', 'attr' => ['name' => 'is_m1_bundle[]', 'required', 'class' => 'form-control form-control-sm'], 'option' => 'disable', 'options' => $is_m1_bundle_opt],
'stand_price' => ['label' => "標準價格(元/月)", "value" => "", "tag" => 'text', 'attr' => ['required', "readonly", 'colspan' => 2, 'name' => 'stand_price[]', 'class' => 'form-control form-control-sm']],
'contract_price' => ['label' => "契約報價(元/月)", "value" => "", "tag" => 'number', 'attr' => ['required', 'colspan' => 2, "placeholder" => "契約報價", 'name' => 'contract_price[]', 'class' => 'form-control form-control-sm']],
'sold_price' => ['label' => "契約成交價(元/月)", "value" => "", "tag" => 'number', 'attr' => ['required', 'colspan' => 2, 'name' => 'sold_price[]', 'class' => 'form-control form-control-sm']],
];
$con_maintance_examine_clear = DB::result("SELECT " . implode(',', array_keys($con_maintance_examine_clear_columm)) .
" FROM con_maintance_examine_clear where 1=1 and apply_key='$apply_key' and cmstatus='Y' ");
$j = 0;
$col_count = 12;
$cmecRow = " <tr>";
foreach ($con_maintance_examine_clear_columm as $key => $val) {
$fieldVal = "";
$_input = $val['tag'] == 'select' ?
FormHelper::select('', $val['options'], $fieldVal, $val['attr'])
: FormHelper::text("$key", $fieldVal, $val['attr'], $val['tag']);
// : "<input type='" . $val['tag'] . "' class=' form-control form-control-sm' " . $val['attr'] . " value='" . $fieldVal . "' name='${key}[]' id='$key' placeholder='請輸入'>";
$cmecRow .= "<td colspan='" . (empty($val['attr']['colspan']) ? '' : $val['attr']['colspan']) . "' ><div class=' col-12' > $_input</td>";
if ((++$j % $col_count) == 0) {
if ($j == $col_count) $cmecRow .= "<td><button onClick='delRow(this)' type='button' class='btn btn-link btn-md'>刪除</button></td>";
$cmecRow .= "</tr><tr>";
}
}
$cmecRow .= "</tr>";
function base_url($url)
{
return "https://www.masada.com.tw/static/" . $url;
}
function get_sequnece_no($seq_name = '', $p_yyyymm = '')
{
if (empty($p_yyyymm) || empty($seq_name)) return null;
#當前年月
list($yyyymm, $prefix) = DB::fields("select yyyymm ,prefix from sequence where seq_name='$seq_name' ");
if ($p_yyyymm != $yyyymm) {
DB::query("update sequence set yyyymm='$p_yyyymm' , current_val='10000' where seq_name='$seq_name' ");
}
// echo "SELECT concat( $prefix,,substring(nextval('$seq_name'),2)) seq_no ";
list($seq_no) = DB::fields("SELECT concat( '$prefix','$p_yyyymm',substring( appwms.nextval('$seq_name'),2)) seq_no ");
return $seq_no;
}
?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('css/jquery.cleditor.css'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url('bootstrap4/css/bootstrap.min.css'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url('css/layui.css'); ?>" />
<script type="text/javascript" src="<?php echo base_url('js/jquery3.7.js'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('js/selectpage.min.js'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('js/jquery.cleditor.min.js'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('bootstrap4/js/bootstrap.min.js'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('js/layui.js?' . rand(10, 100)); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('js/wf_property.js?') . rand(10, 100); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('js/flow_chart.js?' . rand(10, 100)); ?>"></script>
<script src="<?php echo base_url('js/validate/jquery.validate.min.js?' . rand(10, 100)); ?>"></script>
<script src="<?php echo base_url('js/validate/messages_zh_TW.js?' . rand(10, 100)); ?>">
</script>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('css/form.css?') . rand(10, 100); ?>" />
<script type="text/javascript">
window.param = {
elevator_type: '',
floors: 1,
speed: 1,
persons: 6,
weight: 1000,
maintain_times: 1, //病床梯一月2次保養
maintain_months: 12,
maintain_kind: 2,
maintain_period: 1, //預設為1月1次, 2是為2月一次
is_m1_bundle: 'N',
};
let regDelStr = "";
$(document).ready(function() {
var tag_data;
$.ajax({
url: 'https://www.masada.com.tw/fds/index.php/DesignFlow/get_assigner',
//url: 'http://localhost/fds/index.php/DesignFlow/get_assigner',
type: 'post',
dataType: 'json',
success: function(data) {
window.tag_data = data;
$('#selectPage').selectPage({
showField: 'show_name',
keyField: 'val',
data: data,
multiple: true,
multipleControlbar: true,
pagination: false,
focusDropList: false
});
}
});
$.validator.addMethod('gt', function(value, element, param) {
return value > param;
}, $.validator.format("輸入值必須大於0"));
var assigner = eval('<?= json_encode($assigner) ?>');
//console.log(assigner);
var cmecRow = "<?= str_replace('"', '\'', $cmecRow) ?>";
// $('#cmecTbody').append(cmecRow);
$('.sp_element_box').attr("disabled", true);
$("#assign_opinion").cleditor({
height: 100, // height not including margins, borders or padding
controls: // controls to add to the toolbar
"bold italic underline strikethrough subscript superscript | font size " +
"style | color highlight removeformat | bullets numbering | outdent " +
"indent | alignleft center alignright justify | undo redo | "
});
$('#contract_begin_date').on('input propertychange', function(e) {
var date = new Date(e.target.value);
var yyyy = date.getFullYear() + 1;
var mm = date.getMonth() + 1;
var dd = date.getDate();
var time = yyyy + `-` + (mm < 10 ? '0' + mm : mm) + '-' + (dd < 10 ? '0' + dd : dd);
$('#contract_end_date').val(time);
});
$('#brand').change(function() {
var _selected_status = $(this).children('option:selected').val(); //獲取被選擇的狀態
if (_selected_status == 'Z') {
$('#brandModal').modal('show')
}
});
$('#assign_status').change(function() {
$("#next_users").empty();
var _selected_status = $(this).children('option:selected').val(); //獲取被選擇的狀態
var _option_tmp = ""; //獲取下拉列表
// for (a in assigner) { //遍曆assigner
// if (assigner[a][0] == _selected_status) {
// _tmp = assigner[a][1].split(',');
// for (var b in _tmp) {
// if (_tmp[b] == '') {
// continue;
// }
// _uname = _tmp[b].split('-')[1];
// _uid = _tmp[b].split('-')[0];
// /* console.log(_tmp[b]);*/
// _option_tmp += '<option value=' + _uid + '>' + _tmp[b] + '</option>';
// }
// }
// }
_option_tmp += '<option value=' + '<?php echo $managerid ?>' + '>' + '<?php echo $managername ?>' + '</option>';
console.log(_option_tmp);
$("#next_users").append(_option_tmp);
});
$('#maintain_kind').change(function() {
if ($('#cmecTbody tr').length > 0) {
alert("保養方式已更動,請開始輸入電梯資料!");
$('#cmecTbody').find(':input').val('');
return false;
}
});
$("#form").validate();
$("form").submit(function(e) {
$('#reg_del').val(regDelStr);
});
});
addRow = function() {
if ($('#maintain_kind').val() == "") {
alert("請選擇保養方式!");
$('#maintain_kind').eq(0).focus();
return false;
}
var cmecRow = "<?= $cmecRow ?>";
$('#cmecTbody').append(cmecRow);
$("select[name^='elevator_kind'],select[name^='is_m1_bundle']").on('change', function(obj) {
//console.log('#'+$(this).attr('name')+'#');
var elen = 1;
if ('elevator_kind[]' == $(this).attr('name')) {
var children = $(this).parent().parent().parent();
var elementObj = $(children).next('tr').find("input[name^='stand_price']");
//var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle'] option:selected").val();
} else if ('is_m1_bundle[]' == $(this).attr('name')) {
var children = $(this).parent().parent().parent().prev('tr');
var elementObj = $(this).parent().parent().parent().find("input[name^='stand_price']");
//var is_m1_bundle = $(this).val();
}
var element = elementObj;
if ('elevator_kind[]' == $(this).attr('name')) {
var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle'] option: selected").val("");
} else if ('is_m1_bundle[]' == $(this).attr('name')) {
var is_m1_bundle = $(children).next('tr').find("select[name^='is_m1_bundle']").val();
}
var floors = $(children).find("input[name^='floors']").val();
var speed = $(children).find("input[name^='speed']").val();
var weight = $(children).find("input[name^='weight']").val();
var persons = $(children).find("input[name^='persons']").val();
var maintain_times = $(children).find("input[name^='maintain_times']").val();
var maintain_months = $(children).find("input[name^='maintain_months']").val();
var maintain_period = $(children).find("input[name^='maintain_period']").val();
var maintain_kind = $('#maintain_kind').val();
var elevator_type = $(children).find("select[name^='elevator_kind'] option:selected").val();
var param1 = {
...param,
persons,
floors,
speed,
weight,
maintain_times,
maintain_months,
maintain_period,
maintain_kind,
elevator_type,
is_m1_bundle
}
setStandPrice(param1, element);
//console.info(param1);
});
$("input[name^='floors']" +
",input[name^='speed']" +
",input[name^='persons']" +
",input[name^='weight']" +
",input[name^='maintain_times']" +
",input[name^='maintain_months']" +
",input[name^='maintain_period']"
).on('input propertychange', function(obj) {
// $(obj).parent().parent().parent().remove();
var children = $(this).parent().parent().parent().children();
var floors = $(children).find("input[name^='floors']").val();
var speed = $(children).find("input[name^='speed']").val();
var weight = $(children).find("input[name^='weight']").val();
var persons = $(children).find("input[name^='persons']").val();
var maintain_times = $(children).find("input[name^='maintain_times']").val();
var maintain_months = $(children).find("input[name^='maintain_months']").val();
var maintain_period = $(children).find("input[name^='maintain_period']").val();
var maintain_kind = $('#maintain_kind').val();
var elevator_type = $(children).find("select[name^='elevator_kind'] option:selected").val();
var is_m1_bundle = $(this).parent().parent().parent().next('tr').find("select[name^='is_m1_bundle'] option:selected").val();
var param1 = {
...param,
persons,
floors,
speed,
weight,
maintain_times,
maintain_months,
maintain_period,
maintain_kind,
elevator_type,
is_m1_bundle
}
var element = $(this).parent().parent().parent().next().children().find("input[name^='stand_price']");
setStandPrice(param1, element);
});
}
delRow = function(btn) {
if ($(btn).attr('name') == 'btn1') {
//console.log($(btn).parent().parent().prev('tr').find('input[id=register_code]').val());
regDelStr += $(btn).parent().parent().find('input[id=register_code]').val() + ",";
$(btn).parent().parent().next('tr').remove();
} else {
//console.log($(btn).parent().parent().find('input[id=register_code]').val());
$(btn).parent().parent().next('tr').remove();
$(btn).parent().parent().remove();
}
$(btn).parent().parent().remove();
}
setStandPrice = function(p, obj) {
$.ajax({
url: '../cont/t.php',
data: p,
type: 'get',
dataType: 'json',
//success: function(data) {},
success: function(data) {
console.info(data);
if (data.status == 'ok') {
$(obj).val(data.price);
} else {
$(obj).val(data.message);
}
}
});
}
addNewBrand = function() {
var new_brand = $("#new_brand").val();
if (new_brand != '') {
p = {
new_brand: new_brand,
method: 'add_brand'
}
$.ajax({
url: 'async_req.php',
data: p,
type: 'post',
dataType: 'json',
success: function(data) {
console.info(data);
$("#brand").append("<option value='" + data.seq + "'>" + new_brand + "</option>");
},
error: function(data) {
console.info(data);
}
});
}
}
</script>
<body>
<div id="toolbarmenu">
<!--<span id="objName" style="font-size:16px;margin-bottom:0px;margin-top:1px">流程:<?php echo $flowName; ?></span>-->
<!-- 導航欄 -->
<ul class="nav nav-tabs" role="tablist" id="tablist">
<li class=" nav-item ">
<a href="#tabassign" aria-controls="tabassign" role="tab" class=" active nav-link" data-toggle="tab">簽核表單</a>
</li>
</ul>
</div>
<!-- 導航欄 END-->
<div class="tab-content ">
<div class="tab-pane active assign_content " id="tabassign">
<form action="submit.php" id='form' method="post" style='width:98%;margin:0 auto'>
<!-- hidden域 -->
<input type="hidden" name="form_key" value='<?php echo $form_key; ?>' />
<input type="hidden" name="token" value='<?= $_GET['token'] ?>' />
<input type="hidden" name="reg_del" id="reg_del">
<input type="hidden" name="form_src" id="form_src" value="apply_form">
<!--表單start-->
<div class=" form container-fluid pt-5">
<div class="row form_head ">
<div class=" col-12 form_head_title ">
<h4> 保養契約價格審核單</h4>
</div>
</div>
<div class="row " style='padding-top:30px;'>
<div class=" col-lg-12 form_row_header ">
<b>契約信息</b>
</div>
</div>
<?php
//一行顯示三列
$i = 0;
echo " <div class='row '>";
foreach ($editableColumn as $key => $val) {
$j = (($i++) % 4);
$fieldVal = empty($data) ? "" : $data[0][$key];
$_input = $val['tag'] == 'select' ?
FormHelper::select("$key", $val['options'], $fieldVal, $val['attr'])
: FormHelper::text("$key", $fieldVal, $val['attr'], $val['tag']);
//"<input type='" . $val['tag'] . "' class=' form-control form-control-sm " . $val['class'] . "'
// value='" . $fieldVal . "' name='$key' id='$key' placeholder='請輸入'>";
if ($i != 1 && $j == 0) {
echo "
</div>
<div class='row'>
";
}
echo " <div class='col-1 form_field_title'>
" . $val['label'] . "
</div>
<div class=' col-2 form_field_content ' >
$_input
</div>
";
}
echo "</div>";
?>
<div id="assign_area " class="row ">
<div class="col-12 form_row_header ">
<b>洽商進度</b>
</div>
<div class="col-12 " style="padding:0">
<textarea class='form-control textarea' id="progress_remark" name="progress_remark" value='12' rows='6'><?= $hope_contract['progress_status'] ?></textarea>
</div>
</div>
<div id="elevator_list_area " class="row ">
<div class="col-12 form_row_header ">
<b>電梯詳細資料</b>
</div>
<table style='margin-top:0px;text-align:center' class=' table-condensed' id='elevator_list'>
<thead>
<tr>
<td colspan='18' style='text-align:left;font-size:13px'>
<b>註意事項:</b>
<p>1.速度單位是 米/分.</p>
<p>2.選擇贈送M1,保養月數需填寫60.</p>
<p>3.標準價格未帶出,請聯係業務部建立該規格報價.</p>
<p>4.無機房速度20~60米 以60米為標準.</p>
</td>
</tr>
<tr>
<td colspan='18' ;><button onClick='addRow()' type="button" style='float:right' class="btn btn-link btn-md">+新增</button></td>
</tr>
<tr style='margin-top:0px;text-align:center'>
<?php
$j = 0;
foreach ($con_maintance_examine_clear_columm as $val) {
echo FormHelper::tag("th", ['colspan' => empty($val['attr']['colspan']) ? 1 : $val['attr']['colspan']], $val['label']);
//echo "<th>" . $val['label'] . "</th>";
if ((++$j % $col_count) == 0) {
if ($j == $col_count) echo "<th>操作</th>";
echo "</tr><tr style='margin-top:0px;text-align:center'>";
}
}
?>
</tr>
</thead>
<tbody id='cmecTbody'>
<?php
foreach ($con_maintance_examine_clear as $key => $val) {
$j = 0;
$cmecRow = " <td>";
foreach ($con_maintance_examine_clear_columm as $col => $col_def) {
$fieldVal = empty($val) ? "" : $val[$col];
$_input = $col_def['tag'] == 'select' ?
FormHelper::select($col, $col_def['options'], $fieldVal, $col_def['attr'])
: FormHelper::text($col, $fieldVal, $col_def['attr'], $col_def['tag']);
$cmecRow .= "<td colspan='" . (empty($col_def['attr']['colspan']) ? '' :
$col_def['attr']['colspan']) . "' ><div class=' col-12'>
$_input</td>";
if ((++$j % $col_count) == 0) {
$cmecRow .= "<td><button name='btn1' onClick='delRow(this)' type='button' class='btn btn-link btn-md '>刪除</button></td>";
$cmecRow .= "</td><td>";
}
}
echo $cmecRow . "</td>";
}
?>
</tbody>
</table>
</div>
<div id="assign_area " class="row ">
<div class="col-12 form_row_header ">
<b>簽核操作</b>
</div>
<div class="col-12 col-3 form_field_content " style="padding:0">
<textarea id="assign_opinion" name="assign_opinion" required></textarea>
</div>
</div>
<div class="row">
<div class=" col-3 form_field_title">
<b style='float:right'>簽核狀態</b>
</div>
<div class=" col-2 form_field_content ">
<select name="assign_status" id="assign_status" required class='form-control form-control form-control-sm '>
<?php echo $assign_status; ?>
</select>
</div>
<div class=" col-2 form_field_title">
<b>下位簽核者</b>
</div>
<div class="col-2 form_field_content">
<select lect name="next_users" id="next_users" class='form-control form-control-sm '></select>
</div>
<div class="col-3 form_field_title ">
<button type="submit" name="btn_save" class="btn btn-warning btn-sm" value="save" style='float:left;margin-right:4px;'>保存</button>&nbsp;
<button type="submit" name="btn_save" class="btn btn-primary btn-sm" value="tosign" style='float:left'>提交</button>
</div>
</div>
<div id="opinion_area " class="row form_comment ">
<div class='col-12 '>
<ul class=" form-control-md nav nav-tabs" role="tablist" style='line-height:20px'>
<li class="active nav-item ">
<a href="#main_flow_assign" aria-controls="main_flow_assign" role="tab" class=" active nav-link" role="tab" data-toggle="tab">簽核意見</a>
</li>
</ul>
</div>
<div class="tab-content col-12">
<div role="tabpanel" class="tab-pane active" id="main_flow_assign">
<?php
$assign_departs = array();
foreach ($assign_opinions as $as) {
$assign_departs[$as['assign_depart']] = $as['assign_depart_name'];
}
?>
<div class="comment_items ">
<?php $cnt = 1;
$tmp_code = "0";
foreach ($assign_opinions as $as) { ?>
<div class="comment-item">
<!-- <div class="comment-title">
<b></b>
</div>-->
<?php
if (($as['flow_code']) != $tmp_code)
echo ' <div class="comment-title">
<b>' . $wf->getNodeDescriptions($as['flow_code']) . '</b>
</div>';
$tmp_code = $as['flow_code'];
?>
<div class="comment-content <?php if ($cnt++ % 2 == 0) echo "comment-odd" ?>">
<div class="comment-content-header">
<span>
<strong>
<?php echo Employee::get_employee($as['assigner'], 'name-employee_no') ?>
&nbsp;
<?php if ($as['lead_code'] < 90) echo
" <label class='comment-content-tag'>" . $as['position_name'] . " </label>"; ?>
</strong>
</span>
<span>
<strong>
&nbsp;
<?php if ($as['assign_status'] == 'S') echo
" <label class='comment-content-tag'>申請人 </label>"; ?>
<?php if (substr($as['assign_status'], 0, 1) == 'B')
echo " <label class='comment-content-tag red-tag'>退回</label>"; ?>
<?php if (substr($as['assign_status'], 0, 2) == 'X3')
echo " <label class='comment-content-tag red-tag'>會簽</label>"; ?>
</strong>
</span>
<span class="comment-content-header-time">
簽核於:<?= $as['assign_date'] ?>
</span>
<!-- <ul class="comment-content-tags">
<li class="">不同意</li>
<li class="comment-content-tag-alert">退回</li>
</ul>-->
</div>
<div class="comment-content-body">
<?= $as['assign_opinion'] ?>
</div>
<!-- <div class="comment-content-footer">
<span>已上載附件:&nbsp;</span><a href="#">附件1</a>
</div>-->
</div>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
</div>
</form>
<!-- 模態框(Modal) -->
<div class="modal fade" id="brandModal" tabindex="-1" role="dialog" aria-labelledby="brandModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
新增廠牌
</div>
<div class="modal-body">
<input type="text" class='form-control form-control form-control-sm ' id='new_brand'>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onClick="addNewBrand()" data-dismiss="modal">保存</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
</div>
</div>
</body>

28
wms/cont/sign_list.php

@ -70,8 +70,11 @@ form_key,
f_return_content('payment_kind',payment_kind ) payment_kind FROM $table f_return_content('payment_kind',payment_kind ) payment_kind FROM $table
where 1=1 $where ORDER BY vol_no"; where 1=1 $where ORDER BY vol_no";
// echo $sql;
$data = mysqli_query($link, $sql); $data = mysqli_query($link, $sql);
// echo '<pre>';
// print_r($data);
// echo '</pre>';
?> ?>
<?php <?php
@ -91,8 +94,7 @@ if ($data) :
<div style="overflow-x:auto;"> <div style="overflow-x:auto;">
<form method='get' action='#'> <form method='get' action='#'>
<table class='table query-table table-striped table-bordered display compact' <table class='table query-table table-striped table-bordered display compact' style='width:98%;text-align:center;margin:0 auto'>
style='width:98%;text-align:center;margin:0 auto'>
<thead> <thead>
<tr> <tr>
<td colspan="8"> <td colspan="8">
@ -103,15 +105,15 @@ if ($data) :
</thead> </thead>
</table> </table>
<table id="table_index" class="table table-striped table-bordered" style="width:98%" > <table id="table_index" class="table table-striped table-bordered" style="width:98%">
<thead> <thead>
<?php <?php
echo "<tr>"; echo "<tr>";
foreach ($editableColumn as $key => $val) { foreach ($editableColumn as $key => $val) {
echo "<th>".$val['label']."</th>"; echo "<th>" . $val['label'] . "</th>";
} }
echo "<th>是否結案</th>"; echo "<th>是否結案</th>";
// echo "<th>刪除</th>"; // echo "<th>刪除</th>";
echo "</tr>"; echo "</tr>";
?> ?>
@ -121,19 +123,19 @@ if ($data) :
<tr> <tr>
<?php <?php
foreach ($editableColumn as $key => $val) { foreach ($editableColumn as $key => $val) {
if ( $key =='apply_key') { if ($key == 'apply_key') {
echo "<td> <a href='query_form.php?apply_key=$row[$key]&token=".$_GET['token']."'>" . $row[$key] . "</td>"; echo "<td> <a href='query_form.php?apply_key=$row[$key]&token=" . $_GET['token'] . "'>" . $row[$key] . "</td>";
} elseif ($key == 'brand') { } elseif ($key == 'brand') {
echo "<td>" . (!empty($row[$key])?$elevator_brand_arr[$row[$key]]:"") . "</td>"; echo "<td>" . (!empty($row[$key]) ? $elevator_brand_arr[$row[$key]] : "") . "</td>";
} else { } else {
echo "<td>" . $row[$key] . "</td>"; echo "<td>" . $row[$key] . "</td>";
} }
} }
//list($signer)=DB::fields("); //list($signer)=DB::fields(");
//echo " select f_return_name(current_assigner) signer from subflow where form_key='". $row['form_key'] ."'"; ". (is_array($row['form_key'])?'': $row['form_key']) ." //echo " select f_return_name(current_assigner) signer from subflow where form_key='". $row['form_key'] ."'"; ". (is_array($row['form_key'])?'': $row['form_key']) ."
list($signer)=mysqli_fetch_array(mysqli_query($link, "select max(f_return_name(current_assigner) ) signer from subflow where form_key='". $row['form_key'] ."'" )); list($signer) = mysqli_fetch_array(mysqli_query($link, "select max(f_return_name(current_assigner) ) signer from subflow where form_key='" . $row['form_key'] . "'"));
echo "<td>" .(empty($signer)?"結案":"N") . "</td>"; echo "<td>" . (empty($signer) ? "結案" : "N") . "</td>";
?> ?>

7
wms/contract-repair/api/postContractData.php

@ -323,6 +323,8 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
/// 時間 : /// 時間 :
////////////////////////////// //////////////////////////////
if (isset($_POST['contractno']) && $_POST['contractno'] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'r') { if (isset($_POST['contractno']) && $_POST['contractno'] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'r') {
// echo $_POST;
// exit;
try { try {
$created_at = date('Y-m-d H:i:s'); $created_at = date('Y-m-d H:i:s');
$contractno = !empty($_POST['contractno']) ? $_POST['contractno'] : null; $contractno = !empty($_POST['contractno']) ? $_POST['contractno'] : null;
@ -337,7 +339,7 @@ if (isset($_POST['contractno']) && $_POST['contractno'] != "" && isset($_POST['c
$user_id = !empty($_POST['user_id']) ? $_POST['user_id'] : null; $user_id = !empty($_POST['user_id']) ? $_POST['user_id'] : null;
$type = !empty($_POST['type']) ? $_POST['type'] : null; $type = !empty($_POST['type']) ? $_POST['type'] : null;
$sign_date = !empty($_POST['sign_date']) ? $_POST['sign_date'] : null; $sign_date = !empty($_POST['sign_date']) ? $_POST['sign_date'] : null;
$contract_status = !empty($_POST['contract_status']) ? $_POST['contract_status'] : null; $contract_status = !empty($_POST['contract_status']) ? $_POST['contract_status'] : 1;
$fail_arr = []; $fail_arr = [];
@ -400,7 +402,7 @@ if (isset($_POST['contractno']) && $_POST['contractno'] != "" && isset($_POST['c
$stmt->bindParam(":address", $address); $stmt->bindParam(":address", $address);
$stmt->bindParam(":type", $type); $stmt->bindParam(":type", $type);
$stmt->bindParam(":invoice", $invoice); $stmt->bindParam(":invoice", $invoice);
$stmt->bindParam(":repaireid", $repaireid); $stmt->bindParam(":repaireid", $repairid);
$stmt->bindParam(":total_price", $total_price); $stmt->bindParam(":total_price", $total_price);
$stmt->bindParam(":sign_date", $sign_date); $stmt->bindParam(":sign_date", $sign_date);
$stmt->bindParam(":contract_status", $contract_status); $stmt->bindParam(":contract_status", $contract_status);
@ -414,6 +416,7 @@ if (isset($_POST['contractno']) && $_POST['contractno'] != "" && isset($_POST['c
$conn->commit(); $conn->commit();
} catch (PDOException $e) { } catch (PDOException $e) {
$conn->rollback(); $conn->rollback();
header("HTTP/1.1 422 Unprocessable Entity");
echo $e->getMessage(); echo $e->getMessage();
die('Error!' . $e->getMessage()); die('Error!' . $e->getMessage());
} }

12
wms/contract-repair/contract-repair-edit.php

@ -2,14 +2,17 @@
include("../header.php"); include("../header.php");
require_once("./conn.php"); require_once("./conn.php");
$id = $_GET['contractid']; $id = $_GET['contractid'];
$sql_str = "SELECT * FROM contract_r_signed_back WHERE id = :id ORDER BY id DESC"; $sql_str = "SELECT a.*,b.name FROM contract_r_signed_back AS a LEFT JOIN account AS b ON a.repaireid = b.accountid
WHERE a.id = :id ORDER BY id DESC";
$stmt = $conn->prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt->bindParam(':id', $id); $stmt->bindParam(':id', $id);
$stmt->execute(); $stmt->execute();
$contract = $stmt->fetch(PDO::FETCH_ASSOC); $contract = $stmt->fetch(PDO::FETCH_ASSOC);
// echo '<pre>'; // echo '<pre>';
// print_r($contract); // print_r($contract['contract_status'] + 1);
// echo '</pre>'; // echo '</pre>';
// $files_id = $contract['files_id']; // $files_id = $contract['files_id'];
// $sql_str = "SELECT * FROM contract_back_files WHERE files_id = :files_id "; // $sql_str = "SELECT * FROM contract_back_files WHERE files_id = :files_id ";
// $stmt = $conn->prepare($sql_str); // $stmt = $conn->prepare($sql_str);
@ -40,6 +43,7 @@ $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script defer src="./js/alpinejs/cdn.min.js"></script> <script defer src="./js/alpinejs/cdn.min.js"></script>
<script src="./js/axios/axios.min.js"></script> <script src="./js/axios/axios.min.js"></script>
<!-- <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script> --> <!-- <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script> -->
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script> <script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script>
@ -78,7 +82,7 @@ $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修
<td style="vertical-align: middle">維保人員</td> <td style="vertical-align: middle">維保人員</td>
<td style="vertical-align: middle"> <td style="vertical-align: middle">
<select class="repaireid" id="repaireid" x-model="data.repaireid"> <select class="repaireid" id="repaireid" x-model="data.repaireid">
<option value="">選擇營業員</option> <option value="<?php echo $contract['repaireid'] ?>"><?php echo $contract['repaireid'] . '-' . $contract['name'] ?></option>
<?php foreach ($persons as $person) : ?> <?php foreach ($persons as $person) : ?>
<option value="<?php echo $person['value']; ?>"><?php echo $person['view']; ?></option> <option value="<?php echo $person['value']; ?>"><?php echo $person['view']; ?></option>
<?php endforeach ?> <?php endforeach ?>
@ -135,7 +139,7 @@ $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修
<td style="vertical-align: middle"> <td style="vertical-align: middle">
<select class="contract_status" id="contract_status" x-model="data.contract_status"> <select class="contract_status" id="contract_status" x-model="data.contract_status">
<?php foreach ($contract_stauts as $key => $status) : ?> <?php foreach ($contract_stauts as $key => $status) : ?>
<option value="<?php echo $key + 1; ?>"><?php echo $status; ?></option> <option value="<?php echo $key + 1 ?>"><?php echo $status; ?></option>
<?php endforeach ?> <?php endforeach ?>
</select> </select>
<p class="alerttext" x-show="data.contract_status==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> <p class="alerttext" x-show="data.contract_status==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>

22
wms/contract-repair/contract-repair-input.php

@ -14,7 +14,13 @@ $stmt = $conn->prepare($sql_str);
$stmt->bindParam(':accounttype', $accounttype); $stmt->bindParam(':accounttype', $accounttype);
$stmt->execute(); $stmt->execute();
$contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC); $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC);
$persons = array_map(function ($person) {
return [
'view' => $person['accountid'] . '-' . $person['name'],
'value' => $person['accountid'],
'name' => $person['name']
];
}, $contractpersons);
$contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修理完成"]; $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修理完成"];
?> ?>
@ -73,9 +79,14 @@ $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修
<p class="alerttext" x-show="data.company==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> <p class="alerttext" x-show="data.company==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td> </td>
<td style="vertical-align: middle">維保人員</td> <td style="vertical-align: middle">維保人員</td>
<td> <td style="vertical-align: middle">
<input type="text" x-model="data.repairer" /> <select class="repaireid" id="repaireid" x-model="data.repaireid">
<p class="alerttext" x-show="data.repairer==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> <option value="<?php echo $contract['repaireid'] ?>"><?php echo $contract['repaireid'] . '-' . $contract['name'] ?></option>
<?php foreach ($persons as $person) : ?>
<option value="<?php echo $person['value']; ?>"><?php echo $person['view']; ?></option>
<?php endforeach ?>
</select>
<p class="alerttext" x-show="data.repaireid==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td> </td>
<td style="vertical-align: middle">電梯編號</td> <td style="vertical-align: middle">電梯編號</td>
<td> <td>
@ -121,11 +132,12 @@ $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修
<td style="vertical-align: middle">工程確認</td> <td style="vertical-align: middle">工程確認</td>
<td style="vertical-align: middle"> <td style="vertical-align: middle">
<select class="contract_status" id="contract_status" x-model="data.contract_status"> <select class="contract_status" id="contract_status" x-model="data.contract_status">
<option value="">選擇工程類別</option>
<?php foreach ($contract_stauts as $key => $status) : ?> <?php foreach ($contract_stauts as $key => $status) : ?>
<option value="<?php echo $key + 1; ?>"><?php echo $status; ?></option> <option value="<?php echo $key + 1; ?>"><?php echo $status; ?></option>
<?php endforeach ?> <?php endforeach ?>
</select> </select>
<!-- <p class="alerttext" x-show="data.contract_status==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> --> <p class="alerttext" x-show="data.contract_status==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td> </td>
<td></td> <td></td>
<td></td> <td></td>

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

@ -943,7 +943,7 @@ const contractRepair = () => {
contractno: '', contractno: '',
company: '', company: '',
repairer: '', repairer: '',
repairid: '', repaireid: '',
facilityno: '', facilityno: '',
taxid: '', taxid: '',
invoice: '', //發票抬頭 invoice: '', //發票抬頭
@ -993,8 +993,9 @@ const contractRepair = () => {
this.data.address = res.data.address; this.data.address = res.data.address;
this.data.repair_no = res.data.repair_no; this.data.repair_no = res.data.repair_no;
this.data.total_price = res.data.total_price; this.data.total_price = res.data.total_price;
this.data.repairid = res.data.accountid; this.data.repaireid = res.data.accountid;
this.data.sign_date = res.data.sign_date; this.data.sign_date = res.data.sign_date;
this.data.contract_status = res.data.contract_status;
} }
this.step = 2; this.step = 2;
this.isLoading = false; this.isLoading = false;
@ -1019,8 +1020,9 @@ const contractRepair = () => {
this.data.address = ''; this.data.address = '';
this.data.repair_no = ''; this.data.repair_no = '';
this.data.total_price = ''; this.data.total_price = '';
this.data.repairid = ''; this.data.repaireid = '';
this.data.sign_date = ''; this.data.sign_date = '';
this.data.contract_status = '';
return; return;
} }
@ -1031,7 +1033,7 @@ const contractRepair = () => {
const form = new FormData(); const form = new FormData();
form.append('contractno', this.data.contractno); form.append('contractno', this.data.contractno);
form.append('company', this.data.company); form.append('company', this.data.company);
form.append('repairid', this.data.repairid); form.append('repairid', this.data.repaireid);
form.append('facilityno', this.data.facilityno); form.append('facilityno', this.data.facilityno);
form.append('taxid', this.data.taxid); form.append('taxid', this.data.taxid);
form.append('invoice', this.data.invoice); form.append('invoice', this.data.invoice);
@ -1050,7 +1052,7 @@ const contractRepair = () => {
this.step = 1; this.step = 1;
this.data.contractno = ''; this.data.contractno = '';
this.data.company = ''; this.data.company = '';
this.data.repairid = ''; this.data.repaireid = '';
this.data.facilityno = ''; this.data.facilityno = '';
this.data.repairer = ''; this.data.repairer = '';
this.data.taxid = ''; this.data.taxid = '';
@ -1069,6 +1071,7 @@ const contractRepair = () => {
if (code == 422) { if (code == 422) {
this.fail_arr = error.response.data; this.fail_arr = error.response.data;
this.errorFn(); this.errorFn();
console.log(error.response.data);
} }
if (code == 500) { if (code == 500) {
alert('儲存失敗!可能為以下錯誤:\n' + error.response.data); alert('儲存失敗!可能為以下錯誤:\n' + error.response.data);

426
wms/contract/api/postContractData.php

@ -3,21 +3,21 @@ require_once("../conn.php");
include_once("./getFacilityNo.php"); include_once("./getFacilityNo.php");
include_once("./getComboNo.php"); include_once("./getComboNo.php");
include_once("./upload_chk.php"); include_once("./upload_chk.php");
ini_set ( 'date.timezone' , 'Asia/Taipei' ); ini_set('date.timezone', 'Asia/Taipei');
//保養簽回 //保養簽回
if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'b') { if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'b') {
try{ try {
$created_at = date('Y-m-d H:i:s'); $created_at = date('Y-m-d H:i:s');
$contractno = !empty($_POST['contractno'])? $_POST['contractno'] : null; $contractno = !empty($_POST['contractno']) ? $_POST['contractno'] : null;
$total_price = !empty($_POST['total_price']) ? $_POST['total_price'] : null; $total_price = !empty($_POST['total_price']) ? $_POST['total_price'] : null;
$vat = !empty($_POST['vat']) ? $_POST['vat'] : null; $vat = !empty($_POST['vat']) ? $_POST['vat'] : null;
$mtype = !empty($_POST['mtype']) ? $_POST['mtype'] :null; $mtype = !empty($_POST['mtype']) ? $_POST['mtype'] : null;
$opendoor = !empty($_POST['opendoor']) ? $_POST['opendoor']: null; $opendoor = !empty($_POST['opendoor']) ? $_POST['opendoor'] : null;
$phone = !empty($_POST['phone']) ? $_POST['phone'] : null; $phone = !empty($_POST['phone']) ? $_POST['phone'] : null;
$email = !empty($_POST['email']) ? $_POST['email'] : null; $email = !empty($_POST['email']) ? $_POST['email'] : null;
$mworker = !empty($_POST['mworker']) ? $_POST['mworker'] : null; $mworker = !empty($_POST['mworker']) ? $_POST['mworker'] : null;
$mcycle = !empty($_POST['mcycle']) ? $_POST['mcycle'] : null; $mcycle = !empty($_POST['mcycle']) ? $_POST['mcycle'] : null;
$salesman = !empty($_POST['salesman']) ?$_POST['salesman'] : null; $salesman = !empty($_POST['salesman']) ? $_POST['salesman'] : null;
$contract_begin_date = !empty($_POST['contract_begin_date']) ? $_POST['contract_begin_date'] : null; $contract_begin_date = !empty($_POST['contract_begin_date']) ? $_POST['contract_begin_date'] : null;
$contract_end_date = !empty($_POST['contract_end_date']) ? $_POST['contract_end_date'] : null; $contract_end_date = !empty($_POST['contract_end_date']) ? $_POST['contract_end_date'] : null;
$address = !empty($_POST['address']) ? $_POST['address'] : null; $address = !empty($_POST['address']) ? $_POST['address'] : null;
@ -34,31 +34,31 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$elevators = !empty($_POST['elevators']) ? json_decode($_POST['elevators'], true) : []; $elevators = !empty($_POST['elevators']) ? json_decode($_POST['elevators'], true) : [];
// validate // validate
$fail_arr = []; $fail_arr = [];
if($contractno === '') return $fail_arr[] = '合約號為必填'; if ($contractno === '') return $fail_arr[] = '合約號為必填';
if($total_price == '') $fail_arr[] = '合約總價為必填'; if ($total_price == '') $fail_arr[] = '合約總價為必填';
if($vat == '') $fail_arr[] = '統一編號為必填'; if ($vat == '') $fail_arr[] = '統一編號為必填';
if($mtype == '') $fail_arr[] = '維修型態為必填'; if ($mtype == '') $fail_arr[] = '維修型態為必填';
if($phone == '') $fail_arr[] = '客戶電話為必填'; if ($phone == '') $fail_arr[] = '客戶電話為必填';
if($email == '') $fail_arr[] = 'Email為必填'; if ($email == '') $fail_arr[] = 'Email為必填';
if($mworker == '') $fail_arr[] = '保養員為必填'; if ($mworker == '') $fail_arr[] = '保養員為必填';
if($mcycle == '') $fail_arr[] = '保養頻率為必填'; if ($mcycle == '') $fail_arr[] = '保養頻率為必填';
if($salesman == '') $fail_arr[] = '營業員為必填'; if ($salesman == '') $fail_arr[] = '營業員為必填';
if($contract_begin_date == '') $fail_arr[] = '合約開始時間為必填'; if ($contract_begin_date == '') $fail_arr[] = '合約開始時間為必填';
if($contract_end_date == '') $fail_arr[] = '合約結束時間為必填'; if ($contract_end_date == '') $fail_arr[] = '合約結束時間為必填';
if($address == '') $fail_arr[] = '地址為必填'; if ($address == '') $fail_arr[] = '地址為必填';
if($area == '') $fail_arr[] = '區域為必填'; if ($area == '') $fail_arr[] = '區域為必填';
if($customer == '') $fail_arr[] = '客戶為必填'; if ($customer == '') $fail_arr[] = '客戶為必填';
if($partyA == '') $fail_arr[] = '業務聯繫人為必填'; if ($partyA == '') $fail_arr[] = '業務聯繫人為必填';
if($partyAaddress == '') $fail_arr[] = '業務聯繫人地址為必填'; if ($partyAaddress == '') $fail_arr[] = '業務聯繫人地址為必填';
if($partyAphone == '') $fail_arr[] = '業務聯繫人電話為必填'; if ($partyAphone == '') $fail_arr[] = '業務聯繫人電話為必填';
if($partyAemail == '') $fail_arr[] = '業務聯繫人Email為必填'; if ($partyAemail == '') $fail_arr[] = '業務聯繫人Email為必填';
if($num == '') $fail_arr[] = '電梯數量為必填'; if ($num == '') $fail_arr[] = '電梯數量為必填';
if(count($fail_arr) > 0) { if (count($fail_arr) > 0) {
header("HTTP/1.1 422 Unprocessable Entity"); header("HTTP/1.1 422 Unprocessable Entity");
echo json_encode($fail_arr); echo json_encode($fail_arr);
exit(); exit();
} }
//create account table //create account table
$accounttype = "A"; $accounttype = "A";
@ -73,18 +73,18 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$conn->beginTransaction(); $conn->beginTransaction();
$sql_str = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, email, repairerid, creater, create_at) VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address, :email, :repairerid, :creater, :create_at)"; $sql_str = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, email, repairerid, creater, create_at) VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address, :email, :repairerid, :creater, :create_at)";
$stmt = $conn -> prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(':accounttype' ,$accounttype); $stmt->bindParam(':accounttype', $accounttype);
$stmt -> bindParam(':accountid' ,$accountid); $stmt->bindParam(':accountid', $accountid);
$stmt -> bindParam(':pwd' ,$pwd); $stmt->bindParam(':pwd', $pwd);
$stmt -> bindParam(':name' ,$name); $stmt->bindParam(':name', $name);
$stmt -> bindParam(':tel' ,$tel); $stmt->bindParam(':tel', $tel);
$stmt -> bindParam(':address' ,$address); $stmt->bindParam(':address', $address);
$stmt -> bindParam(':email' ,$email); $stmt->bindParam(':email', $email);
$stmt -> bindParam(':repairerid' ,$repairerid); $stmt->bindParam(':repairerid', $repairerid);
$stmt -> bindParam(':creater' ,$creater); $stmt->bindParam(':creater', $creater);
$stmt -> bindParam(':create_at' ,$create_at); $stmt->bindParam(':create_at', $create_at);
$stmt -> execute(); $stmt->execute();
//create contract table //create contract table
@ -103,100 +103,100 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$end_date = $contract_end_date; $end_date = $contract_end_date;
$sql_str = "INSERT INTO contract (contracttype, contractno, company, taxid, address, tel, promiser, contractperson, contractaddress, contracttel, contractemail, contract_employee, start_date, end_date, creater, create_at) VALUES (:contracttype, :contractno, :company, :taxid, :address, :tel, :promiser, :contractperson, :contractaddress, :contracttel, :contractemail, :contract_employee, :start_date, :end_date, :creater, :create_at)"; $sql_str = "INSERT INTO contract (contracttype, contractno, company, taxid, address, tel, promiser, contractperson, contractaddress, contracttel, contractemail, contract_employee, start_date, end_date, creater, create_at) VALUES (:contracttype, :contractno, :company, :taxid, :address, :tel, :promiser, :contractperson, :contractaddress, :contracttel, :contractemail, :contract_employee, :start_date, :end_date, :creater, :create_at)";
$stmt = $conn -> prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(':contracttype' ,$contracttype); $stmt->bindParam(':contracttype', $contracttype);
$stmt -> bindParam(':contractno' ,$contractno); $stmt->bindParam(':contractno', $contractno);
$stmt -> bindParam(':company' ,$company); $stmt->bindParam(':company', $company);
$stmt -> bindParam(':taxid' ,$taxid); $stmt->bindParam(':taxid', $taxid);
$stmt -> bindParam(':address' ,$address); $stmt->bindParam(':address', $address);
$stmt -> bindParam(':tel' ,$tel); $stmt->bindParam(':tel', $tel);
$stmt -> bindParam(':promiser' ,$promiser); $stmt->bindParam(':promiser', $promiser);
$stmt -> bindParam(':contractperson' ,$contractperson); $stmt->bindParam(':contractperson', $contractperson);
$stmt -> bindParam(':contractaddress' ,$contractaddress); $stmt->bindParam(':contractaddress', $contractaddress);
$stmt -> bindParam(':contracttel' ,$contracttel); $stmt->bindParam(':contracttel', $contracttel);
$stmt -> bindParam(':contractemail' ,$contractemail); $stmt->bindParam(':contractemail', $contractemail);
$stmt -> bindParam(':contract_employee' ,$contract_employee); $stmt->bindParam(':contract_employee', $contract_employee);
$stmt -> bindParam(':start_date' ,$start_date); $stmt->bindParam(':start_date', $start_date);
$stmt -> bindParam(':end_date' ,$end_date); $stmt->bindParam(':end_date', $end_date);
$stmt -> bindParam(':creater' ,$creater); $stmt->bindParam(':creater', $creater);
$stmt -> bindParam(':create_at' ,$create_at); $stmt->bindParam(':create_at', $create_at);
$stmt -> execute(); $stmt->execute();
//create facility table //create facility table
$createFacilityNo = new CreateFacilityNo(); $createFacilityNo = new CreateFacilityNo();
$dailyNecessities = [ $dailyNecessities = [
'MAE100'=>'X', 'MAE100' => 'X',
'MAM200'=>'W', 'MAM200' => 'W',
'MAH100'=>'H', 'MAH100' => 'H',
'MAQ100'=>'Z', 'MAQ100' => 'Z',
'MAF100'=>'F', 'MAF100' => 'F',
'MAZ100'=>'B', 'MAZ100' => 'B',
]; ];
$facility_arr = []; $facility_arr = [];
foreach($elevators as $elevator){ foreach ($elevators as $elevator) {
$facility_arr[] = $dailyNecessities[$elevator['spec']]; $facility_arr[] = $dailyNecessities[$elevator['spec']];
} }
echo json_encode($facility_arr); echo json_encode($facility_arr);
$facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num); $facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num);
echo json_encode($facilityno); echo json_encode($facilityno);
echo '-------'; echo '-------';
$sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid"; $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid";
$stmt = $conn->prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt->bindParam(':accountid',$mworker); $stmt->bindParam(':accountid', $mworker);
$stmt->execute(); $stmt->execute();
$worker = $stmt->fetch(PDO::FETCH_ASSOC); $worker = $stmt->fetch(PDO::FETCH_ASSOC);
$customerid = $vat; $customerid = $vat;
$define = "B"; $define = "B";
$repairtype = $mtype; $repairtype = $mtype;
$repairerid = $mworker; $repairerid = $mworker;
$repairername = $worker['name']; $repairername = $worker['name'];
foreach($elevators as $idx=>$elevator){ foreach ($elevators as $idx => $elevator) {
$sql_str = "INSERT INTO facility (contractno, define, facilityno, latitude, longitude, customerid, weight, numberofpassenger, numberofstop, numberoffloor, opentype, speed, repairtype, maintainance, facility_kind, address, repairerid, repairername, creater, create_at, area, takecertificatedate, licensedate) $sql_str = "INSERT INTO facility (contractno, define, facilityno, latitude, longitude, customerid, weight, numberofpassenger, numberofstop, numberoffloor, opentype, speed, repairtype, maintainance, facility_kind, address, repairerid, repairername, creater, create_at, area, takecertificatedate, licensedate)
VALUES (:contractno, :define, :facilityno, :latitude, :longitude, :customerid, :weight, :numberofpassenger, :numberofstop, :numberoffloor, :opentype, :speed, :repairtype, :maintainance, :facility_kind, :address, :repairerid, :repairername, :creater, :create_at, :area, :takecertificatedate, :licensedate)"; VALUES (:contractno, :define, :facilityno, :latitude, :longitude, :customerid, :weight, :numberofpassenger, :numberofstop, :numberoffloor, :opentype, :speed, :repairtype, :maintainance, :facility_kind, :address, :repairerid, :repairername, :creater, :create_at, :area, :takecertificatedate, :licensedate)";
$stmt = $conn -> prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(':contractno' ,$contractno); $stmt->bindParam(':contractno', $contractno);
$stmt -> bindParam(':define' ,$define); $stmt->bindParam(':define', $define);
$stmt -> bindParam(':facilityno' ,$facilityno[$idx]); $stmt->bindParam(':facilityno', $facilityno[$idx]);
$stmt -> bindParam(':latitude' ,$elevator['latitude']); $stmt->bindParam(':latitude', $elevator['latitude']);
$stmt -> bindParam(':longitude' ,$elevator['longitude']); $stmt->bindParam(':longitude', $elevator['longitude']);
$stmt -> bindParam(':customerid' ,$customerid); $stmt->bindParam(':customerid', $customerid);
$stmt -> bindParam(':weight' ,$elevator['weight']); $stmt->bindParam(':weight', $elevator['weight']);
$stmt -> bindParam(':numberofpassenger' ,$elevator['persons']); $stmt->bindParam(':numberofpassenger', $elevator['persons']);
$stmt -> bindParam(':numberofstop' ,$elevator['stop']); $stmt->bindParam(':numberofstop', $elevator['stop']);
$stmt -> bindParam(':numberoffloor' ,$elevator['floors']); $stmt->bindParam(':numberoffloor', $elevator['floors']);
$stmt -> bindParam(':opentype' ,$elevator['opendoor']); $stmt->bindParam(':opentype', $elevator['opendoor']);
$stmt -> bindParam(':speed' ,$elevator['speed']); $stmt->bindParam(':speed', $elevator['speed']);
$stmt -> bindParam(':repairtype' ,$repairtype); $stmt->bindParam(':repairtype', $repairtype);
$stmt -> bindParam(':maintainance' ,$elevator['maintainance']); $stmt->bindParam(':maintainance', $elevator['maintainance']);
$stmt -> bindParam(':facility_kind' ,$elevator['spec']); $stmt->bindParam(':facility_kind', $elevator['spec']);
$stmt -> bindParam(':address' ,$address); $stmt->bindParam(':address', $address);
$stmt -> bindParam(':repairerid' ,$repairerid); $stmt->bindParam(':repairerid', $repairerid);
$stmt -> bindParam(':repairername' ,$repairername); $stmt->bindParam(':repairername', $repairername);
$stmt -> bindParam(':creater' ,$creater); $stmt->bindParam(':creater', $creater);
$stmt -> bindParam(':create_at' ,$create_at); $stmt->bindParam(':create_at', $create_at);
$stmt -> bindParam(':area' ,$area); $stmt->bindParam(':area', $area);
$stmt -> bindParam(':takecertificatedate' ,$elevator['takecertificatedate']); $stmt->bindParam(':takecertificatedate', $elevator['takecertificatedate']);
$stmt -> bindParam(':licensedate' ,$elevator['useful_date']); $stmt->bindParam(':licensedate', $elevator['useful_date']);
$result = $stmt -> execute(); $result = $stmt->execute();
} }
//create schedule table //create schedule table
$comboNo = new CreateComboNo($mcycle, $contract_begin_date, $contract_end_date); $comboNo = new CreateComboNo($mcycle, $contract_begin_date, $contract_end_date);
$comboArr = json_decode($comboNo->getComboNo(), true); $comboArr = json_decode($comboNo->getComboNo(), true);
foreach($facilityno as $no){ foreach ($facilityno as $no) {
foreach($comboArr as $combo){ foreach ($comboArr as $combo) {
$sql_str = 'INSERT INTO schedule (contractno, facilityno, combono, repairerid, repairername, duedate, creater, create_at) VALUES (:contractno, :facilityno, :combono, :repairerid, :repairername, :duedate, :creater, :create_at)'; $sql_str = 'INSERT INTO schedule (contractno, facilityno, combono, repairerid, repairername, duedate, creater, create_at) VALUES (:contractno, :facilityno, :combono, :repairerid, :repairername, :duedate, :creater, :create_at)';
$stmt = $conn -> prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(':contractno' ,$contractno); $stmt->bindParam(':contractno', $contractno);
$stmt -> bindParam(':facilityno' ,$no); $stmt->bindParam(':facilityno', $no);
$stmt -> bindParam(':combono' ,$combo[0]); $stmt->bindParam(':combono', $combo[0]);
$stmt -> bindParam(':repairerid' ,$repairerid); $stmt->bindParam(':repairerid', $repairerid);
$stmt -> bindParam(':repairername' ,$repairername); $stmt->bindParam(':repairername', $repairername);
$stmt -> bindParam(':duedate' ,$combo[1]); $stmt->bindParam(':duedate', $combo[1]);
$stmt -> bindParam(':creater' ,$creater); $stmt->bindParam(':creater', $creater);
$stmt -> bindParam(':create_at' ,$create_at); $stmt->bindParam(':create_at', $create_at);
$result = $stmt -> execute(); $result = $stmt->execute();
} }
} }
// create contract_b_signed_back table // create contract_b_signed_back table
@ -216,104 +216,102 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$bonus = 1000; $bonus = 1000;
$max_bonus = 2000; $max_bonus = 2000;
if(!empty($files)){ if (!empty($files)) {
$englisharr = range('a', 'z'); $englisharr = range('a', 'z');
$file = $_FILES['files']; $file = $_FILES['files'];
$file_name = $file['name']; $file_name = $file['name'];
$file_type = $file['type']; $file_type = $file['type'];
$tmp_name = $file['tmp_name']; $tmp_name = $file['tmp_name'];
$file_size = $file['size']; $file_size = $file['size'];
$error = $file['error']; $error = $file['error'];
$newfiles = []; $newfiles = [];
foreach( $files as $file ){ foreach ($files as $file) {
$i = 0; //新陣列的索引編號 $i = 0; //新陣列的索引編號
foreach( $file as $key => $val ){ foreach ($file as $key => $val) {
$newfiles[$i]['name'] = $files['name'][$key]; $newfiles[$i]['name'] = $files['name'][$key];
$newfiles[$i]['type'] = $files['type'][$key]; $newfiles[$i]['type'] = $files['type'][$key];
$newfiles[$i]['tmp_name'] = $files['tmp_name'][$key]; $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key];
$newfiles[$i]['error'] = $files['error'][$key]; $newfiles[$i]['error'] = $files['error'][$key];
$newfiles[$i]['size'] = $files['size'][$key]; $newfiles[$i]['size'] = $files['size'][$key];
$i++; $i++;
} //foreach 第2層 end } //foreach 第2層 end
} }
$max_size = 4096*4096; //設定允許上傳檔案容量的最大值(1M) $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M)
$allow_ext = array('jpeg', 'jpg', 'png','JPG','JPEG','PNG','GIF'); //設定允許上傳檔案的類型 $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型
$path = '../images/contracts/'; $path = '../images/contracts/';
if (!file_exists($path)) { mkdir($path); } if (!file_exists($path)) {
$msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 mkdir($path);
$datetime = (string)date('YmdHis'); }
$files_id = 'b' . $datetime; // 保養=>b + 日期時間 $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息
foreach( $newfiles as $key => $file ){ $datetime = (string)date('YmdHis');
$randNum = rand(1000,9999); $files_id = 'b' . $datetime; // 保養=>b + 日期時間
$randEnglish = $englisharr[rand(0,25)]; foreach ($newfiles as $key => $file) {
$file_name = 'b' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum.$file['name']; $randNum = rand(1000, 9999);
$msg = upload_chk( $file,$path, $max_size, $allow_ext, $file_name ); $randEnglish = $englisharr[rand(0, 25)];
if($msg==1){ $file_name = 'b' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum . $file['name'];
$msg = '檔案傳送成功!'; $msg = upload_chk($file, $path, $max_size, $allow_ext, $file_name);
$sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)"; if ($msg == 1) {
$stmt = $conn -> prepare($sql_str); $msg = '檔案傳送成功!';
$stmt -> bindParam(':files_id' ,$files_id); $sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)";
$stmt -> bindParam(':file_name' ,$file_name); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(':file_mime' ,$file['type']); $stmt->bindParam(':files_id', $files_id);
$stmt -> bindParam(':file_size' ,$file['size']); $stmt->bindParam(':file_name', $file_name);
$stmt -> bindParam(':created_at' ,$created_at); $stmt->bindParam(':file_mime', $file['type']);
$stmt -> bindParam(':created_by' ,$user_id); $stmt->bindParam(':file_size', $file['size']);
$stmt ->execute(); $stmt->bindParam(':created_at', $created_at);
} $stmt->bindParam(':created_by', $user_id);
$msg_result .= '第' . ($key+1) . '個上傳檔案的結果:' . $msg . '<br/>'; $stmt->execute();
$src_name = $path.$file['name']; }
if( file_exists($src_name) ){ $msg_result .= '第' . ($key + 1) . '個上傳檔案的結果:' . $msg . '<br/>';
//副檔名 $src_name = $path . $file['name'];
$extname = pathinfo($src_name, PATHINFO_EXTENSION); if (file_exists($src_name)) {
//主檔名 //副檔名
$basename = basename($src_name, '.'.$extname); $extname = pathinfo($src_name, PATHINFO_EXTENSION);
} //主檔名
$basename = basename($src_name, '.' . $extname);
} }
}else{ }
$files = null; } else {
$files = null;
} }
$sql_str = "INSERT INTO contract_b_signed_back (contract_no, contract_type, company, customer_no, salesperson, contract_start_date, contract_end_date, total_price, customer_phone, customer_email, repairman, cycle, contact_person, contact_address, contact_phone, contact_email, elevators_number, area, address, files_id, bonus, max_bonus, created_at, created_by) $sql_str = "INSERT INTO contract_b_signed_back (contract_no, contract_type, company, customer_no, salesperson, contract_start_date, contract_end_date, total_price, customer_phone, customer_email, repairman, cycle, contact_person, contact_address, contact_phone, contact_email, elevators_number, area, address, files_id, bonus, max_bonus, created_at, created_by)
VALUES (:contract_no, :contract_type, :company, :customer_no, :salesperson, :contract_start_date, :contract_end_date, :total_price, :customer_phone, :customer_email, :repairman, :cycle, :contact_person, :contact_address, :contact_phone, :contact_email, :elevators_number, :area, :address, :files_id, :bonus, :max_bonus, :created_at, :created_by)"; VALUES (:contract_no, :contract_type, :company, :customer_no, :salesperson, :contract_start_date, :contract_end_date, :total_price, :customer_phone, :customer_email, :repairman, :cycle, :contact_person, :contact_address, :contact_phone, :contact_email, :elevators_number, :area, :address, :files_id, :bonus, :max_bonus, :created_at, :created_by)";
$stmt = $conn -> prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt -> bindParam(":contract_no",$contractno); $stmt->bindParam(":contract_no", $contractno);
$stmt -> bindParam(":contract_type",$contract_type); $stmt->bindParam(":contract_type", $contract_type);
$stmt -> bindParam(":company",$company); $stmt->bindParam(":company", $company);
$stmt -> bindParam(":customer_no",$customer_no); $stmt->bindParam(":customer_no", $customer_no);
$stmt -> bindParam(":salesperson",$salesperson); $stmt->bindParam(":salesperson", $salesperson);
$stmt -> bindParam(":contract_start_date",$contract_begin_date); $stmt->bindParam(":contract_start_date", $contract_begin_date);
$stmt -> bindParam(":contract_end_date",$contract_end_date); $stmt->bindParam(":contract_end_date", $contract_end_date);
$stmt -> bindParam(":total_price",$total_price); $stmt->bindParam(":total_price", $total_price);
$stmt -> bindParam(":customer_phone",$customer_phone); $stmt->bindParam(":customer_phone", $customer_phone);
$stmt -> bindParam(":customer_email",$customer_email); $stmt->bindParam(":customer_email", $customer_email);
$stmt -> bindParam(":repairman",$repairman); $stmt->bindParam(":repairman", $repairman);
$stmt -> bindParam(":cycle",$cycle); $stmt->bindParam(":cycle", $cycle);
$stmt -> bindParam(":contact_person",$contact_person); $stmt->bindParam(":contact_person", $contact_person);
$stmt -> bindParam(":contact_address",$contact_address); $stmt->bindParam(":contact_address", $contact_address);
$stmt -> bindParam(":contact_phone",$contact_phone); $stmt->bindParam(":contact_phone", $contact_phone);
$stmt -> bindParam(":contact_email",$contact_email); $stmt->bindParam(":contact_email", $contact_email);
$stmt -> bindParam(":elevators_number",$elevators_number); $stmt->bindParam(":elevators_number", $elevators_number);
$stmt -> bindParam(":area",$area); $stmt->bindParam(":area", $area);
$stmt -> bindParam(":address",$address); $stmt->bindParam(":address", $address);
$stmt -> bindParam(":files_id",$files_id); $stmt->bindParam(":files_id", $files_id);
$stmt -> bindParam(":bonus",$bonus); $stmt->bindParam(":bonus", $bonus);
$stmt -> bindParam(":max_bonus",$max_bonus); $stmt->bindParam(":max_bonus", $max_bonus);
$stmt -> bindParam(":created_at", $created_at); $stmt->bindParam(":created_at", $created_at);
$stmt -> bindParam(":created_by",$user_id); $stmt->bindParam(":created_by", $user_id);
$stmt -> execute(); $stmt->execute();
header('Content-Type: application/json'); header('Content-Type: application/json');
$jsonData = json_encode($files); $jsonData = json_encode($files);
$conn->commit(); $conn->commit();
}catch(PDOException $e){ } catch (PDOException $e) {
$conn->rollback(); $conn->rollback();
http_response_code(404);
echo $e->getMessage(); echo $e->getMessage();
die('Error!:'.$e->getMessage()); die('Error!:' . $e->getMessage());
} }
} }

BIN
wms/contract/option/option.xlsx

Binary file not shown.

BIN
wms/contract/option/option1.xlsx

Binary file not shown.

BIN
wms/contract/option/option10.xlsx

Binary file not shown.

BIN
wms/contract/option/option11.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option1.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option10.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option11.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option12.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option13.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option14.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option15.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option16.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option2.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option20.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option3.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option4.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option5.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option6.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option7.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option8.xlsx

Binary file not shown.

BIN
wms/contract/option/option1127/option9.xlsx

Binary file not shown.

BIN
wms/contract/option/option12.xlsx

Binary file not shown.

BIN
wms/contract/option/option13.xlsx

Binary file not shown.

BIN
wms/contract/option/option14.xlsx

Binary file not shown.

BIN
wms/contract/option/option15.xlsx

Binary file not shown.

BIN
wms/contract/option/option16.xlsx

Binary file not shown.

BIN
wms/contract/option/option2.xlsx

Binary file not shown.

BIN
wms/contract/option/option20.xlsx

Binary file not shown.

BIN
wms/contract/option/option3.xlsx

Binary file not shown.

BIN
wms/contract/option/option4.xlsx

Binary file not shown.

BIN
wms/contract/option/option5.xlsx

Binary file not shown.

BIN
wms/contract/option/option6.xlsx

Binary file not shown.

BIN
wms/contract/option/option7.xlsx

Binary file not shown.

BIN
wms/contract/option/option8.xlsx

Binary file not shown.

BIN
wms/contract/option/option9.xlsx

Binary file not shown.

48
wms/crm/crmm02-index.php

@ -26,7 +26,7 @@ $editableColumn = [
// 可瀏覽全部資料的部門 // 可瀏覽全部資料的部門
$depart_arr = ["501"]; $depart_arr = ["501"];
$sql = "select department_id from account where accountid = '$user_id'"; $sql = "SELECT department_id FROM account WHERE accountid = '$user_id'";
$res = mysqli_query($link, $sql); $res = mysqli_query($link, $sql);
$row = mysqli_fetch_row($res); $row = mysqli_fetch_row($res);
$user_department_id = $row[0]; $user_department_id = $row[0];
@ -43,35 +43,43 @@ $lm_name = empty($_GET['linkman']) ? "%" : $_GET['linkman'];
$where .= " and linkman like '$lm_name'"; $where .= " and linkman like '$lm_name'";
$sql_cmd = sql_myself($user_id, "salesman"); $sql_cmd = sql_myself($user_id, "salesman");
if (in_array($user_department_id, $depart_arr) || $user_id == "M0060" || $user_id == "M0149") $sql_cmd = ""; // M0060:Max,鄭伊岑 if (in_array($user_department_id, $depart_arr) || $user_id == "M0060" || $user_id == "M0149") $sql_cmd = ""; // M0060:Max,鄭伊岑
if (!empty($sql_cmd)) $where .= " and ".str_replace("where", "", $sql_cmd); if (!empty($sql_cmd)) $where .= " and " . str_replace("where", "", $sql_cmd);
$sql = "SELECT vol_no,customer,manager,f_return_content('customer_source',source ) source, $sql = "SELECT vol_no,customer,manager,f_return_content('customer_source',source ) source,
linkman,lm_tel,f_return_name(salesman) salesman,num ,date_format(pre_order_date,'%Y/%m/%d') pre_order_date, linkman,lm_tel,f_return_name(salesman) salesman,num ,date_format(pre_order_date,'%Y/%m/%d') pre_order_date,
f_return_content('hope_customer_status',status ) status, date_format(next_visit_date,'%Y/%m/%d') next_visit_date ,brand , f_return_content('hope_customer_status',status ) status, date_format(next_visit_date,'%Y/%m/%d') next_visit_date ,brand ,
date_format(quote_date,'%Y/%m/%d') quote_date, created_at FROM $table where 1=1 $where ORDER BY vol_no"; date_format(quote_date,'%Y/%m/%d') quote_date, created_at FROM $table where 1=1 $where ORDER BY vol_no";
#echo $sql;
$data = mysqli_query($link, $sql); $data = mysqli_query($link, $sql);
echo '<pre>';
print_r($data);
echo '</pre>';
?> ?>
<style> <style>
#table_index2 { #table_index2 {
table-layout:fixed; table-layout: fixed;
/*width: 100%;*/ /*width: 100%;*/
display:inline-block; display: inline-block;
} }
.col-sm-12 {
width: auto; .col-sm-12 {
} width: auto;
.pagination { }
margin: 0;
} .pagination {
margin: 0;
}
</style> </style>
<script> <script>
$(function () { $(function() {
$('#table_index2').DataTable({ $('#table_index2').DataTable({
order: [[14, 'desc']] order: [
[14, 'desc']
]
});
document.querySelector("#table_index2_filter > label > input").placeholder = "快速搜尋";
}); });
document.querySelector("#table_index2_filter > label > input").placeholder = "快速搜尋";
});
</script> </script>
<?php <?php
@ -121,7 +129,7 @@ if ($data) :
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
<table id="table_index2" class="table table-striped table-bordered"> <table id="table_index" class="table table-striped table-bordered">
<thead> <thead>
<?php <?php
echo "<tr>"; echo "<tr>";

3651
wms/mkt/pricereview_renovate-edit.php

File diff suppressed because it is too large

467
wms/mkt/pricereview_renovate-index.php

@ -11,7 +11,7 @@ $data = array();
// sql語法存在變數中 // sql語法存在變數中
$sql_cmd = sql_myself($user_id); $sql_cmd = sql_myself($user_id);
// M0024許伃廷,M0107許紓晴,M0012李盈瑩權限全開 // M0024許伃廷,M0107許紓晴,M0012李盈瑩權限全開
if ($user_id == "M0024" || $user_id == "M0107" || $user_id == "M0012") { if ($user_id == "M0024" || $user_id == "M0107" || $user_id == "M0012" || $user_id == "M0025") {
$sql_cmd = "where create_at >= '2023-01-01 00:00:00'"; $sql_cmd = "where create_at >= '2023-01-01 00:00:00'";
} }
if ($user_id == "M0008") { if ($user_id == "M0008") {
@ -22,86 +22,99 @@ if ($user_id == "M0060") {
} }
if (empty($sql_cmd)) $sql = "select * from pricereview_main where status like 'Y%' and ekind = '汰改' order by id"; if (empty($sql_cmd)) $sql = "select * from pricereview_main where status like 'Y%' and ekind = '汰改' order by id";
else $sql = "select * from pricereview_main $sql_cmd and status like 'Y%' and ekind = '汰改' order by id"; else $sql = "select * from pricereview_main $sql_cmd and status like 'Y%' and ekind = '汰改' order by id";
$data = mysqli_query($link,$sql);
$para = "function_name=pricereview_renovate&".$token_link;
$data = mysqli_query($link, $sql);
$para = "function_name=pricereview_renovate&" . $token_link;
$sign_st = ""; $sign_st = "";
?> ?>
<style> <style>
#table_index2 { #table_index2 {
table-layout:fixed; table-layout: fixed;
width: 100%; width: 100%;
display:inline-block; display: inline-block;
} }
#table_index2_filter{
float:right; #table_index2_filter {
} float: right;
#table_index2_paginate{ }
float:right;
} #table_index2_paginate {
div.dataTables_scrollHead table.dataTable { float: right;
margin-bottom: 0 !important; }
border-bottom-width: 0;
} div.dataTables_scrollHead table.dataTable {
div.dataTables_scrollBody table.dataTable { margin-bottom: 0 !important;
border-top-width: 0; border-bottom-width: 0;
} }
/*
div.dataTables_scrollBody table.dataTable {
border-top-width: 0;
}
/*
.col-sm-12 { .col-sm-12 {
width: auto; width: auto;
} }
*/ */
img { img {
width:125px; width: 125px;
} }
.width_style_1 { .width_style_1 {
width:125px; width: 125px;
} }
label { label {
display: inline-flex; display: inline-flex;
margin-bottom: .5rem; margin-bottom: .5rem;
margin-top: .5rem; margin-top: .5rem;
} }
div a:hover {
text-decoration:none; div a:hover {
} text-decoration: none;
.btn-sm { }
font-size:14px;
margin: 2px 0; .btn-sm {
line-height: 90%; font-size: 14px;
} margin: 2px 0;
.glyphicon-ok, .glyphicon-ban-circle { line-height: 90%;
font-size:130%; }
}
.btn-secondary { .glyphicon-ok,
color: #fff; .glyphicon-ban-circle {
background-color: #6c757d; font-size: 130%;
border-color: #6c757d; }
}
.btn-secondary:hover { .btn-secondary {
color: #fff; color: #fff;
background-color: #5a6268; background-color: #6c757d;
border-color: #545b62; border-color: #6c757d;
} }
.btn-secondary:hover {
color: #fff;
background-color: #5a6268;
border-color: #545b62;
}
</style> </style>
<script> <script>
$(function () { $(function() {
$('#table_index2').DataTable({ $('#table_index2').DataTable({
"scrollX": true, "scrollX": true,
"pageLength": 50 "pageLength": 50
});
/*
var api = $('#table_index').dataTable().api();
//var order = api.order();
//console.log(order);
api
.order([0, "desc"])
.draw();
*/
}); });
/*
var api = $('#table_index').dataTable().api();
//var order = api.order();
//console.log(order);
api
.order([0, "desc"])
.draw();
*/
});
</script> </script>
<!--改由有望客戶入口 <!--改由有望客戶入口
<p> <p>
@ -111,7 +124,7 @@ $(function () {
</p> </p>
--> -->
<?php <?php
if ($data): if ($data) :
/* /*
if($_SERVER["REQUEST_METHOD"] == "POST"){ if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($_POST["name"]) && empty($_POST["email"]) && empty($_POST["website"])){ if(empty($_POST["name"]) && empty($_POST["email"]) && empty($_POST["website"])){
@ -122,110 +135,110 @@ if ($data):
} }
*/ */
?> ?>
<link rel="stylesheet" href="common.css"> <link rel="stylesheet" href="common.css">
<div style="overflow-x:auto; white-space:nowrap;"> <div style="overflow-x:auto; white-space:nowrap;">
<table id="table_index2" class="table table-striped table-bordered" style="width:100%"> <table id="table_index2" class="table table-striped table-bordered" style="width:100%">
<thead> <thead>
<tr> <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> <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>
<th>總經理</th> <th>總經理</th>
<th>狀態</th> <th>狀態</th>
<th>合約書下載</th> <th>合約書下載</th>
<!--<th>修改</th>--> <!--<th>修改</th>-->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php
foreach($data as $data) :
$sign1 = $sign2 = $sign3 = $sign4 = "";
$oneself = ($data["creater"]==$user_id) ? 1 : 0; // 是否為營業員本人
// 簽核狀況
$db_query = "select sign1, sign2, sign3, sign4 from pricereview_sign where mid = '".$data["id"]."'";
$res_s = mysqli_query($link ,$db_query);
if ($row_s = mysqli_fetch_row($res_s)) {
list($sign1, $sign2, $sign3, $sign4) = $row_s;
// 下一位簽核人員:$sign_nt, 目前簽核進度:$sign_st
if (strlen($sign1) == 7) {
$sign_st = 1;
$sign_nt = str_replace(",,", "", $sign1);
} elseif (strlen($sign2) == 7) {
$sign_st = 2;
$sign_nt = str_replace(",,", "", $sign2);
} elseif (strlen($sign3) == 7) {
$sign_st = 3;
$sign_nt = str_replace(",,", "", $sign3);
} elseif (strlen($sign4) == 7) {
$sign_st = 4;
$sign_nt = str_replace(",,", "", $sign4);
} else {
$sign_st = 99; // 已審完
$sign_nt = "";
}
}
mysqli_free_result($res_s);
?>
<tr>
<td><?php echo $data['id']; ?></td>
<td><?php echo $data['contractno']; ?></td>
<td><?php echo $data['person']; ?></td>
<td><?php echo $data['company']; ?></td>
<td><?php echo $data['case_name']; ?></td>
<td><?php echo number_format($data['price_lowest']); ?></td>
<td><?php echo number_format($data['price_total']); ?></td>
<td><?php echo $data['price_rate']; ?>%</td>
<td><?php echo $data['predeal_date']; ?></td>
<td><?php echo $data['facilitok_date']; ?></td>
<td><?php echo $accountname_arr[$data['creater']]; ?></td>
<td><?php echo $data['create_at']; ?></td>
<td>
<?php
//if ($oneself && !($data["status"] == "YY" || $data["status"] == "YN")) { // 自己可以進行規調
if ($oneself) {
if ($data["status"] == "Y1") {
?>
<a href="pricereview_renovate-edit.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-primary btn-sm">修改</a>
<a href="pricereview_renovate-delete.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-secondary btn-sm" onClick="return confirm('Are you sure you want to delete?')">刪除</a>
<?php
} elseif ($data["status"] == "YS") {
?>
<a href="specsurvey_renovate-create.php?mid=<?=$data['id'];?>&function_name=specsurvey_renovate&token=<?=$token;?>" class="btn btn-danger btn-sm">填規調</a>
<?php <?php
foreach ($data as $data) :
$sign1 = $sign2 = $sign3 = $sign4 = "";
$oneself = ($data["creater"] == $user_id) ? 1 : 0; // 是否為營業員本人
// 簽核狀況
$db_query = "select sign1, sign2, sign3, sign4 from pricereview_sign where mid = '" . $data["id"] . "'";
$res_s = mysqli_query($link, $db_query);
if ($row_s = mysqli_fetch_row($res_s)) {
list($sign1, $sign2, $sign3, $sign4) = $row_s;
// 下一位簽核人員:$sign_nt, 目前簽核進度:$sign_st
if (strlen($sign1) == 7) {
$sign_st = 1;
$sign_nt = str_replace(",,", "", $sign1);
} elseif (strlen($sign2) == 7) {
$sign_st = 2;
$sign_nt = str_replace(",,", "", $sign2);
} elseif (strlen($sign3) == 7) {
$sign_st = 3;
$sign_nt = str_replace(",,", "", $sign3);
} elseif (strlen($sign4) == 7) {
$sign_st = 4;
$sign_nt = str_replace(",,", "", $sign4);
} else {
$sign_st = 99; // 已審完
$sign_nt = "";
}
} }
} mysqli_free_result($res_s);
?> ?>
<a href="pricereview_renovate-check.php?id=<?php echo $data['id']."&".$para; ?>" class="btn btn-warning btn-sm">檢視</a> <tr>
</td> <td><?php echo $data['id']; ?></td>
<td> <td><?php echo $data['contractno']; ?></td>
<?php <td><?php echo $data['person']; ?></td>
$str = $uperson = $ustatus = $udtte = ""; <td><?php echo $data['company']; ?></td>
if (!empty($sign1)) list($uperson, $ustatus, $udtte) = explode(",", $sign1); <td><?php echo $data['case_name']; ?></td>
if ($ustatus) { <td><?php echo number_format($data['price_lowest']); ?></td>
if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>"; <td><?php echo number_format($data['price_total']); ?></td>
elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>"; <td><?php echo $data['price_rate']; ?>%</td>
$str .= "<br>".$accountname_arr[$uperson]."<br>".$udtte; <td><?php echo $data['predeal_date']; ?></td>
} else { <td><?php echo $data['facilitok_date']; ?></td>
if ($sign_st==1 && $sign_nt==$user_id && $data["status"]=="YS") { <td><?php echo $accountname_arr[$data['creater']]; ?></td>
$str = "<span class=\"glyphicon glyphicon-user\"></span>"; <td><?php echo $data['create_at']; ?></td>
$str = "待簽核"; <td>
$str = "<a href=\"pricereview_renovate-check.php?st=1&id=".$data["id"]."&".$para."\" class=\"btn btn-primary btn-sm\">".$str."</a>"; <?php
} else $str = "--"; //if ($oneself && !($data["status"] == "YY" || $data["status"] == "YN")) { // 自己可以進行規調
} if ($oneself) {
echo $str; if ($data["status"] == "Y1") {
/* ?>
<a href="pricereview_renovate-edit.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-primary btn-sm">修改</a>
<a href="pricereview_renovate-delete.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-secondary btn-sm" onClick="return confirm('Are you sure you want to delete?')">刪除</a>
<?php
} elseif ($data["status"] == "YS") {
?>
<a href="specsurvey_renovate-create.php?mid=<?= $data['id']; ?>&function_name=specsurvey_renovate&token=<?= $token; ?>" class="btn btn-danger btn-sm">填規調</a>
<?php
}
}
?>
<a href="pricereview_renovate-check.php?id=<?php echo $data['id'] . "&" . $para; ?>" class="btn btn-warning btn-sm">檢視</a>
</td>
<td>
<?php
$str = $uperson = $ustatus = $udtte = "";
if (!empty($sign1)) list($uperson, $ustatus, $udtte) = explode(",", $sign1);
if ($ustatus) {
if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>";
elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>";
$str .= "<br>" . $accountname_arr[$uperson] . "<br>" . $udtte;
} else {
if ($sign_st == 1 && $sign_nt == $user_id && $data["status"] == "YS") {
$str = "<span class=\"glyphicon glyphicon-user\"></span>";
$str = "待簽核";
$str = "<a href=\"pricereview_renovate-check.php?st=1&id=" . $data["id"] . "&" . $para . "\" class=\"btn btn-primary btn-sm\">" . $str . "</a>";
} else $str = "--";
}
echo $str;
/*
if ($sign_st==1 && $sign_nt==$user_id) { if ($sign_st==1 && $sign_nt==$user_id) {
$str = "<span class=\"glyphicon glyphicon-user\"></span>"; $str = "<span class=\"glyphicon glyphicon-user\"></span>";
$str = "<a href=\"pricereview-check.php?st=1&id=".$data["id"]."&".$para."\" class=\"btn btn-info btn-sm\">".$str."</a>"; $str = "<a href=\"pricereview-check.php?st=1&id=".$data["id"]."&".$para."\" class=\"btn btn-info btn-sm\">".$str."</a>";
@ -237,7 +250,7 @@ if ($data):
} else $str = "--"; } else $str = "--";
*/ */
/* /*
if ($data["checker_1_result"] == "Y") { if ($data["checker_1_result"] == "Y") {
$str = "<span class=\"glyphicon glyphicon-ok\" title=\"通過\"></span>"; $str = "<span class=\"glyphicon glyphicon-ok\" title=\"通過\"></span>";
} elseif ($data["checker_1_result"] == "N") { } elseif ($data["checker_1_result"] == "N") {
@ -255,26 +268,26 @@ if ($data):
} }
else $str = "--"; else $str = "--";
}*/ }*/
//echo $str; //echo $str;
?> ?>
</td> </td>
<td> <td>
<?php <?php
$str = $uperson = $ustatus = $udtte = ""; $str = $uperson = $ustatus = $udtte = "";
if (!empty($sign3)) list($uperson, $ustatus, $udtte) = explode(",", $sign3); if (!empty($sign3)) list($uperson, $ustatus, $udtte) = explode(",", $sign3);
if ($ustatus) { if ($ustatus) {
if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>"; if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>";
elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>"; elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>";
$str .= "<br>".$accountname_arr[$uperson]."<br>".$udtte; $str .= "<br>" . $accountname_arr[$uperson] . "<br>" . $udtte;
} else { } else {
if (($data["status"] == "YS") && ($sign_st == 3) && ($sign_nt == $user_id)) { if (($data["status"] == "YS") && ($sign_st == 3) && ($sign_nt == $user_id)) {
$str = "<span class=\"glyphicon glyphicon-user\"></span>"; $str = "<span class=\"glyphicon glyphicon-user\"></span>";
$str = "待簽核"; $str = "待簽核";
$str = "<a href=\"pricereview_renovate-check.php?st=3&id=".$data["id"]."&".$para."\" class=\"btn btn-primary btn-sm\">".$str."</a>"; $str = "<a href=\"pricereview_renovate-check.php?st=3&id=" . $data["id"] . "&" . $para . "\" class=\"btn btn-primary btn-sm\">" . $str . "</a>";
} else $str = "--"; } else $str = "--";
} }
echo $str; echo $str;
/* /*
$str = ""; $str = "";
if ($sign_st==3 && $sign_nt==$user_id) { if ($sign_st==3 && $sign_nt==$user_id) {
$str = "<span class=\"glyphicon glyphicon-user\"></span>"; $str = "<span class=\"glyphicon glyphicon-user\"></span>";
@ -282,7 +295,7 @@ if ($data):
} else $str = "--"; } else $str = "--";
*/ */
/* /*
if ($data["checker_3_result"] == "Y") { if ($data["checker_3_result"] == "Y") {
$str = "<span class=\"glyphicon glyphicon-ok\" title=\"通過\"></span>"; $str = "<span class=\"glyphicon glyphicon-ok\" title=\"通過\"></span>";
} elseif ($data["checker_3_result"] == "N") { } elseif ($data["checker_3_result"] == "N") {
@ -301,47 +314,49 @@ if ($data):
else $str = "--"; else $str = "--";
} }
*/ */
//echo $str; //echo $str;
?> ?>
</td> </td>
<td> <td>
<?php <?php
$str = $uperson = $ustatus = $udtte = ""; $str = $uperson = $ustatus = $udtte = "";
if (!empty($sign4)) list($uperson, $ustatus, $udtte) = explode(",", $sign4); if (!empty($sign4)) list($uperson, $ustatus, $udtte) = explode(",", $sign4);
if ($ustatus) { if ($ustatus) {
if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>"; if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>";
elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>"; elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>";
$str .= "<br>".$accountname_arr[$uperson]."<br>".$udtte; $str .= "<br>" . $accountname_arr[$uperson] . "<br>" . $udtte;
} else { } else {
if (($data["status"] == "YS") && ($sign_st == 4) && ($sign_nt == $user_id)) { if (($data["status"] == "YS") && ($sign_st == 4) && ($sign_nt == $user_id)) {
$str = "<span class=\"glyphicon glyphicon-user\"></span>"; $str = "<span class=\"glyphicon glyphicon-user\"></span>";
$str = "待簽核"; $str = "待簽核";
$str = "<a href=\"pricereview_renovate-check.php?st=4&id=".$data["id"]."&".$para."\" class=\"btn btn-primary btn-sm\">".$str."</a>"; $str = "<a href=\"pricereview_renovate-check.php?st=4&id=" . $data["id"] . "&" . $para . "\" class=\"btn btn-primary btn-sm\">" . $str . "</a>";
} else $str = "--"; } else $str = "--";
} }
echo $str; echo $str;
?> ?>
</td> </td>
<td><?php echo $status_arr[$data["status"]]; ?></td> <td><?php echo $status_arr[$data["status"]]; ?></td>
<!--<td> <!--<td>
<p> <p>
<a href="pricereview-edit.php?id=<?php echo $data['id']."&".$para; ?>" class="btn btn-info btn-sm"> <a href="pricereview-edit.php?id=<?php echo $data['id'] . "&" . $para; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-pencil"></span> <span class="glyphicon glyphicon-pencil"></span>
</a> </a>
</p> </p>
</td>--> </td>-->
<td> <td>
<?php if($data['status'] === 'YY'){ ?> <?php if ($data['status'] === 'YY') { ?>
<a href="../contract/contract-renovate-download.php?id=<?php echo $data['id'] . '&' . $para?>">合約書申請</a> <a href="../contract/contract-renovate-download.php?id=<?php echo $data['id'] . '&' . $para ?>">合約書申請</a>
<?php }else{ echo "-"; } ?> <?php } else {
</td> echo "-";
</tr> } ?>
<?php endforeach; ?> </td>
</tbody> </tr>
</table> <?php endforeach; ?>
</div> </tbody>
</table>
</div>
<?php <?php
else: else :
echo "<h2>There is no record!</h2>"; echo "<h2>There is no record!</h2>";
endif; endif;

8
wms/sign/list.php

@ -38,10 +38,10 @@ if ($result == false) {
die(mysqli_error($link)); die(mysqli_error($link));
} }
$res_get = mysqli_fetch_all(mysqli_query($link, $sql_get), MYSQLI_ASSOC); $res_get = mysqli_fetch_all(mysqli_query($link, $sql_get), MYSQLI_ASSOC);
// echo '<pre>'; echo '<pre>';
// print_r($sql_get); print_r($sql_get);
// echo '</pre>'; echo '</pre>';
// exit; exit;
$system_name_opt = array_map(function ($item) { $system_name_opt = array_map(function ($item) {
return array('system_id' => $item['system_id'], 'system_name' => $item['system_name']); return array('system_id' => $item['system_id'], 'system_name' => $item['system_name']);

10
workflow/lib/DB.php

@ -19,7 +19,7 @@ if (file_exists($envFile)) {
class DB class DB
{ {
private static $ds = array( private static $ds = array(
'default' => array('host' => 'db-104.coowo.com', 'db_name' => 'appwms', 'user' => 'masadaroot', 'pwd' => 'x6h5E5p#u8y') 'default' => array('host' => '127.0.0.1', 'db_name' => 'appwms', 'user' => 'masadaroot', 'pwd' => '')
); );
public static $instance; public static $instance;
/** /**
@ -82,7 +82,7 @@ class DB
$data[$f] = 'NULL'; $data[$f] = 'NULL';
} else { } else {
// var_dump( $data[$f]); // var_dump( $data[$f]);
// if( is_array($data[$f])){ echo "$table_name " ; echo "$f ";}; // if( is_array($data[$f])){ echo "$table_name " ; echo "$f ";};
$data[$f] = "'" . $data[$f] . "'"; $data[$f] = "'" . $data[$f] . "'";
$data[$f] = $data[$f]; $data[$f] = $data[$f];
@ -92,7 +92,7 @@ class DB
//foreach ($fields as $f) { //foreach ($fields as $f) {
$_sql = "insert into " . $table_name . "(" . implode(",", array_keys($data)) . ") values (" . implode(",", array_values($data)) . " )"; $_sql = "insert into " . $table_name . "(" . implode(",", array_keys($data)) . ") values (" . implode(",", array_values($data)) . " )";
//echo $_sql; //echo $_sql;
self::instance($db)->exec($_sql); self::instance($db)->exec($_sql);
// $stmt->debugDumpParams(); // $stmt->debugDumpParams();
@ -140,12 +140,12 @@ class DB
$sql .= $i++ > 0 ? " , $key=:$key " : " $key=:$key "; $sql .= $i++ > 0 ? " , $key=:$key " : " $key=:$key ";
$value[$key] = $val; $value[$key] = $val;
} }
// var_dump($value); // var_dump($value);
$sql .= " where " . $where; $sql .= " where " . $where;
$stmt = self::instance($db)->prepare($sql); $stmt = self::instance($db)->prepare($sql);
$stmt->execute($value); $stmt->execute($value);
// $stmt->debugDumpParams(); // $stmt->debugDumpParams();
} }
/** /**

Loading…
Cancel
Save