Browse Source

契約價審單

main
Cheng 1 year ago
parent
commit
3cf6007657
  1. 282
      wms/cont/apply_form.php
  2. 829
      wms/cont/apply_form3.php
  3. 8
      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. 10
      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. 16
      wms/crm/crmm02-index.php
  46. 303
      wms/mkt/pricereview_renovate-edit.php
  47. 21
      wms/mkt/pricereview_renovate-index.php
  48. 8
      wms/sign/list.php
  49. 2
      workflow/lib/DB.php

282
wms/cont/apply_form.php

@ -25,19 +25,27 @@ $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);
@ -96,7 +104,6 @@ $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";
@ -125,7 +132,32 @@ if ($apply_st==1) {
//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']],
]; ];
@ -320,20 +352,22 @@ 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() {
@ -354,8 +388,9 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
$('#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;
@ -371,7 +406,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
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();
} }
@ -443,17 +478,18 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
}); });
} }
delRow = function(btn) { delRow = function(btn) {
console.log($(btn).parent().parent().parent().parent().parent().remove());
if ($(btn).attr('name') == 'btn1') { if ($(btn).attr('name') == 'btn1') {
// console.log($(btn).parent().parent().prev('tr').find('input[id=register_code]').val()); // console.log($(btn).parent().parent().prev('tr').find('input[id=register_code]').val());
regDelStr += $(btn).parent().parent().find('input[id=register_code]').val()+","; regDelStr += $(btn).parent().parent().parent().find('input[id=register_code]').val() + ",";
$(btn).parent().parent().next('tr').remove(); $(btn).parent().parent().next('tr').remove();
} console.log(regDelStr)
else { } else {
// console.log($(btn).parent().parent().find('input[id=register_code]').val()); // console.log($(btn).parent().parent().find('input[id=register_code]').val());
$(btn).parent().parent().next('tr').remove(); $(btn).parent().parent().next('tr').remove();
$(btn).parent().parent().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({
@ -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>
</thead>
</table>
<table class=' table-condensed' id='elevator_list'>
<thead>
<tr style=' margin-top:0px;text-align:center'> <tr style=' margin-top:0px;text-align:center'>
<?php <th colspan="2">電梯許可代碼</th>
$j = 0; <th colspan="2">品牌</th>
foreach ($con_maintance_examine_clear_columm as $val) { <th colspan="2">電梯類型</th>
<th colspan="2">規格型號</th>
echo FormHelper::tag("th", ['colspan' => empty($val['attr']['colspan']) ? 1 : $val['attr']['colspan']], $val['label']); <th>載重(KG)</th>
//echo "<th>" . $val['label'] . "</th>"; <th colspan="2">速度(m/min)</th>
if ((++$j % $col_count) == 0) { <th>停數</th>
if ($j == $col_count) echo "<th>操作</th>"; <th>層數</th>
<th>人乘</th>
<th colspan="2">保養次數</th>
echo "</tr><tr style='margin-top:0px;text-align:center'>"; <th>保養月數</th>
} <th>保養周期</th>
} <th>贈送M1</th>
?>
</tr> </tr>
</thead> </thead>
<tbody id='cmecTbody'> <tbody id='cmecTbody'>
<?php <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>
foreach ($con_maintance_examine_clear as $key => $val) { <th colspan="6"></th>
$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>";
}
}
</tr>
</thead>
<tbody id='cmecTbody2'>
<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>
echo $cmecRow . "</tr>"; </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>

8
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">

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);

10
wms/contract/api/postContractData.php

@ -239,7 +239,9 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$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)) {
mkdir($path);
}
$msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息
$datetime = (string)date('YmdHis'); $datetime = (string)date('YmdHis');
$files_id = 'b' . $datetime; // 保養=>b + 日期時間 $files_id = 'b' . $datetime; // 保養=>b + 日期時間
@ -268,7 +270,6 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
//主檔名 //主檔名
$basename = basename($src_name, '.' . $extname); $basename = basename($src_name, '.' . $extname);
} }
} }
} else { } else {
$files = null; $files = null;
@ -309,11 +310,8 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$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.

16
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];
@ -49,8 +49,12 @@ $sql = "SELECT vol_no,customer,manager,f_return_content('customer_source',sourc
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 {
@ -58,9 +62,11 @@ $data = mysqli_query($link, $sql);
/*width: 100%;*/ /*width: 100%;*/
display: inline-block; display: inline-block;
} }
.col-sm-12 { .col-sm-12 {
width: auto; width: auto;
} }
.pagination { .pagination {
margin: 0; margin: 0;
} }
@ -68,7 +74,9 @@ $data = mysqli_query($link, $sql);
<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 = "快速搜尋";
}); });
@ -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>";

