Browse Source

契約價審

main
Cheng 1 year ago
parent
commit
6f8663cc17
  1. 72
      static/flow/cont/con01.json
  2. 7
      wms/cont/apply_form.php
  3. 2
      wms/crm/crmm02-index.php
  4. 2
      wms/crm/crmm06-edit.php
  5. 60
      wms/mkt/pricereview-check.php

72
static/flow/cont/con01.json

@ -1 +1,71 @@
{"flowName":"保养合约价格审核","systemId":"con","flowId":"con01","version":"","selectedNode":"start_node_1684033305000","saveUrl":"https://www.masada.com.tw/fds/index.php/DesignFlow/acceptJsonToSave/","publishUrl":"","drawID":"draw","flowList":{"start_node_1684033305000":{"nodeName":"申请","nodeId":"start_node_1684033305000","creator":"P0044","desc":"申请单位签核","nodeType":"start_node","targetId":["end_node_1684033370000"],"sourceId":[],"targetAnchor":[],"connector":[],"blockTop":"218.8625030517578px","blockLeft":"718.6625366210938px","endPoints":["RightMiddle"],"flowCode":"A","assignClass":"X","assignClassMethod":"function test($flow_context, $form)\n{\n\n $discount = empty($form['discount']) ? '' : $form['discount'];\n\n if ($discount >= '90') return 'C';\n if ($discount >= 80 and $discount < 90) return 'C';\n if ($discount >= 60 and $discount < 80) return 'D';\n if ($discount < 60) return 'F';\n return 'C';\n}","assigner":"","htmlDiv":"<div class=\"node drag_node ui-draggable\" id=\"start_node\">\n <img src=\"images/start_node.png\" alt=\"\">\n <p>开始</p>\n </div>","allowAssign":"true","allowPassTo":"true","backOption":"B1"},"end_node_1684033370000":{"nodeName":"结案节点","nodeId":"end_node_1684033370000","creator":" ","desc":"结案节点","nodeType":"end_node","targetId":[],"sourceId":["start_node_1684033305000"],"targetAnchor":[],"connector":[],"blockTop":"409.26251220703125px","blockLeft":"903.6625366210938px","endPoints":["TopCenter"],"flowCode":"Z","assignClass":"A","assigner":"F4-结案:|","htmlDiv":"<div class=\"node drag_node ui-draggable\" id=\"end_node\">\n <img src=\"images/end_node.png\" alt=\"\">\n <p>结案</p>\n </div>"}},"flowConnector":[{"ConnectionId":"con_5","PageSourceId":"start_node_1684033305000","PageTargetId":"end_node_1684033370000","SourceText":"","TargetText":"","SourceAnchor":"RightMiddle","TargetAnchor":"TopCenter"}]}
{
"flowName": "保养合约价格审核",
"systemId": "con",
"flowId": "con01",
"version": "",
"selectedNode": "start_node_1684033305000",
"saveUrl": "https://www.masada.com.tw/fds/index.php/DesignFlow/acceptJsonToSave/",
"publishUrl": "",
"drawID": "draw",
"flowList": {
"start_node_1684033305000": {
"nodeName": "申请",
"nodeId": "start_node_1684033305000",
"creator": "P0044",
"desc": "申请单位签核",
"nodeType": "start_node",
"targetId": [
"end_node_1684033370000"
],
"sourceId": [],
"targetAnchor": [],
"connector": [],
"blockTop": "218.8625030517578px",
"blockLeft": "718.6625366210938px",
"endPoints": [
"RightMiddle"
],
"flowCode": "A",
"assignClass": "X",
"assignClassMethod": "function test($flow_context, $form)\n{\n\n $discount = empty($form['discount']) ? '' : $form['discount'];\n\n if ($discount >= '90') return 'C';\n if ($discount >= 80 and $discount < 90) return 'C';\n if ($discount >= 60 and $discount < 80) return 'D';\n if ($discount < 60) return 'F';\n return 'C';\n}",
"assigner": "",
"htmlDiv": "<div class=\"node drag_node ui-draggable\" id=\"start_node\">\n <img src=\"images/start_node.png\" alt=\"\">\n <p>开始</p>\n </div>",
"allowAssign": "true",
"allowPassTo": "true",
"backOption": "B1"
},
"end_node_1684033370000": {
"nodeName": "结案节点",
"nodeId": "end_node_1684033370000",
"creator": " ",
"desc": "结案节点",
"nodeType": "end_node",
"targetId": [],
"sourceId": [
"start_node_1684033305000"
],
"targetAnchor": [],
"connector": [],
"blockTop": "409.26251220703125px",
"blockLeft": "903.6625366210938px",
"endPoints": [
"TopCenter"
],
"flowCode": "Z",
"assignClass": "A",
"assigner": "F4-结案:|",
"htmlDiv": "<div class=\"node drag_node ui-draggable\" id=\"end_node\">\n <img src=\"images/end_node.png\" alt=\"\">\n <p>结案</p>\n </div>"
}
},
"flowConnector": [
{
"ConnectionId": "con_5",
"PageSourceId": "start_node_1684033305000",
"PageTargetId": "end_node_1684033370000",
"SourceText": "",
"TargetText": "",
"SourceAnchor": "RightMiddle",
"TargetAnchor": "TopCenter"
}
]
}

