Compare commits

..

10 Commits

Author SHA1 Message Date
zxcxz2002 48ab6d03ad 판매 등록 및 정산 기능 수정 2026-08-16 18:15:30 +09:00
zxcxz2002 8ba8498fae . 2023-12-12 10:51:27 +09:00
zxcxz2002 245ff379aa 엑셀 다운 변경 2023-06-28 02:11:23 +09:00
zxcxz2002 dbc4a9f2e0 내용 및 주소 수정 2023-04-28 03:28:25 +09:00
zxcxz2002 0069e3bb01 ver 0.2 2023-03-20 02:41:21 +09:00
zxcxz2002 30f04bf805 세금계산시 999이하일 떄 moneyText 값 수정 방지 2023-03-13 14:28:17 +09:00
zxcxz2002 2b3bd2785f Merge branch 'main' of http://119.70.122.80:20080/developer/PhoneErp.git
into main

Conflicts:
	src/main/resources/static/res/front/js/biz/sell/add.js
2023-03-13 05:34:54 +09:00
zxcxz2002 fb136e3c03 차감기능, 유선기능 추가 2023-03-13 05:32:30 +09:00
zxcxz2002 285bd708fb debugger 제거 2023-03-08 13:14:44 +09:00
zxcxz2002 5d397023bf 기타 추가 2023-03-02 01:43:06 +09:00
15 changed files with 269 additions and 68 deletions
@@ -38,6 +38,9 @@ public class SellInfoDto extends BaseDto{
String formula;
String payBackBank;
String payBackNumber;
String etc;
String guestKinds;
long deduction;
long installment;
long phoneId;
@@ -81,6 +84,7 @@ public class SellInfoDto extends BaseDto{
.phoneId(sellInfo.getPhoneId())
.usim(sellInfo.getUsim())
.faceValueRebate(sellInfo.getFaceValueRebate())
.deduction(sellInfo.getDeduction())
.guestMoney(sellInfo.getGuestMoney())
.introductionPay(sellInfo.getIntroductionPay())
.payBack(sellInfo.getPayBack())
@@ -90,6 +94,8 @@ public class SellInfoDto extends BaseDto{
.disclosureSubsidyYn(sellInfo.isDisclosureSubsidyYn())
.cashRebate(sellInfo.getCashRebate())
.addRebate(sellInfo.getAddRebate())
.etc(sellInfo.getEtc())
.guestKinds(sellInfo.getGuestKinds())
.build();
sellInfoDto.base(sellInfo);
@@ -18,5 +18,5 @@ public class MainRatePlan extends BaseEntity{
private String planType;
private String planName;
private long price;
private long sort;
}
@@ -34,6 +34,8 @@ public class SellInfo extends BaseEntity{
private String formula;
private String payBackBank;
private String payBackNumber;
private String etc;
private String guestKinds;
private long installment;
private long phoneId;
@@ -46,6 +48,7 @@ public class SellInfo extends BaseEntity{
private long disclosureSubsidy;
private long addRebate;
private long cashRebate;
private long deduction;
private boolean payBackYn;
private boolean disclosureSubsidyYn;
@@ -17,5 +17,6 @@ public class SubRatePlan extends BaseEntity{
private String carrierName;
private String planName;
private long price;
private long sort;
}
@@ -33,10 +33,13 @@ public class SellAddInfoParameter{
private long faceValueRebate;
private long guestMoney;
private long introductionPay;
private long deduction;
private long payBack;
private String payBackDay;
private String payBackBank;
private String payBackNumber;
private String etc;
private String guestKinds;
private long factoryPrice;
private long disclosureSubsidy;
@@ -11,5 +11,5 @@ import com.ns.mobile.website.biz.entity.MainRatePlan;
@Repository
public interface MainRatePlanRepository extends JpaRepository<MainRatePlan, Long> {
Optional<List<MainRatePlan>> findByDelYn(boolean delYn);
Optional<List<MainRatePlan>> findByDelYnOrderBySortAsc(boolean delYn);
}
@@ -10,5 +10,5 @@ import com.ns.mobile.website.biz.entity.SubRatePlan;
@Repository
public interface SubRatePlanRepository extends JpaRepository<SubRatePlan, Long> {
Optional<List<SubRatePlan>> findByDelYn(boolean delYn);
Optional<List<SubRatePlan>> findByDelYnOrderBySortAsc(boolean delYn);
}
@@ -90,13 +90,13 @@ public class SellInfoServiceImpl implements SellInfoService{
SellAddInfoModel result = new SellAddInfoModel();
List<BusinessPartner> businessPartnerList = businessPartnerRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("거래처 조회가 실패하였습니다."));
result.setBusinessPartnerList(businessPartnerList);
List<MainRatePlan> mainRatePlanList = mainRatePlanRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("요금제 조회가 실패하였습니다."));
List<MainRatePlan> mainRatePlanList = mainRatePlanRepository.findByDelYnOrderBySortAsc(false).orElseThrow(() -> new BizApiException("요금제 조회가 실패하였습니다."));
result.setMainRatePlanList(mainRatePlanList);
List<MobileCarrier> mobileCarrierList = mobileCarrierRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("통신사 조회가 실패하였습니다."));
result.setMobileCarrierList(mobileCarrierList);
List<Phone> phoneList = phoneRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("핸드폰 조회가 실패하였습니다."));
result.setPhoneList(phoneList);
List<SubRatePlan> subRatePlanList = subRatePlanRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("부가서비스 조회가 실패하였습니다."));
List<SubRatePlan> subRatePlanList = subRatePlanRepository.findByDelYnOrderBySortAsc(false).orElseThrow(() -> new BizApiException("부가서비스 조회가 실패하였습니다."));
result.setSubRatePlanList(subRatePlanList);
return result;
@@ -122,6 +122,7 @@ public class SellInfoServiceImpl implements SellInfoService{
.formula(parameter.getFormula())
.payBackYn(parameter.isPayBackYn())
.payBackBank(parameter.getPayBackBank())
.deduction(parameter.getDeduction())
.payBackNumber(parameter.getPayBackNumber())
.installment(parameter.getInstallment())
.phoneId(parameter.getPhoneId())
@@ -135,6 +136,8 @@ public class SellInfoServiceImpl implements SellInfoService{
.disclosureSubsidyYn(parameter.isDisclosureSubsidyYn())
.cashRebate(parameter.getCashRebate())
.addRebate(parameter.getAddRebate())
.etc(parameter.getEtc())
.guestKinds(parameter.getGuestKinds())
.build();
sellInfoRepository.save(sellInfo);
@@ -123,9 +123,17 @@ public class SellInfoController extends BaseController {
date1.set(yyyy, MM, dd);
cell.setCellValue(date1);
cell.setCellStyle(formatCs);
}else if(myTitle[c].equals("정산금액") || myTitle[c].equals("세금") || myTitle[c].equals("실마진")) {
//현금수납 or 유선상품권
//
}else if(myTitle[c].equals("정산금액") || myTitle[c].equals("세금") || myTitle[c].equals("실마진") || myTitle[c].equals("채권발생액") || myTitle[c].equals("현금수납 or 유선상품권") || myTitle[c].equals("중간마진") || myTitle[c].equals("P/B")
|| myTitle[c].equals("액면R/B") || myTitle[c].equals("추가R/B") || myTitle[c].equals("고객현금") || myTitle[c].equals("차감") || myTitle[c].equals("유심비") || myTitle[c].equals("수수료") || myTitle[c].equals("출고가")
|| myTitle[c].equals("공시지원금") || myTitle[c].equals("할부원금") || myTitle[c].equals("실채권입금액") ) {
Long money = Long.parseLong(dataArry.getJSONObject(r).getString(myTitle[c]).replaceAll(",", ""));
if(money == 0) {
cell.setCellValue('0');
}else {
cell.setCellValue(money);
}
}else {
cell.setCellValue(dataArry.getJSONObject(r).getString(myTitle[c]));
}
+1 -1
View File
@@ -1,7 +1,7 @@
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://119.70.122.80:13306/erp?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
url: jdbc:mariadb://192.168.219.121:13306/erp?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
username: kuhan
password: Gnfkqhsh1!
@@ -30,6 +30,7 @@ let appVue = new Vue({
insertType: 'change',
usim: '',
formula: '',
addFormula: '',
faceValueRebate: '',
guestMoney: '',
introductionPay: '',
@@ -42,7 +43,11 @@ let appVue = new Vue({
disclosureSubsidy: '',
disclosureSubsidyYn: false,
addRebate: '',
cashRebate: ''
cashRebate: '',
etc: '',
guestKind: '',
deductionFormula: '',
deduction: ''
},
mounted: function () {
this.init();
@@ -100,18 +105,12 @@ let appVue = new Vue({
alert('생일을 입력하세요');
return false;
}
if($this.phoneNumber== ''){
alert('핸드폰번호를 입력하세요');
return false;
}
if($this.mainRatePlan== ''){
alert('요금제를 입력하세요');
return false;
}
if($this.phoneId== ''){
alert('핸드폰을 선택하세요');
return false;
}
if($this.formula== ''){
alert('리베이트 계산식을 입력하세요');
return false;
@@ -120,20 +119,31 @@ let appVue = new Vue({
alert('액면가를 입력하세요');
return false;
}
if($this.insertType != 'other'){
if($this.cashRebate== '' || $this.cashRebate== 0){
alert('현금수납를 입력하세요');
return false;
}
if($this.phoneNumber== ''){
alert('핸드폰번호를 입력하세요');
return false;
}
if($this.phoneId== ''){
alert('핸드폰을 선택하세요');
return false;
}
if($this.factoryPrice== '' ||$this.factoryPrice== 0){
alert('출고가를 입력하세요');
return false;
}
}
if($this.disclosureSubsidy != '' && $this.disclosureSubsidy != 0 && $this.disclosureSubsidy != '0'){
$this.disclosureSubsidyYn = true;
}
let index = $('#businessPartner').find(':selected').index();
//시리얼 입력 여부
if($this.info.businessPartnerList[index].serialYn){
if($this.serialNumber == ''){
let confirmAction = confirm("시리얼 번호 필수인데 그냥 입력 하시겠습니까?");
if (confirmAction) {
@@ -141,13 +151,22 @@ let appVue = new Vue({
return false;
}
}
debugger;
}
let realFormula = $this.formula;
if($this.addRebate != '' && $this.addRebate != 0 && $this.addRebate != '0'){
realFormula = realFormula + '+' + $this.addFormula;
}
if($this.deduction != '' && $this.deduction != 0 && $this.deduction != '0'){
realFormula = realFormula + $this.deductionFormula;
}
let parameter = {
openingDate : $this.openingDate,
birthday : $this.birthday,
pbirthday : $this.pbirthday,
payBackDay : $this.payBackDay,
usim : $this.usim.replaceAll(',', ''),
faceValueRebate : $this.faceValueRebate.replaceAll(',', ''),
guestMoney : $this.guestMoney.replaceAll(',', ''),
@@ -157,42 +176,45 @@ let appVue = new Vue({
disclosureSubsidy : $this.disclosureSubsidy.replaceAll(',', ''),
cashRebate: $this.cashRebate.replaceAll(',', ''),
addRebate: $this.addRebate.replaceAll(',', ''),
deduction : $this.deduction.replaceAll(',', '').replaceAll('-', ''),
businessPartner : $this.businessPartner,
mobileCarrier : $this.mobileCarrier,
name : $this.name,
phoneNumber : $this.phoneNumber,
phoneNumber : $this.phoneNumber.replaceAll('-', ''),
pname : $this.pname,
pphoneNumber : $this.pphoneNumber,
pphoneNumber : $this.pphoneNumber.replaceAll('-', ''),
mainRatePlan : $this.mainRatePlan,
subRatePlan : $this.subRatePlan.toString(),
serialNumber : $this.serialNumber,
installment : $this.installment,
phoneId : $this.phoneId,
insertType : $this.insertType,
formula : $this.formula,
formula : realFormula,
payBackYn : $this.payBackYn,
payBackBank : $this.payBackBank,
payBackNumber : $this.payBackNumber,
disclosureSubsidyYn : $this.disclosureSubsidyYn
disclosureSubsidyYn : $this.disclosureSubsidyYn,
etc : $this.etc,
guestKind : $this.guestKind
}
console.log(parameter);
/*nscompany.mobile.api.sell.add(parameter, function (success, message, data) {
nscompany.mobile.api.sell.add(parameter, function (success, message, data) {
if (!success) {
alert(message);
return false;
}
alert("저장 되었습니다.");
location.reload();
});*/
});
},
openingDayBlur: function (){
let $this = this;
//개통일 date로 변환
if($this.openingDate.length == 4){
$this.openingDate = '2023' + $this.openingDate;
$this.openingDate = '2026' + $this.openingDate;
}
else if($this.openingDate.length == 6){
$this.openingDate = '20' + $this.openingDate;
@@ -203,7 +225,7 @@ let appVue = new Vue({
//개통일 date로 변환
if($this.payBackDay.length == 4){
$this.payBackDay = '2023' + $this.payBackDay;
$this.payBackDay = '2026' + $this.payBackDay;
}
if($this.payBackDay.length == 6){
$this.payBackDay = '20' + $this.payBackDay;
@@ -232,6 +254,26 @@ let appVue = new Vue({
}
}
},
phoneNumberBlur: function (){
let $this = this;
if($this.phoneNumber.length == 11){
let numbers = $this.phoneNumber.replace(/[^0-9]/g, "")
.replace(/^(\d{3})(\d{4})(\d{4})$/, `$1-$2-$3`);
$this.phoneNumber = numbers;
}
},
pPhoneNumberBlur: function (){
let $this = this;
if($this.pphoneNumber.length == 11){
let numbers = $this.pphoneNumber.replace(/[^0-9]/g, "")
.replace(/^(\d{3})(\d{4})(\d{4})$/, `$1-$2-$3`);
$this.pphoneNumber = numbers;
}
},
birthdayChange: function (){
let $this = this;
if($this.birthday.length != 8){ //생일 입력 안됨
@@ -301,11 +343,17 @@ let appVue = new Vue({
}));
$('#subRatePlan').selectpicker('refresh');
//시리얼 입력 여부
if($this.info.businessPartnerList[index].serialYn){
$("#serialNumber").removeAttr('disabled');
}else{
$("#serialNumber").attr('disabled', 'disabled');
}
},
formulaChange: function(e){
let $this = this;
var result = 0;
var calc = e.target.value; //-1-2-3 = -6
var calc = $this.formula;//+'+'+$this.addFormula + $this.deductionFormula; //-1-2-3 = -6
var plusList = calc.split('+');//-1-2-3
for(var i=0;i<plusList.length;i++){
@@ -327,6 +375,59 @@ let appVue = new Vue({
var value = result*10000;
$this.faceValueRebate = moneyText(value.toString());
},
addFormulaChange: function(e){
let $this = this;
var result = 0;
var calc = $this.addFormula; //-1-2-3 = -6
var plusList = calc.split('+');//-1-2-3
for(var i=0;i<plusList.length;i++){
if(plusList[i].indexOf('-') == -1){ //only 숫자
result += Number(plusList[i]);
}else{
var subList = plusList[i].split('-');//-1-2-3
for(var j=0;j<subList.length;j++){
if(subList[j] == '' && j == 0){
}else if(subList[j] != '' && j == 0){
result +=Number(subList[j]);
}else{
result -=Number(subList[j]);
}
}
}
}
var value = result*10000;
$this.addRebate = moneyText(value.toString());
$this.formulaChange();
},
deductionFormulaChange: function(e){
let $this = this;
var result = 0;
var calc = $this.deductionFormula; //-1-2-3 = -6
var plusList = calc.split('+');//-1-2-3
for(var i=0;i<plusList.length;i++){
if(plusList[i].indexOf('-') == -1){ //only 숫자
result += Number(plusList[i]);
}else{
var subList = plusList[i].split('-');//-1-2-3
for(var j=0;j<subList.length;j++){
if(subList[j] == '' && j == 0){
}else if(subList[j] != '' && j == 0){
result +=Number(subList[j]);
}else{
result -=Number(subList[j]);
}
}
}
}
var value = result*10000;
$this.deduction = moneyText(value.toString());
$this.formulaChange();
},
callMoneyText: function(value){
return moneyText(value);
},
@@ -75,11 +75,16 @@ let appVue = new Vue({
},
getSettlementAmount: function(x){
//(액면리베이트+고객현금)-(현금수납+유심비+수수료) = 정산금액
let $this = this;
let fees = $this.getFees(x);
var settlementAmount = (x.faceValueRebate+x.guestMoney) - (x.cashRebate+x.usim+fees);
var settlementAmount = (x.faceValueRebate+x.guestMoney+x.addRebate) - (x.cashRebate+x.usim+fees);
if(x.name == '김주호'){
return settlementAmount.toLocaleString('ko-KR');
}else{
return moneyText(settlementAmount,'Y');
}
},
getTex: function(x){
//정산금액 * 0.1 = 세금
@@ -87,6 +92,14 @@ let appVue = new Vue({
var settlementAmount = Number($this.getSettlementAmount(x).replaceAll(',',''));
var tex = settlementAmount*0.1;
if((0 < Number(tex) && Number(tex) < 999)){
if(isNaN(Number(tex))) { //NaN인지 판별
return 0;
}else { //NaN이 아닌 경우
const numberTex = Number(tex).toLocaleString('ko-KR');
return numberTex;
}
}
return moneyText(tex,'Y');
},
getMiddleMargin: function(x){
@@ -94,8 +107,14 @@ let appVue = new Vue({
let $this = this;
var settlementAmount = Number($this.getSettlementAmount(x).replaceAll(',',''));
var middleMargin = (settlementAmount - (x.payBack+x.introductionPay+x.usim));
if(x.name == '정연미'){
debugger;
}
if(x.name == '김주호'){
return middleMargin.toLocaleString('ko-KR');
}else{
return moneyText(middleMargin,'Y');
}
},
getRealMargin: function(x){
//(중간마진-세금)+세금키핑 = 실마진 //세금키핑없음
@@ -103,25 +122,31 @@ let appVue = new Vue({
var middleMargin = Number($this.getMiddleMargin(x).replaceAll(',',''));
var tex = Number($this.getTex(x).replaceAll(',',''));
var realMargin = (middleMargin-tex);
if(x.name == '김주호'){
return realMargin.toLocaleString('ko-KR');
}else{
return moneyText(realMargin,'Y');
}
},
callMoneyText: function(value){
return moneyText(value,'Y');
},
getBondIssuanceAmount: function(x){
//(액면리베이트+추가리베이트+유심)-(현금수납+수수료+차감) = 채권발생액 //차감없음
//(액면리베이트+추가리베이트+유심)-(현금수납+수수료+차감) = 채권발생액
let $this = this;
let fees = $this.getFees(x);
if(x.name=='하지영')
debugger;
var settlementAmount = Number($this.getSettlementAmount(x).replaceAll(',',''));
var bondIssuanceAmount = ((settlementAmount + x.addRebate + x.usim)-(x.guestMoney+fees));
var bondIssuanceAmount = ((settlementAmount + x.usim)-(x.guestMoney+fees+x.deduction));
return moneyText(bondIssuanceAmount,'Y');
},
getRealBondIssuanceAmount: function(x){
//채권발생액-유심비 = 실체권발생액
let $this = this;
if(x.name == '김경빈')debugger;
var bondIssuanceAmount = Number($this.getBondIssuanceAmount(x).replaceAll(',',''));
var realBondIssuanceAmount = (bondIssuanceAmount-x.usim);
@@ -137,7 +162,7 @@ let appVue = new Vue({
let $this = this;
if($this.searchDate.length == 2){
$this.searchDate = '2023' + $this.searchDate;
$this.searchDate = '2026' + $this.searchDate;
}
else if($this.searchDate.length == 4){
$this.searchDate = '20' + $this.searchDate;
@@ -189,7 +214,7 @@ let appVue = new Vue({
var myTable = $("#amountTable");
var rows = $("table > tbody > tr").length;
var columns = $("table > thead > tr > th").length;
if (rows < 2) {
if (rows < 1) {
alert("엑셀파일로 저장할 데이터가 없습니다.");
return;
}
@@ -3349,7 +3349,7 @@
that.$menuInner.find('.active a').trigger('click', true); // retain active class
$this.trigger('focus');
debugger;
if (!that.options.liveSearch) {
// Prevent screen from scrolling if the user hits the spacebar
e.preventDefault();
+57 -8
View File
@@ -46,7 +46,7 @@
<div class="row d-flex justify-content-center">
<label for="formula" class="col-sm-2 col-form-label mb-3 pt-3">계산식</label>
<div class="col-sm-3 mb-3 pt-3">
<input type="text" class="form-control" id="formula" value="1+2+4+5+6-2" v-model="formula" @input="formulaChange" tabindex="4">
<input type="text" class="form-control" id="formula" value="1+2+4+5+6-2" v-model="formula" @input="formulaChange" tabindex="3">
</div>
<div class="vr p-0 m-0"></div>
<label for="faceValueRebate" class="col-sm-2 col-form-label mb-3 pt-3">R(액면R/B)</label>
@@ -54,6 +54,28 @@
<input type="text" class="form-control" id="faceValueRebate" v-model="faceValueRebate" disabled="disabled" value="160000">
</div>
</div>
<div class="row d-flex justify-content-center">
<label for="formula" class="col-sm-2 col-form-label mb-3 pt-3">추가 계산식</label>
<div class="col-sm-3 mb-3 pt-3">
<input type="text" class="form-control" id="addFormula" value="1+2+4+5+6-2" v-model="addFormula" @input="addFormulaChange" tabindex="4">
</div>
<div class="vr p-0 m-0"></div>
<label for="faceValueRebate" class="col-sm-2 col-form-label mb-3 pt-3">추가R/B</label>
<div class="col-sm-3 mb-3 pt-3">
<input type="text" class="form-control" id="addRebate" v-model="addRebate" value="130000" disabled="disabled">
</div>
</div>
<div class="row d-flex justify-content-center">
<label for="formula" class="col-sm-2 col-form-label mb-3 pt-3">차감 계산식</label>
<div class="col-sm-3 mb-3 pt-3">
<input type="text" class="form-control" id="deductionFormula" value="1+2+4+5+6-2" v-model="deductionFormula" @input="deductionFormulaChange" tabindex="4">
</div>
<div class="vr p-0 m-0"></div>
<label for="faceValueRebate" class="col-sm-2 col-form-label mb-3 pt-3">차감</label>
<div class="col-sm-3 mb-3 pt-3">
<input type="text" class="form-control" id="deduction" v-model="deduction" value="130000" disabled="disabled">
</div>
</div>
<div class="row d-flex justify-content-center">
<label for="cashRebate" class="col-sm-2 col-form-label mb-3">P(현금수납 or 상품권)</label>
<div class="col-sm-3 mb-3">
@@ -78,7 +100,18 @@
</div>
</div>
</div>
※ 계산식엔 상품권 빼고 작성
<br>
※ 상품권은 추가 계산식, P(현금수납 or 상품권)에 동일하게 작성
<br>
※ 현금 페이백은 페이백(P/B)에 작성
<br>
※ 가이드 = P(현금수납 or 상품권)
<br>
※ 할부 P 계산식
출고가 - 공시지원금 - 전환지원금 = 단말기 구매가
-> 단말기 구매가 - 할부금 + 유통망 추가 지원금
<br>
<h5 class="mt-3 mb-3">고객정보 등록</h5>
<div class="border border-2 mb-3">
<div class="row d-flex justify-content-center">
@@ -108,12 +141,12 @@
<div class="row d-flex justify-content-center">
<label for="phoneNumber" class="col-sm-2 col-form-label mb-3">핸드폰번호</label>
<div class="col-sm-3 mb-3">
<input type="text" class="form-control" id="phoneNumber" v-model="phoneNumber" value="" tabindex="11">
<input type="text" class="form-control" id="phoneNumber" v-model="phoneNumber" value="" tabindex="11" @blur="phoneNumberBlur">
</div>
<div class="vr p-0"></div>
<label for="pphoneNumber" class="col-sm-2 col-form-label mb-3">법대핸드폰번호</label>
<div class="col-sm-3 mb-3">
<input type="text" class="form-control" id="pphoneNumber" v-model="pphoneNumber" value="" tabindex="14" disabled="disabled">
<input type="text" class="form-control" id="pphoneNumber" v-model="pphoneNumber" value="" tabindex="14" disabled="disabled" @blur="pPhoneNumberBlur">
</div>
</div>
</div>
@@ -186,12 +219,16 @@
</div>
</div>
<div class="row d-flex justify-content-center">
<button type="button" class="btn btn-primary btn-round mb-3 col-sm-2" @click="save" tabindex="23">저장</button>
</div>
<h5 class="mt-3 mb-3">기타</h5>
<div class="border border-2 mb-3">
<div class="row d-flex justify-content-center">
<label for="addRebate" class="col-sm-2 col-form-label mb-3 pt-3">추가R/B</label>
<label for="" class="col-sm-2 col-form-label mb-3 pt-3">공란</label>
<div class="col-sm-3 mb-3 pt-3">
<input type="text" class="form-control" id="addRebate" v-model="addRebate" value="130000" @blur="addRebate = callMoneyText(addRebate)" tabindex="23">
<input type="text" class="form-control" id="" value="" disabled="disabled">
</div>
<div class="vr p-0 m-0"></div>
<label for="usim" class="col-sm-2 col-form-label mb-3 pt-3">유심비</label>
@@ -200,7 +237,7 @@
</div>
</div>
※ 워치 는 유심비 0원
<div class="row d-flex justify-content-center">
<label for="payBackDay" class="col-sm-2 col-form-label mb-3">페이백 지급예정일자</label>
@@ -250,10 +287,22 @@
<input type="text" class="form-control" disabled id="payBackNumber" v-model="payBackNumber" value="111999111222333" tabindex="28">
</div>
</div>
<div class="row d-flex justify-content-center">
<label for="etc" class="col-sm-2 col-form-label mb-3">기타</label>
<div class="col-sm-3 mb-3">
<input type="text" class="form-control" id="etc" v-model="etc" value="" tabindex="29">
</div>
<div class="vr p-0 m-0"></div>
<label for="guestKind" class="col-sm-2 col-form-label mb-3">고객종류</label>
<div class="col-sm-3 mb-3">
<input type="text" class="form-control" id="guestKind" v-model="guestKind" value="" tabindex="30">
</div>
</div>
</div>
<div class="row d-flex justify-content-center">
<button type="button" class="btn btn-primary btn-round mb-3 col-sm-2" @click="save" tabindex="29">저장</button>
<button type="button" class="btn btn-primary btn-round mb-3 col-sm-2" @click="save" tabindex="31">저장</button>
</div>
</div>
</div>
@@ -70,8 +70,10 @@
<th scope="col">액면R/B</th>
<th scope="col">추가R/B</th>
<th scope="col">고객현금</th>
<th scope="col">차감</th>
<th scope="col">차감내용</th>
<th scope="col">현금수납 or 유선상품권</th>
<th scope="col">유심비</th>
<th scope="col">수수료</th>
@@ -126,8 +128,8 @@
<td>{{callMoneyText(x.faceValueRebate)}}</td>
<td>{{callMoneyText(x.addRebate)}}</td>
<td>{{callMoneyText(x.guestMoney)}}</td>
<td>0</td>
<td>0</td>
<td>{{callMoneyText(x.deduction)}}</td> <!-- 차감 -->
<td>0</td> <!-- 차감 내용 -->
<td>{{callMoneyText(x.cashRebate)}}</td>
<td>{{callMoneyText(x.usim)}}</td>
<td>{{getFees(x)}}</td>
@@ -148,7 +150,7 @@
<td>{{getinstallmentPrincipal(x)}}</td>
<td>{{x.formula}}</td>
<td>{{x.payBackBank}} {{x.payBackBankNumber}}</td>
<td></td>
<td>{{x.etc}}</td>
<td>{{getRealBondIssuanceAmount(x)}}</td>
<td></td>
</tr>