303
wms/mkt/pricereview_renovate-edit.php

@ -1,4 +1,5 @@
<?php <?php
phpinfo();
include "../header.php"; include "../header.php";
$id = isset($_GET['id']) ? $_GET['id'] : die('ERROR: Record ID not found.'); $id = isset($_GET['id']) ? $_GET['id'] : die('ERROR: Record ID not found.');
@ -163,89 +164,123 @@ foreach ($res as $data) {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.c_iframe { .c_iframe {
width: 1350px; width: 1350px;
height: 500px; height: 500px;
margin-right: auto; margin-right: auto;
margin-left: auto; margin-left: auto;
} }
.container { .container {
width: 1350px; width: 1350px;
} }
.nextline { .nextline {
width: 100%; width: 100%;
height: 0; height: 0;
} }
#btnadd, #btnadd2, #btnadd3, #btnadd4, #btnadd5, a[name=btndel], a[name=btndel2], a[name=btndel3], a[name=btndel4], a[name=btndel5] {
#btnadd,
#btnadd2,
#btnadd3,
#btnadd4,
#btnadd5,
a[name=btndel],
a[name=btndel2],
a[name=btndel3],
a[name=btndel4],
a[name=btndel5] {
margin-left: 4px; margin-left: 4px;
} }
tr th svg { tr th svg {
vertical-align: text-top; vertical-align: text-top;
} }
tr select { tr select {
margin: 8px; margin: 8px;
} }
.modal-dialog { .modal-dialog {
width: 1200px; width: 1200px;
} }
.modal-content { .modal-content {
height: 660px; height: 660px;
} }
#optionModal .modal-body { #optionModal .modal-body {
height: 540px; height: 540px;
overflow-y: auto; overflow-y: auto;
} }
#optionFaciModal .modal-body { #optionFaciModal .modal-body {
font-size: 16px; font-size: 16px;
} }
#optionFaciModal .modal-dialog { #optionFaciModal .modal-dialog {
margin-top: 200px; margin-top: 200px;
width: 400px; width: 400px;
} }
#optionFaciModal .modal-content { #optionFaciModal .modal-content {
height: auto; height: auto;
} }
ol li { ol li {
margin-left: -20px; margin-left: -20px;
line-height: 160%; line-height: 160%;
} }
a[name=optdel] { a[name=optdel] {
font-size: 13px; font-size: 13px;
text-decoration: none; text-decoration: none;
} }
.dollar-right { .dollar-right {
text-align: right; text-align: right;
} }
.kind-title { .kind-title {
background-color: black; background-color: black;
color: white; color: white;
font-size: 18px; font-size: 18px;
} }
.kind-col { .kind-col {
color: brown; color: brown;
} }
.col-md-6 { .col-md-6 {
width: 100%; width: 100%;
} }
#table_index2_filter label { #table_index2_filter label {
width: 30%; width: 30%;
} }
#table_index2 { #table_index2 {
cursor: pointer; cursor: pointer;
} }
.notice { .notice {
margin: 0 0 -2px 10px; margin: 0 0 -2px 10px;
color: red; color: red;
} }
.btn2:hover { .btn2:hover {
color: #fff; color: #fff;
} }
button[name=btnpost] { button[name=btnpost] {
margin-top: 12px; margin-top: 12px;
} }
input[type=checkbox] { input[type=checkbox] {
margin: 8px; margin: 8px;
} }
.star { .star {
color: red; color: red;
font-weight: bold; font-weight: bold;
@ -574,10 +609,18 @@ $(function(){
}); });
}); });
$('#deposit_rate').keyup(function(){ $(this).val($(this).val().replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')); }); $('#deposit_rate').keyup(function() {
$('#keep_rate').keyup(function(){ $(this).val($(this).val().replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')); }); $(this).val($(this).val().replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1'));
$('#warranty_rate').keyup(function(){ $(this).val($(this).val().replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')); }); });
$('#special_fee').keyup(function(){ $(this).val($(this).val().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",")); }); $('#keep_rate').keyup(function() {
$(this).val($(this).val().replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1'));
});
$('#warranty_rate').keyup(function() {
$(this).val($(this).val().replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1'));
});
$('#special_fee').keyup(function() {
$(this).val($(this).val().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
});
// $('#tb1').on('click', tt); // $('#tb1').on('click', tt);
$('#tb1').on('keyup', 'input[name=item_price_bp]', function() { $('#tb1').on('keyup', 'input[name=item_price_bp]', function() {
@ -865,49 +908,79 @@ $(function(){
$('button[name=submit],button[name=save').click(function() { $('button[name=submit],button[name=save').click(function() {
var itemFpidArr = []; var itemFpidArr = [];
$("input[name='fp_id']").each(function(){ if ($(this).val() != '') itemFpidArr.push($(this).val()); }) $("input[name='fp_id']").each(function() {
if ($(this).val() != '') itemFpidArr.push($(this).val());
})
$('#fp_id_all').val(itemFpidArr); $('#fp_id_all').val(itemFpidArr);
var fpKindArr = []; var fpKindArr = [];
$("select[name='fp_kind']").each(function(){ if ($(this).val() != '') fpKindArr.push($(this).val()); }) $("select[name='fp_kind']").each(function() {
if ($(this).val() != '') fpKindArr.push($(this).val());
})
$('#fp_kind_all').val(fpKindArr); $('#fp_kind_all').val(fpKindArr);
var fpSeatArr = []; var fpSeatArr = [];
$("select[name='fp_seat']").each(function(){ if ($(this).val() != '') fpSeatArr.push($(this).val()); }) $("select[name='fp_seat']").each(function() {
if ($(this).val() != '') fpSeatArr.push($(this).val());
})
$('#fp_seat_all').val(fpSeatArr); $('#fp_seat_all').val(fpSeatArr);
var fpNumberofstopArr = []; var fpNumberofstopArr = [];
$("input[name='fp_numberofstop']").each(function(){ if ($(this).val() != '') fpNumberofstopArr.push($(this).val()); }) $("input[name='fp_numberofstop']").each(function() {
if ($(this).val() != '') fpNumberofstopArr.push($(this).val());
})
$('#fp_numberofstop_all').val(fpNumberofstopArr); $('#fp_numberofstop_all').val(fpNumberofstopArr);
var fpSpeedArr = []; var fpSpeedArr = [];
$("select[name='fp_speed']").each(function(){ if ($(this).val() != '') fpSpeedArr.push($(this).val()); }) $("select[name='fp_speed']").each(function() {
if ($(this).val() != '') fpSpeedArr.push($(this).val());
})
$('#fp_speed_all').val(fpSpeedArr); $('#fp_speed_all').val(fpSpeedArr);
var itemOpArr = []; var itemOpArr = [];
$("select[name='item_op']").each(function(){ if ($(this).val() != '') itemOpArr.push($(this).val()); }) $("select[name='item_op']").each(function() {
if ($(this).val() != '') itemOpArr.push($(this).val());
})
$('#item_op_all').val(itemOpArr); $('#item_op_all').val(itemOpArr);
var itemWeightArr = []; var itemWeightArr = [];
$("input[name='item_weight']").each(function(){ if ($(this).val() != '') itemWeightArr.push($(this).val()); }) $("input[name='item_weight']").each(function() {
if ($(this).val() != '') itemWeightArr.push($(this).val());
})
$('#item_weight_all').val(itemWeightArr); $('#item_weight_all').val(itemWeightArr);
var itemSpecArr = []; var itemSpecArr = [];
$("input[name='item_spec']").each(function(){ itemSpecArr.push($(this).val()); }) $("input[name='item_spec']").each(function() {
itemSpecArr.push($(this).val());
})
$('#item_spec_all').val(itemSpecArr); $('#item_spec_all').val(itemSpecArr);
var itemGroupArr = []; var itemGroupArr = [];
$("input[name='item_group']").each(function(){ itemGroupArr.push($(this).val()); }) $("input[name='item_group']").each(function() {
itemGroupArr.push($(this).val());
})
$('#item_group_all').val(itemGroupArr); $('#item_group_all').val(itemGroupArr);
var itemUnitPriceArr = []; var itemUnitPriceArr = [];
$("input[name='item_unit_price']").each(function(){ itemUnitPriceArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='item_unit_price']").each(function() {
itemUnitPriceArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#item_unit_price_all').val(itemUnitPriceArr); $('#item_unit_price_all').val(itemUnitPriceArr);
var itemQtyArr = []; var itemQtyArr = [];
$("input[name='item_qty']").each(function(){ itemQtyArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='item_qty']").each(function() {
itemQtyArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#item_qty_all').val(itemQtyArr); $('#item_qty_all').val(itemQtyArr);
var itemQtyOriArr = []; var itemQtyOriArr = [];
$("input[name='item_qty_ori']").each(function(){ itemQtyOriArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='item_qty_ori']").each(function() {
itemQtyOriArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#item_qty_ori_all').val(itemQtyOriArr); $('#item_qty_ori_all').val(itemQtyOriArr);
var itemPriceBpArr = []; var itemPriceBpArr = [];
$("input[name='item_price_bp']").each(function(){ itemPriceBpArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='item_price_bp']").each(function() {
itemPriceBpArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#item_price_bp_all').val(itemPriceBpArr); $('#item_price_bp_all').val(itemPriceBpArr);
var itemPriceCtArr = []; var itemPriceCtArr = [];
$("input[name='item_price_ct']").each(function(){ itemPriceCtArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='item_price_ct']").each(function() {
itemPriceCtArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#item_price_ct_all').val(itemPriceCtArr); $('#item_price_ct_all').val(itemPriceCtArr);
var itemPriceArr = []; var itemPriceArr = [];
$("input[name='item_price']").each(function(){ itemPriceArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='item_price']").each(function() {
itemPriceArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#item_price_all').val(itemPriceArr); $('#item_price_all').val(itemPriceArr);
var grossProfitArr = []; var grossProfitArr = [];
$("input[name='gross_profit']").each(function() { $("input[name='gross_profit']").each(function() {
@ -915,139 +988,229 @@ $(function(){
}) })
$('#gross_profit_all').val(grossProfitArr); $('#gross_profit_all').val(grossProfitArr);
var pvRateArr = []; var pvRateArr = [];
$("input[name='pv_rate']").each(function(){ pvRateArr.push($(this).val()); }) $("input[name='pv_rate']").each(function() {
pvRateArr.push($(this).val());
})
$('#pv_rate_all').val(pvRateArr); $('#pv_rate_all').val(pvRateArr);
var noteArr = []; var noteArr = [];
$("input[name='note']").each(function(){ noteArr.push($(this).val()); }) $("input[name='note']").each(function() {
noteArr.push($(this).val());
})
$('#note_all').val(noteArr); $('#note_all').val(noteArr);
var payKindArr = []; var payKindArr = [];
$("input[name='pay_kind']").each(function(){ payKindArr.push($(this).val()); }) $("input[name='pay_kind']").each(function() {
payKindArr.push($(this).val());
})
$('#pay_kind_all').val(payKindArr); $('#pay_kind_all').val(payKindArr);
var payScaleArr = []; var payScaleArr = [];
$("input[name='pay_scale']").each(function(){ payScaleArr.push($(this).val()); }) $("input[name='pay_scale']").each(function() {
payScaleArr.push($(this).val());
})
$('#pay_scale_all').val(payScaleArr); $('#pay_scale_all').val(payScaleArr);
var payAmountArr = []; var payAmountArr = [];
$("input[name='pay_amount']").each(function(){ payAmountArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='pay_amount']").each(function() {
payAmountArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#pay_amount_all').val(payAmountArr); $('#pay_amount_all').val(payAmountArr);
var payPeriodArr = []; var payPeriodArr = [];
$("select[name='pay_period']").each(function(){ payPeriodArr.push($(this).val()); }) $("select[name='pay_period']").each(function() {
payPeriodArr.push($(this).val());
})
$('#pay_period_all').val(payPeriodArr); $('#pay_period_all').val(payPeriodArr);
var payIdArr = []; var payIdArr = [];
$("input[name='pay_id']").each(function(){ payIdArr.push($(this).val()); }) $("input[name='pay_id']").each(function() {
payIdArr.push($(this).val());
})
$('#pay_id_all').val(payIdArr); $('#pay_id_all').val(payIdArr);
var itemOpidArr = []; var itemOpidArr = [];
$("input[name='op_id']").each(function(){ itemOpidArr.push($(this).val()); }) $("input[name='op_id']").each(function() {
itemOpidArr.push($(this).val());
})
$('#op_id_all').val(itemOpidArr); $('#op_id_all').val(itemOpidArr);
var optionSeatArr = []; var optionSeatArr = [];
$("td[name='option_seat'] a").each(function(){ optionSeatArr.push($(this).html()+"@@"); }) $("td[name='option_seat'] a").each(function() {
optionSeatArr.push($(this).html() + "@@");
})
$('#option_seat_all').val(optionSeatArr); $('#option_seat_all').val(optionSeatArr);
var optionUnitPriceArr = []; var optionUnitPriceArr = [];
$("input[name='option_unit_price']").each(function(){ optionUnitPriceArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='option_unit_price']").each(function() {
optionUnitPriceArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#option_unit_price_all').val(optionUnitPriceArr); $('#option_unit_price_all').val(optionUnitPriceArr);
var optionQtyArr = []; var optionQtyArr = [];
$("input[name='option_qty']").each(function(){ optionQtyArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='option_qty']").each(function() {
optionQtyArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#option_qty_all').val(optionQtyArr); $('#option_qty_all').val(optionQtyArr);
var optionPriceBpArr = []; var optionPriceBpArr = [];
$("input[name='option_price_bp']").each(function(){ optionPriceBpArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='option_price_bp']").each(function() {
optionPriceBpArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#option_price_bp_all').val(optionPriceBpArr); $('#option_price_bp_all').val(optionPriceBpArr);
var optionMemoArr = []; var optionMemoArr = [];
$("input[name='option_memo']").each(function(){ optionMemoArr.push($(this).val()+"@@"); }) $("input[name='option_memo']").each(function() {
optionMemoArr.push($(this).val() + "@@");
})
$('#option_memo_all').val(optionMemoArr); $('#option_memo_all').val(optionMemoArr);
var optionRelateFacilArr = []; var optionRelateFacilArr = [];
$("td[name='option_relate_facil']").each(function(){ optionRelateFacilArr.push($(this).html().trim()); }) $("td[name='option_relate_facil']").each(function() {
optionRelateFacilArr.push($(this).html().trim());
})
$('#option_relate_facil_all').val(optionRelateFacilArr); $('#option_relate_facil_all').val(optionRelateFacilArr);
var mnIdArr = []; var mnIdArr = [];
$("input[name='mn_id']").each(function(){ mnIdArr.push($(this).val()); }) $("input[name='mn_id']").each(function() {
mnIdArr.push($(this).val());
})
$('#mn_id_all').val(mnIdArr); $('#mn_id_all').val(mnIdArr);
var mnKindArr = []; var mnKindArr = [];
$("select[name='mn_kind']").each(function(){ mnKindArr.push($(this).val()); }) $("select[name='mn_kind']").each(function() {
mnKindArr.push($(this).val());
})
$('#mn_kind_all').val(mnKindArr); $('#mn_kind_all').val(mnKindArr);
var mnSeatArr = []; var mnSeatArr = [];
$("select[name='mn_seat']").each(function(){ mnSeatArr.push($(this).val()); }) $("select[name='mn_seat']").each(function() {
mnSeatArr.push($(this).val());
})
$('#mn_seat_all').val(mnSeatArr); $('#mn_seat_all').val(mnSeatArr);
var mnNumberofstopArr = []; var mnNumberofstopArr = [];
$("input[name='mn_numberofstop']").each(function(){ mnNumberofstopArr.push($(this).val()); }) $("input[name='mn_numberofstop']").each(function() {
mnNumberofstopArr.push($(this).val());
})
$('#mn_numberofstop_all').val(mnNumberofstopArr); $('#mn_numberofstop_all').val(mnNumberofstopArr);
var mnSpeedArr = []; var mnSpeedArr = [];
$("select[name='mn_speed']").each(function(){ mnSpeedArr.push($(this).val()); }) $("select[name='mn_speed']").each(function() {
mnSpeedArr.push($(this).val());
})
$('#mn_speed_all').val(mnSpeedArr); $('#mn_speed_all').val(mnSpeedArr);
var mnUnitPriceArr = []; var mnUnitPriceArr = [];
$("input[name='mn_unit_price']").each(function(){ mnUnitPriceArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='mn_unit_price']").each(function() {
mnUnitPriceArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#mn_unit_price_all').val(mnUnitPriceArr); $('#mn_unit_price_all').val(mnUnitPriceArr);
var mnQtyArr = []; var mnQtyArr = [];
$("input[name='mn_qty']").each(function(){ mnQtyArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='mn_qty']").each(function() {
mnQtyArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#mn_qty_all').val(mnQtyArr); $('#mn_qty_all').val(mnQtyArr);
var mnPriceBpArr = []; var mnPriceBpArr = [];
$("input[name='mn_price_bp']").each(function(){ mnPriceBpArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='mn_price_bp']").each(function() {
mnPriceBpArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#mn_price_bp_all').val(mnPriceBpArr); $('#mn_price_bp_all').val(mnPriceBpArr);
var mnMemoArr = []; var mnMemoArr = [];
$("input[name='mn_memo']").each(function(){ mnMemoArr.push($(this).val()+"@@"); }) $("input[name='mn_memo']").each(function() {
mnMemoArr.push($(this).val() + "@@");
})
$('#mn_memo_all').val(mnMemoArr); $('#mn_memo_all').val(mnMemoArr);
var mnRelateFacilArr = []; var mnRelateFacilArr = [];
$("td[name='mn_relate_facil']").each(function(){ mnRelateFacilArr.push($(this).html().trim()); }) $("td[name='mn_relate_facil']").each(function() {
mnRelateFacilArr.push($(this).html().trim());
})
$('#mn_relate_facil_all').val(mnRelateFacilArr); $('#mn_relate_facil_all').val(mnRelateFacilArr);
var exNoteArr = []; var exNoteArr = [];
$("input[name='except_note']").each(function(){ exNoteArr.push($(this).val()); }) $("input[name='except_note']").each(function() {
exNoteArr.push($(this).val());
})
$('#except_note_all').val(exNoteArr); $('#except_note_all').val(exNoteArr);
var exSpecArr = []; var exSpecArr = [];
$("input[name='except_spec']").each(function(){ exSpecArr.push($(this).val()); }) $("input[name='except_spec']").each(function() {
exSpecArr.push($(this).val());
})
$('#except_spec_all').val(exSpecArr); $('#except_spec_all').val(exSpecArr);
var exUnitPriceArr = []; var exUnitPriceArr = [];
$("input[name='except_unit_price']").each(function(){ exUnitPriceArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='except_unit_price']").each(function() {
exUnitPriceArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#except_unit_price_all').val(exUnitPriceArr); $('#except_unit_price_all').val(exUnitPriceArr);
var exQtyArr = []; var exQtyArr = [];
$("input[name='except_qty']").each(function(){ exQtyArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='except_qty']").each(function() {
exQtyArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#except_qty_all').val(exQtyArr); $('#except_qty_all').val(exQtyArr);
var exPriceBpArr = []; var exPriceBpArr = [];
$("input[name='except_price_bp']").each(function(){ exPriceBpArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='except_price_bp']").each(function() {
exPriceBpArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#except_price_bp_all').val(exPriceBpArr); $('#except_price_bp_all').val(exPriceBpArr);
var demIdArr = []; var demIdArr = [];
$("input[name='dem_id']").each(function(){ demIdArr.push($(this).val()); }) $("input[name='dem_id']").each(function() {
demIdArr.push($(this).val());
})
$('#dem_id_all').val(demIdArr); $('#dem_id_all').val(demIdArr);
var demSeatArr = []; var demSeatArr = [];
$("select[name='seat']").each(function(){ demSeatArr.push($(this).val()); }) $("select[name='seat']").each(function() {
demSeatArr.push($(this).val());
})
$('#dem_seat_all').val(demSeatArr); $('#dem_seat_all').val(demSeatArr);
var demFloorArr = []; var demFloorArr = [];
$("select[name='floor']").each(function(){ demFloorArr.push($(this).val()); }) $("select[name='floor']").each(function() {
demFloorArr.push($(this).val());
})
$('#dem_floor_all').val(demFloorArr); $('#dem_floor_all').val(demFloorArr);
var demUnitPriceArr = []; var demUnitPriceArr = [];
$("input[name='demolition_unit_price']").each(function(){ demUnitPriceArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='demolition_unit_price']").each(function() {
demUnitPriceArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#dem_unit_price_all').val(demUnitPriceArr); $('#dem_unit_price_all').val(demUnitPriceArr);
var demQtyArr = []; var demQtyArr = [];
$("input[name='demolition_qty']").each(function(){ demQtyArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='demolition_qty']").each(function() {
demQtyArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#dem_qty_all').val(demQtyArr); $('#dem_qty_all').val(demQtyArr);
var demPriceBpArr = []; var demPriceBpArr = [];
$("input[name='demolition_price_bp']").each(function(){ demPriceBpArr.push($(this).val().replace(/[,]+/g,"")); }) $("input[name='demolition_price_bp']").each(function() {
demPriceBpArr.push($(this).val().replace(/[,]+/g, ""));
})
$('#dem_price_bp_all').val(demPriceBpArr); $('#dem_price_bp_all').val(demPriceBpArr);
var fpItemArr = []; var fpItemArr = [];
$("input[name='fp_item']").each(function(){ fpItemArr.push($(this).val()); }) $("input[name='fp_item']").each(function() {
fpItemArr.push($(this).val());
})
$('#fp_item_all').val(fpItemArr); $('#fp_item_all').val(fpItemArr);
var fpActArr = []; var fpActArr = [];
$("input[name='fp_act']").each(function(){ fpActArr.push($(this).val()); }) $("input[name='fp_act']").each(function() {
fpActArr.push($(this).val());
})
$('#fp_act_all').val(fpActArr); $('#fp_act_all').val(fpActArr);
var opItemArr = []; var opItemArr = [];
$("input[name='op_item']").each(function(){ opItemArr.push($(this).val()); }) $("input[name='op_item']").each(function() {
opItemArr.push($(this).val());
})
$('#op_item_all').val(opItemArr); $('#op_item_all').val(opItemArr);
var opActArr = []; var opActArr = [];
$("input[name='op_act']").each(function(){ opActArr.push($(this).val()); }) $("input[name='op_act']").each(function() {
opActArr.push($(this).val());
})
$('#op_act_all').val(opActArr); $('#op_act_all').val(opActArr);
var mnItemArr = []; var mnItemArr = [];
$("input[name='mn_item']").each(function(){ mnItemArr.push($(this).val()); }) $("input[name='mn_item']").each(function() {
mnItemArr.push($(this).val());
})
$('#mn_item_all').val(mnItemArr); $('#mn_item_all').val(mnItemArr);
var mnActArr = []; var mnActArr = [];
$("input[name='mn_act']").each(function(){ mnActArr.push($(this).val()); }) $("input[name='mn_act']").each(function() {
mnActArr.push($(this).val());
})
$('#mn_act_all').val(mnActArr); $('#mn_act_all').val(mnActArr);
var exceptItemArr = []; var exceptItemArr = [];
$("input[name='except_item']").each(function(){ exceptItemArr.push($(this).val()); }) $("input[name='except_item']").each(function() {
exceptItemArr.push($(this).val());
})
$('#except_item_all').val(exceptItemArr); $('#except_item_all').val(exceptItemArr);
var exceptActArr = []; var exceptActArr = [];
$("input[name='except_act']").each(function(){ exceptActArr.push($(this).val()); }) $("input[name='except_act']").each(function() {
exceptActArr.push($(this).val());
})
$('#except_act_all').val(exceptActArr); $('#except_act_all').val(exceptActArr);
var demItemArr = []; var demItemArr = [];
$("input[name='dem_item']").each(function(){ demItemArr.push($(this).val()); }) $("input[name='dem_item']").each(function() {
demItemArr.push($(this).val());
})
$('#dem_item_all').val(demItemArr); $('#dem_item_all').val(demItemArr);
var demActArr = []; var demActArr = [];
$("input[name='dem_act']").each(function(){ demActArr.push($(this).val()); }) $("input[name='dem_act']").each(function() {
demActArr.push($(this).val());
})
$('#dem_act_all').val(demActArr); $('#dem_act_all').val(demActArr);
$("input[name='pmstatus']").val($(this).val()); $("input[name='pmstatus']").val($(this).val());
@ -1308,12 +1471,14 @@ $(function(){
<th>數量</th> <th>數量</th>
<th>複價</th> <th>複價</th>
<th>備註</th> <th>備註</th>
<th class="star"><div data-toggle="tooltip" data-placement="auto" title="每次選完OPTION後,請點選右方紅色按鈕「電梯」來勾選電梯項次">所屬電梯 <th class="star">
<div data-toggle="tooltip" data-placement="auto" title="每次選完OPTION後,請點選右方紅色按鈕「電梯」來勾選電梯項次">所屬電梯
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" /> <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" /> <path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" />
</svg> </svg>
</div></th> </div>
</th>
<th>功能</th> <th>功能</th>
</tr> </tr>
</thead> </thead>
@ -1456,7 +1621,9 @@ $(function(){
<th>數量(月)</th> <th>數量(月)</th>
<th>複價</th> <th>複價</th>
<th>備註</th> <th>備註</th>
<th class="star">所屬電梯</div></th> <th class="star">所屬電梯
</div>
</th>
<th>功能</th> <th>功能</th>
</tr> </tr>
</thead> </thead>

21
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,6 +22,8 @@ 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); $data = mysqli_query($link, $sql);
$para = "function_name=pricereview_renovate&" . $token_link; $para = "function_name=pricereview_renovate&" . $token_link;
@ -33,19 +35,24 @@ $sign_st = "";
width: 100%; width: 100%;
display: inline-block; display: inline-block;
} }
#table_index2_filter { #table_index2_filter {
float: right; float: right;
} }
#table_index2_paginate { #table_index2_paginate {
float: right; float: right;
} }
div.dataTables_scrollHead table.dataTable { div.dataTables_scrollHead table.dataTable {
margin-bottom: 0 !important; margin-bottom: 0 !important;
border-bottom-width: 0; border-bottom-width: 0;
} }
div.dataTables_scrollBody table.dataTable { div.dataTables_scrollBody table.dataTable {
border-top-width: 0; border-top-width: 0;
} }
/* /*
.col-sm-12 { .col-sm-12 {
width: auto; width: auto;
@ -65,22 +72,28 @@ label {
margin-top: .5rem; margin-top: .5rem;
} }
div a:hover { div a:hover {
text-decoration: none; text-decoration: none;
} }
.btn-sm { .btn-sm {
font-size: 14px; font-size: 14px;
margin: 2px 0; margin: 2px 0;
line-height: 90%; line-height: 90%;
} }
.glyphicon-ok, .glyphicon-ban-circle {
.glyphicon-ok,
.glyphicon-ban-circle {
font-size: 130%; font-size: 130%;
} }
.btn-secondary { .btn-secondary {
color: #fff; color: #fff;
background-color: #6c757d; background-color: #6c757d;
border-color: #6c757d; border-color: #6c757d;
} }
.btn-secondary:hover { .btn-secondary:hover {
color: #fff; color: #fff;
background-color: #5a6268; background-color: #5a6268;
@ -333,7 +346,9 @@ if ($data):
<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 {
echo "-";
} ?>
</td> </td>
</tr> </tr>
<?php endforeach; ?> <?php endforeach; ?>

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']);

2
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;
/** /**

Loading…
Cancel
Save