7
wms/cont/apply_form.php

@ -68,9 +68,7 @@ $wf->setFormData(['discount' => 100]);
$flowName = $wf->getFlowName();
$assigner = $wf->getAssignerList();
$assign_status = $wf->getAssignStatus($assigner);
// echo '<pre>';
// print_r($assign_status);
// echo '</pre>';
$if_show_assign = true;
//加載流程圖
//$fc = WorkFLowItems::get_records($flow->getSystemID(), $flow->getFlowID());
@ -254,6 +252,9 @@ if ($result['department_id'] == '511') {
} else if ($result['department_id'] == '514') {
$managerid = 'M0033';
$managername = '吳育宗';
} else if ($user_id == 'TEST01') {
$managerid = 'TEST04';
$managername = '區經理';
}
if ($result['department_id'] == 'M0137' || $result['department_id'] == 'M0086' || $result['department_id'] == 'M0033') {

2
wms/crm/crmm02-index.php

@ -170,7 +170,7 @@ if ($data) :
<span class="glyphicon glyphicon-pencil"></span>
</a>
<?php if ($user_name === $row['salesman'] || $user_id = 'M0225') : ?>
<a href="https://bpm.masada.com.tw/km/review/km_review_main/kmReviewMain.do?method=add&fdTemplateId=18cf68c8bc2a8ec3c80950e4e2389f0a&s_css=default&vol_no=<?= $row['vol_no'] ?>" class="btn btn-info btn-sm">
<a href="../cont/apply_form.php?<?= $token_link ?>&vol_no=<?php echo $row['vol_no']; ?>" class="btn btn-info btn-sm">
轉價審
</a>
<?php endif ?>

2
wms/crm/crmm06-edit.php

@ -19,7 +19,7 @@ $customer_source_opt = DB::result($sql);
$sql = "select code_name value ,content label from code where field_name='elevator_kind'";
$elevator_kind_opt = DB::result($sql);
#4.營業員
$sql = "select employee_no value ,name label from employee where depart_no in ('511','512','513','514','515')";
$sql = "select employee_no value ,name label from employee where depart_no in ('511','512','513','514','515','314')";
$salesman_opt = DB::result($sql);
#5.有望客戶狀態
$sql = "select code_name value ,content label from code where field_name='hope_customer_status'";

60
wms/mkt/pricereview-check.php

@ -302,7 +302,6 @@ foreach ($res as $data) {
}
}
}
}
// getMI($id);
?>
@ -317,28 +316,40 @@ foreach ($res as $data) {
return num;
}
let total_mi = 0;
function getMI(id) {
var formdata = new FormData();
formdata.append('pa', id);
// formdata.append('user_id', <?= $user_id ?>);
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
data = JSON.parse(this.responseText);
console.log('123');
//console.log(data);return false;
if (data.st == 'err') {
console.log('123');
//alert(data.err);
return false;
}
// console.log(data.content);
Object.keys(data.content).forEach(function(k) {
console.log('k=>', k);
// console.log(data.content);
//console.log(data.content[k][0]);
// 有值表示先前已寫入MI
if ($("#tb1").find("input[name=mi_fix]").eq(k).val() == "") {
// console.log($("#tb1").find("input[name=mi_fix]").eq(k).val(commafy(data.content[k][0])));
// $("#tb1").find("input[name=mi_fix]").eq(k).val(commafy(data.content[k][0]));
let a = data.content[k][0] + data.content[k][19][1];
$("#tb1").find("input[name=mi_fix]").eq(k).val(commafy(a));
}
$("#tb1").find("input[name=mi_fix]").eq(k).keyup();
console.log('123');
let a = data.content[k][0] + data.content[k][19][1];
$("#tb1").find("input[name=mi_fix]").eq(k).val(commafy(a));
var mihtml = "";
total_mi = 0;
mihtml += "<h5>電梯設備</h5>";
@ -357,27 +368,26 @@ foreach ($res as $data) {
console.log(data.content[k][12]);
Object.keys(data.content[k][14]).forEach(function(m) {
if (data.content[k][14][m][0] != '') {
mihtml += "<li>" + data.content[k][14][m][0]+ ":" + commafy(data.content[k][14][m][1]) + "</li>";
mihtml += "<li>" + data.content[k][14][m][0] + ":" + commafy(data.content[k][14][m][1]) + "</li>";
}
});
Object.keys(data.content[k][16]).forEach(function(m) {
if (data.content[k][16][m][0] != '') {
mihtml += "<li>" + data.content[k][16][m][0]+ ":" + commafy(data.content[k][16][m][1]) + "</li>";
mihtml += "<li>" + data.content[k][16][m][0] + ":" + commafy(data.content[k][16][m][1]) + "</li>";
}
});
Object.keys(data.content[k][18]).forEach(function(m) {
mihtml += "<li>" + data.content[k][18][m][0]+ ":" + commafy(data.content[k][18][m][1]) + "</li>";
mihtml += "<li>" + data.content[k][18][m][0] + ":" + commafy(data.content[k][18][m][1]) + "</li>";
});
mihtml += "<li>" + data.content[k][19][0] + ":" + commafy(data.content[k][19][1]) + "</li>";
mihtml += "以上合計:" + commafy(data.content[k][13]) + "<br>";
total_mi = total_mi + data.content[k][13];
console.log(data.content[k][13]);
mihtml += "以上合計:" + commafy(data.content[k][13]) +
"<br>";
$("#tb1").find("tr[name=facil_templ2]").eq(k).find('td').eq(1).html(mihtml);
//$("#tb1").find("input[name=mi_fix]").eq(k).closest('td').append(mihtml);
document.getElementsByClassName('total_mi_fix')[k].value =commafy(total_mi)
document.getElementsByClassName('total_mi_fix')[k].value = commafy(total_mi)
// document.getElementsByClassName('item_price_ct')[k].value =commafy(total_mi)
document.getElementsByClassName('gross_profit')[k].value =commafy(Number(document.getElementsByClassName('item_price_ct')[k].value.replace(/[,]+/g, "")) - total_mi)
document.getElementsByClassName('gross_profit_rate')[k].value =Math.round((Number(document.getElementsByClassName('gross_profit')[k].value.replace(/[,]+/g, ""))/Number(document.getElementsByClassName('item_price_ct')[k].value.replace(/[,]+/g, ""))*100)*10)/10
document.getElementsByClassName('gross_profit')[k].value = commafy(Number(document.getElementsByClassName('item_price_ct')[k].value.replace(/[,]+/g, "")) - total_mi)
document.getElementsByClassName('gross_profit_rate')[k].value = Math.round((Number(document.getElementsByClassName('gross_profit')[k].value.replace(/[,]+/g, "")) / Number(document.getElementsByClassName('item_price_ct')[k].value.replace(/[,]+/g, "")) * 100) * 10) / 10
});
}
@ -426,14 +436,11 @@ foreach ($res as $data) {
});
$('#tb1').on('keyup', 'input[name=mi_fix]', function() {
// console.log($(this).val);
$(this).val($(this).val().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
// var mf = $(this).val().replace(/[,]+/g, "");
var mf = $(this).closest('td').parent().find('input[name=mi_fix]').val().replace(/[,]+/g, "");
var ct = $(this).closest('td').parent().find('input[name=item_price_ct]').val().replace(/[,]+/g, "");
console.log(mf);
console.log(ct);
console.log(ct - mf);
$(this).closest('td').parent().find('input[name=gross_profit]').val(commafy(ct - mf));
if (ct == 0) $(this).closest('td').parent().find('input[name=gross_profit_rate]').val(0.0);
else $(this).closest('td').parent().find('input[name=gross_profit_rate]').val((((ct - mf) / ct) * 100).toFixed(1));
@ -490,7 +497,6 @@ foreach ($res as $data) {
});
});
</script>
<style>
.container {
@ -557,11 +563,11 @@ foreach ($res as $data) {
<th>數量</th>
<th>複價</th>
<?php if ($viewmi) { ?>
<th>業務部MI(台)</th>
<th>售價(台)</th>
<th>業務部MI</th>
<th>售價</th>
<!--<th>價審%</th>
<th>配賦(含稅)</th>-->
<th>利潤(台)</th>
<th>利潤</th>
<th>利潤率(%)</th>
<?php } ?>
</tr>
@ -573,16 +579,16 @@ foreach ($res as $data) {
foreach ($item_arr as $item_no => $val) {
$item_amt_A_all += $val["item_price_bp"];
if ($viewmi) {
// for ($i = 0; $i < $val["item_qty"]; $i++) {
for ($i = 0; $i < $val["item_qty"]; $i++) {
?>
<tr name="facil_templ">
<td><?php echo $idx; ?><input type="hidden" name="item_no" value="<?php echo $item_no; ?>"><input type="hidden" name="sub_item_id" value="<?php if (isset($val["sub_item_id"])) echo implode("@", $val["sub_item_id"]); ?>"></td>
<td nowrap><a href="" data-toggle="modal"><?= $val["item_spec"]; ?> [規調]</a></td>
<td><input type="text" name="item_unit_price" class="form-control dollar-right" size="8" value="<?= number_format($val["item_unit_price"]); ?>"></td>
<td><input type="text" name="item_qty" class="form-control" size="2" value="<?php echo $val["item_qty"]; ?>"></td>
<td><input type="text" name="item_price_bp" class="form-control dollar-right" size="9" value="<?= number_format($val["item_unit_price"] * $val["item_qty"]); ?>"></td>
<td><input type="text" name="mi_fix" class="form-control dollar-right total_mi_fix" size="9" value="<?php echo ($val["mi_fix"]) ? number_format($val["mi_fix"] +$data["special_fee"] ) : ""; ?>" disabled></td>
<td><input type="text" name="item_price_ct" class="form-control dollar-right item_price_ct" size="9" value="<?= number_format($val["item_price_ct"] / $val["item_qty"]); ?>"></td>
<td><input type="text" name="item_qty" class="form-control" size="2" value="1"></td>
<td><input type="text" name="item_price_bp" class="form-control dollar-right" size="9" value="<?= number_format($val["item_unit_price"]); ?>"></td>
<td><input type="text" name="mi_fix" class="form-control dollar-right" size="9" value="<?php echo ($val["mi_fix"]) ? number_format($val["mi_fix"]) : ""; ?>" disabled></td>
<td><input type="text" name="item_price_ct" class="form-control dollar-right" size="9" value="<?= number_format($val["item_price_ct"] / $val["item_qty"]); ?>"></td>
<!--<td><input type="text" name="item_price" class="form-control dollar-right" size="8" value="<?php echo ($val["item_price"]) ? number_format($val["item_price"]) : ""; ?>"></td>
<td><input type="text" name="pv_rate" class="form-control" size="1" value="<?= $val["pv_rate"]; ?>"></td>
<td><input type="text" name="allocate" class="form-control" size="6" value="<?= $val["allocate"]; ?>"></td>-->
@ -595,7 +601,7 @@ foreach ($res as $data) {
<td colspan="4"></td>
</tr>
<?php
//} #item_qty end.
} #item_qty end.
} else {
?>
<tr name="facil_templ">
@ -980,7 +986,7 @@ foreach ($res as $data) {
</div>
<div>
<label for="price_rate">價率%(B/A)</label>
<input type="text" name="price_rate" id="price_rate" value="<?php echo number_format((int)$data["price_total"]/(int)$data["price_lowest"] * 100, 1); ?>">
<input type="text" name="price_rate" id="price_rate" value="<?php echo number_format((int)$data["price_total"] / (int)$data["price_lowest"] * 100, 1); ?>">
</div>
<div>
<label for="price_broken">破價(台)</label>

Loading…
Cancel
Save