@ -5,57 +5,60 @@
< el -card class = "card1" style = "margin-bottom: 0.5vh; min-height: 110px;" >
< div class = "row" >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 精网号 < / e l - t e x t >
< el -input v -model = " searchData.jwcode " placeholder = "请输入精网号" style = "width:10vw; "
clearable > < / e l - i n p u t >
< el -text style = "width: 4vw;" > { { t ( 'common.jwcode' ) } } < / e l - t e x t >
< el -input v -model = " searchData.jwcode " :placeholder ="t('common.jwcodePlaceholder') "
style = "width:10vw;" clearable > < / e l - i n p u t >
< / div >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 客户姓名 < / e l - t e x t >
< el -input v -model = " searchData.name " placeholder = "请输入客户姓名" style = "width:10vw; "
clearable > < / e l - i n p u t >
< el -text style = "width: 4vw;" > { { t ( 'common.customerName' ) } } < / e l - t e x t >
< el -input v -model = " searchData.name " :placeholder ="t('common.customerNamePlaceholder') "
style = "width:10vw;" clearable > < / e l - i n p u t >
< / div >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 所属地区 < / e l - t e x t >
< el -text style = "width: 4vw;" > { { t ( 'common.market' ) } } < / e l - t e x t >
< el -cascader style = "width: 9vw;" v -model = " searchData.markets " :options ="market"
placeholder = "请选择所属地区 " clearable @ change = "handleMarketChange" / >
: placeholder = "t('common.marketPlaceholder') " clearable @ change = "handleMarketChange" / >
< / div >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 订单状态 < / e l - t e x t >
< el -select v -model = " searchData.status " placeholder = "请选择订单状态" style = "width: 10vw;" clearable >
< el -text style = "width: 4vw;" > { { t ( 'common.orderStatus' ) } } < / e l - t e x t >
< el -select v -model = " searchData.status " :placeholder ="t('common.orderStatusPlaceholder')"
style = "width: 10vw;" clearable >
< el -option v -for = " item in statusList " :key ="item.name" :label ="item.name"
: value = "item.value" / >
< / e l - s e l e c t >
< / div >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 支付方式 < / e l - t e x t >
< el -select v -model = " searchData.payType " placeholder = "请选择支付方式" style = "width: 10vw;" clearable >
< el -text style = "width: 4vw;" > { { t ( 'common.payModel' ) } } < / e l - t e x t >
< el -select v -model = " searchData.payType " :placeholder ="t('common.payModelPlaceholder')"
style = "width: 10vw;" clearable >
< el -option v -for = " item in paytypeList " :key ="item" :label ="item" :value ="item" / >
< / e l - s e l e c t >
< / div >
< / div >
< div class = "row" style = "margin-top: 10px;" >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 活动名称 < / e l - t e x t >
< el -select v -model = " searchData.activity " placeholder = "请选择活动方式" style = "width: 10vw;" clearable >
< el -text style = "width: 4vw;" > { { t ( 'common.activityName' ) } } < / e l - t e x t >
< el -select v -model = " searchData.activity " :placeholder ="t('common.activityNameChoose')"
style = "width: 10vw;" clearable >
< el -option v -for = " item in activityList " :key ="item.id" :label ="item.activityName"
: value = "item.id" / >
< / e l - s e l e c t >
< / div >
< div class = "rowItem" >
< el -text style = "width: 4vw;" > 产品名称 < / e l - t e x t >
< el -text style = "width: 4vw;" > { { t ( 'common.productName' ) } } < / e l - t e x t >
< el -cascader v -model = " searchData.goodsName " :options ="productList" style = "width: 10vw;"
clearable / >
< / div >
< div class = "rowItem" style = "width: 30vw" >
< el -text style = "width: 4vw; margin-left: 0.5vw;" > 付款时间 < / e l - t e x t >
< el -date -picker v -model = " getTime " type = "datetimerange" range -separator = " 至 "
start - placeholder = "起始时间" end - placeholder = "结束时间" style = "width: 22vw; "
@ change = "handleDatePickerChange" : default - time = "defaultTime"
< el -text style = "width: 4vw; margin-left: 0.5vw;" > { { t ( 'common.payTime' ) } } < / e l - t e x t >
< el -date -picker v -model = " getTime " type = "datetimerange" :range-separator ="t('common.to') "
: start - placeholder = "t('common.startTime')" : end - placeholder = "t('common.endTime') "
style = "width: 22vw; " @ change = "handleDatePickerChange" : default - time = "defaultTime"
: disabled - date = "disabledDate" / >
< / div >
< div class = "buttons" >
< el -button type = "primary" @click ="search" > 查询 < / el -button >
< el -button type = "success" @click ="reset" > 重置 < / el -button >
< el -button type = "primary" @click ="search" > {{ t ( ' common.search ' ) }} < / el -button >
< el -button type = "success" @click ="reset" > {{ t ( ' common.reset ' ) }} < / el -button >
< / div >
< / div >
< / e l - c a r d >
@ -66,11 +69,12 @@
< el -card class = "card2" >
< div class = "btns" >
< div class = "btnAdd" >
< el -button @click ="openAddForm" type = "success" > 添加收款 < / e l - b u t t o n >
< el -button @click ="openAddForm" type = "success" > { { t ( 'common.addReceive' ) } } < / e l - b u t t o n >
< / div >
< div class = "info-tooltip" >
< el -popover placement = "top" title = "数据说明" :width ="260" trigger = "hover"
content = "收款的所有页面:订单记录默认按照付款时间降序排列" popper - class = "custom-popover" : show - arrow = "false" >
< el -popover placement = "top" :title ="t('cash.receiveCashDataTitle')" :width ="260" trigger = "hover"
: content = "t('cash.receiveCashDataContent')" popper - class = "custom-popover"
: show - arrow = "false" >
< template # reference >
< el -icon class = "service-icon" >
< Warning / >
@ -84,32 +88,35 @@
< el -table :data ="tableData" style = "width: 80vw;height:64vh;" @sort-change ="handleSortChange"
: row - style = "{ height: '60px' }" : header - cell - style = "{ textAlign: 'center' }"
: cell - style = "{ textAlign: 'center' }" >
< el -table -column type = "index" label = "序号 " width = "100px" fixed = "left" >
< el -table -column type = "index" :label ="t('common_list.id') " width = "100px" fixed = "left" >
< template # default = "scope" >
< span > { { scope . $index + 1 + ( pageInfo . pageNum - 1 ) * pageInfo . pageSize } } < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column fixed = "left" prop = "jwcode" label = "Homily ID" width = "110px" / >
< el -table -column fixed = "left" prop = "name" label = "姓名" width = "110px" / >
< el -table -column prop = "marketName" label = "所属地区" width = "80px" / >
< el -table -column prop = "activity" label = "活动名称" width = "120px" show -overflow -tooltip / >
< el -table -column prop = "goodsName" label = "产品名称" width = "120px" / >
< el -table -column prop = "goodNum" label = "产品数量" width = "130px" >
< el -table -column fixed = "left" prop = "name" :label ="t('common_list.name')" width = "110px" / >
< el -table -column prop = "marketName" :label ="t('common_list.market')" width = "80px" / >
< el -table -column prop = "activity" :label ="t('common_list.activity')" width = "120px"
show - overflow - tooltip / >
< el -table -column prop = "goodsName" :label ="t('common_list.productName')" width = "120px" / >
< el -table -column prop = "goodNum" :label ="t('common_list.productNum')" width = "130px" >
< template # default = "scope" >
< span v-if ="scope.row.goodsName == '金币充值'" > {{ scope.row.permanentGold }} < / span >
< span v-if ="scope.row.goodsName == t('common_list.goldRecharge')" > {{
scope . row . permanentGold } } < / span >
< span v-else > {{ scope.row.goodNum }} < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column prop = "paymentCurrency" label = "付款币种 " width = "100px" / >
< el -table -column prop = "paymentAmount" label = "付款金额 " width = "120px" / >
< el -table -column prop = "payType" label = "支付方式 " width = "130px" / >
< el -table -column prop = "payTime" label = "付款时间 " width = "180px" / >
< el -table -column prop = "voucher" label = "转账凭证 " width = "110px" >
< el -table -column prop = "paymentCurrency" :label ="t('common_list.payCurrency') " width = "100px" / >
< el -table -column prop = "paymentAmount" :label ="t('common_list.payAmount') " width = "120px" / >
< el -table -column prop = "payType" :label ="t('common_list.payModel') " width = "130px" / >
< el -table -column prop = "payTime" :label ="t('common_list.payTime') " width = "180px" / >
< el -table -column prop = "voucher" :label ="t('common_list.transferVoucher') " width = "110px" >
< template # default = "scope" >
< div v -if = " scope.row.voucher "
style = "display: flex; justify-content: center; align-items: center; cursor: pointer;"
@ click = "previewImage(scope.row.voucher)" >
< img :src ="scope.row.voucher" alt = "支付凭证" style = "width: auto; height: 40px;" >
< img :src ="scope.row.voucher" :alt ="t('common_list.payVoucher')"
style = "width: auto; height: 40px;" >
< / div >
< div v -else
style = "display: flex; justify-content: center; align-items: center; height: 40px;" >
@ -117,30 +124,36 @@
< / div >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column prop = "submitterName" label = "提交人" width = "150px" show -overflow -tooltip / >
< el -table -column prop = "remark" label = "备注" width = "150px" show -overflow -tooltip / >
< el -table -column prop = "submitterName" :label ="t('common_list.submitter')" width = "150px"
show - overflow - tooltip / >
< el -table -column prop = "remark" :label ="t('common_list.remark')" width = "150px"
show - overflow - tooltip / >
<!-- 客服专属的订单状态列 -- >
< el -table -column fixed = "right" prop = "status" label = "订单状态" width = "100px" >
< el -table -column fixed = "right" prop = "status" :label ="t('common_list.orderStatus')"
width = "100px" >
< template # default = "scope" >
< span v-if ="scope.row.status == 0" > 待审核 < / span >
< span v -else -if = " scope.row.status = = 1 | | scope.row.status = = 4 " > 已通过 < / span >
< span v -else -if = " scope.row.status = = 2 " > 已驳回 < / span >
< span v -else -if = " scope.row.status = = 5 " > 已撤回 < / span >
< span v -else -if = " scope.row.status = = 6 " > 退款 < / span >
< span v-if ="scope.row.status == 0" > {{ t ( ' common.pendingAudit ' ) }} < / span >
< span v -else -if = " scope.row.status = = 1 | | scope.row.status = = 4 " > { { t ( 'common.passed' )
} } < / span >
< span v -else -if = " scope.row.status = = 2 " > { { t ( 'common.rejected' ) } } < / span >
< span v -else -if = " scope.row.status = = 5 " > { { t ( 'common.withdrawn' ) } } < / span >
< span v -else -if = " scope.row.status = = 6 " > { { t ( 'common.refunded' ) } } < / span >
< span v-else > < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column fixed = "right" label = "操作 " width = "120px" >
< el -table -column fixed = "right" :label ="t('common_list.operation') " width = "120px" >
< template # default = scope >
< el -link v -if = " scope.row.status = = 4 " style = "color: #FA5A1E;"
@ click = "openConfirm('refund', scope.row)" > 退款 < / e l - l i n k >
< el -link v -else -if = " scope.row.status = = 1 " style = "color: #2741DE;" > 待填写手续费 < / e l - l i n k >
@ click = "openConfirm('refund', scope.row)" > { { t ( 'common.refund' ) } } < / e l - l i n k >
< el -link v -else -if = " scope.row.status = = 1 " style = "color: #2741DE;" > { {
t ( 'common.pendingFee' ) } } < / e l - l i n k >
< el -link v -else -if = " scope.row.status = = 5 " style = "color: #2741DE;"
@ click = "openAddForm(scope.row)" > 编辑 < / e l - l i n k >
@ click = "openAddForm(scope.row)" > { { t ( 'common.edit' ) } } < / e l - l i n k >
< el -link v -else -if = " scope.row.status = = 0 " style = "color: #FA5A1E;"
@ click = "openConfirm('recall', scope.row)" > 撤回 < / e l - l i n k >
@ click = "openConfirm('recall', scope.row)" > { { t ( 'common.withdraw' ) } } < / e l - l i n k >
< el -link v -else -if = " scope.row.status = = 2 " style = "color: #FA5A1E;"
@ click = "openRejectReason(scope.row.rejectReason)" > 查看驳回理由 < / e l - l i n k >
@ click = "openRejectReason(scope.row.rejectReason)" > { { t ( 'common.viewRejectReason' )
} } < / e l - l i n k >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
@ -158,32 +171,32 @@
<!-- 撤回确认弹窗 -- >
< div class = "recallDialog" v-show ="recallDialog" >
< div class = "close" >
< button @click ="closeRecall" class = "Btn" > 关闭 < / button >
< button @click ="closeRecall" class = "Btn" > { { t ( 'common.close' ) } } < / button >
< / div >
< div class = "text" >
< text class = "txt" > { { textContent } } < / text >
< / div >
< div class = "cancle" >
< button @click ="closeRecall" class = "Btn" > 取消 < / button >
< button @click ="closeRecall" class = "Btn" > { { t ( 'common.cancel' ) } } < / button >
< / div >
< div class = "confirm" >
< button @click ="handleRecall" class = "Btn" > 确定 < / button >
< button @click ="handleRecall" class = "Btn" > { { t ( 'common.confirm' ) } } < / button >
< / div >
< / div >
<!-- 退款确认弹窗 -- >
< div class = "recallDialog" v-show ="refundConfirmDialog" >
< div class = "close" >
< button @click ="closeConfirmRefund" class = "Btn" > 关闭 < / button >
< button @click ="closeConfirmRefund" class = "Btn" > { { t ( 'common.close' ) } } < / button >
< / div >
< div class = "text" >
< text class = "txt" > { { textContent } } < / text >
< / div >
< div class = "cancle" >
< button @click ="closeConfirmRefund" class = "Btn" > 取消 < / button >
< button @click ="closeConfirmRefund" class = "Btn" > { { t ( 'common.cancel' ) } } < / button >
< / div >
< div class = "confirm" >
< button @click ="openRefundDialog" class = "Btn" > 确定 < / button >
< button @click ="openRefundDialog" class = "Btn" > { { t ( 'common.confirm' ) } } < / button >
< / div >
< / div >
@ -191,70 +204,74 @@
< el -dialog class = "adddialog" v-model ="addFormisible" width="20vw" :before-close="closeAddForm" >
< el -form class = "addForm" ref = "addFormRef" :rules ="addFormRule" :model ="addFormData" label -width = " 4vw "
label - position = "left" >
< el -form -item label = "精网号" required prop = "jwcode" >
< el -input v -model = " addFormData.jwcode " placeholder = "请输入精网号" @blur ="jwcodeSeachMarket" / >
< el -form -item :label ="t('common_add.jwcode')" required prop = "jwcode" >
< el -input v -model = " addFormData.jwcode " :placeholder ="t('common_add.jwcodePlaceholder')"
@ blur = "jwcodeSeachMarket" / >
< / e l - f o r m - i t e m >
< el -form -item label = "客户姓名" required prop = "name" >
< el -input disabled v -model = " addFormData.name " placeholder = "请输入客户姓名" / >
< el -form -item :label ="t('common_add.customerName')" required prop = "name" >
< el -input disabled v -model = " addFormData.name "
: placeholder = "t('common_add.customerNamePlaceholder')" / >
< / e l - f o r m - i t e m >
< el -form -item label = "所属地区" prop = "market" >
< el -input disabled v -model = " addFormData.marketName " placeholder = "请输入所属地区" / >
< el -form -item :label ="t('common_add.market')" prop = "market" >
< el -input disabled v -model = " addFormData.marketName "
: placeholder = "t('common_add.marketPlaceholder')" / >
< / e l - f o r m - i t e m >
< el -form -item label = "活动名称" required prop = "activity" >
< el -select v -model = " addFormData.activity " placeholder = "请选择活动方式" clearable >
< el -form -item :label ="t('common_add.activity')" required prop = "activity" >
< el -select v -model = " addFormData.activity " :placeholder ="t('common_add.activityPlaceholder')"
clearable >
< el -option v -for = " item in activityList " :key ="item.id" :label ="item.activityName"
: value = "item.id" / >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "产品名称 " required @change ="ifGold" prop = "goodsName" >
< el -form -item :label ="t('common_add.productName') " required @change ="ifGold" prop = "goodsName" >
< ProductSelect ref = "productSelectRef" v-model ="addFormData.goodsName" > < / ProductSelect >
< / e l - f o r m - i t e m >
< el -form -item v -show = " ! isGold " label = "产品数量 " required >
< el -form -item v -show = " ! isGold " :label ="t('common_add.productNum') " required >
< div style = "display: flex;" >
< el -input style = "padding-right: 30px; flex: 3;" v -model = " addFormData.goodNum "
placeholder = "请输入产品数量 " / >
: placeholder = "t('common_add.productNumPlaceholder') " / >
< CurrencySelect v -model = " addFormData.numUnit " :items ="numUnitList" style = "flex: 1.5;"
placeholder = "单位 " @ change = "handleCurrencyChange" / >
: placeholder = "t('common_add.numUnit') " @ change = "handleCurrencyChange" / >
< / div >
< / e l - f o r m - i t e m >
< div v-show ="isGold" style="margin-bottom: 15px; display: flex;" >
< div style = " display: flex; " >
< span
style = "color: #999999; display: flex; white-space: nowrap;align-items: center;" > 永久金币 : < / span >
< span style = "color: #999999; display: flex; white-space: nowrap;align-items: center;" > { {
t ( 'common_add.permanentGold' ) } } : < / span >
< el -input placeholder = "0"
style = "padding-right: 10px; padding-left: 10px; height: 30px; width: 110px;"
v - model = "addFormData.permanentGold" / >
< / div >
< div style = "padding-right: 5px; display: flex;" >
< span
style = "color: #999999; display: flex; white-space: nowrap;align-items: center;" > 免费金币 : < / span >
< span style = "color: #999999; display: flex; white-space: nowrap;align-items: center;" > { {
t ( 'common_add.freeGold' ) } } : < / span >
< el -input placeholder = "0"
style = "padding-right: 10px; padding-left: 10px; height: 30px; width: 110px;"
v - model = "addFormData.freeGold" / >
< / div >
< / div >
< el -form -item label = "付款币种 " required prop = "paymentCurrency" >
< CurrencySelect v -model = " addFormData.paymentCurrency " :items ="customOptions" placeholder = "请选择付款币种"
@ change = "handleCurrencyChange" / >
< el -form -item :label ="t('common_add.payCurrency') " required prop = "paymentCurrency" >
< CurrencySelect v -model = " addFormData.paymentCurrency " :items ="customOptions"
: placeholder = "t('common_add.payCurrencyPlaceholder')" @ change = "handleCurrencyChange" / >
< / e l - f o r m - i t e m >
< el -form -item label = "付款金额 " required prop = "paymentAmount" >
< el -input v -model = " addFormData.paymentAmount " placeholder = "请输入付款金额 " / >
< el -form -item :label ="t('common_add.payAmount') " required prop = "paymentAmount" >
< el -input v -model = " addFormData.paymentAmount " :placeholder ="t('common_add.payAmountPlaceholder') " / >
< / e l - f o r m - i t e m >
< el -form -item label = "支付方式 " required prop = "payType" >
< CurrencySelect v -model = " addFormData.payType " :items ="paytypeOptions" placeholder = "请选择支付方式"
@ change = "ifGroup" >
< el -form -item :label ="t('common_add.payMethod') " required prop = "payType" >
< CurrencySelect v -model = " addFormData.payType " :items ="paytypeOptions"
: placeholder = "t('common_add.payMethodPlaceholder')" @ change = "ifGroup" >
< / CurrencySelect >
< / e l - f o r m - i t e m >
< el -form -item label = "到账地区 " prop = "receivedMarket" >
< el -form -item :label ="t('common_add.receiveArea') " prop = "receivedMarket" >
< CurrencySelect v -model = " addFormData.receivedMarket " :items ="MoneyAddressOptions"
: disabled = "isGroup" placeholder = "请选择到账地区 " >
: disabled = "isGroup" : placeholder = "t('common_add.receiveAreaPlaceholder') " >
< / CurrencySelect >
< / e l - f o r m - i t e m >
< el -form -item label = "付款时间 " required prop = "payTime" >
< el -form -item :label ="t('common_add.payTime') " required prop = "payTime" >
< el -date -picker type = "datetime" placement = "right" v -model = " addFormData.payTime "
placeholder = "请选择付款时间 " / >
: placeholder = "t('common_add.payTimePlaceholder') " / >
< / e l - f o r m - i t e m >
< el -form -item label = "转账凭证 " prop = "voucher" >
< el -form -item :label ="t('common_add.transferVoucher') " prop = "voucher" >
< div class = "pic" >
< el -upload ref = "uploadRef" class = "uploader" :show-file-list ="false" list -type = " picture -card "
: auto - upload = "false" : before - upload = "beforeUpload" : on - error = "handelImgErr"
@ -267,87 +284,93 @@
< / e l - u p l o a d >
< / div >
< / e l - f o r m - i t e m >
< el -form -item label = "备注" prop = "remark" >
< el -input v -model = " addFormData.remark " type = "textarea" :rows ="4" placeholder = "请输入备注" maxlength = "100"
show - word - limit / >
< el -form -item :label ="t('common_add.remark')" prop = "remark" >
< el -input v -model = " addFormData.remark " type = "textarea" :rows ="4" maxlength = "100" show -word -limit / >
< / e l - f o r m - i t e m >
< / e l - f o r m >
< template # footer >
< span class = "dialog-footer" >
< el -button style = "background-color: #7E91FF;" @click ="closeAddForm" > 取消 < / el -button >
< el -button style = "background-color: #7E91FF;" @click ="closeAddForm" > {{ t ( ' common.cancel ' )
} } < / e l - b u t t o n >
< el -button v -if = " addOrEdit = = 1 " style = "background-color: #2741DE; margin-left: 2.5vw;"
type = "primary" @ click = "throttledhandleAddForm" : disabled = "ifAddDone" > 确定 < / e l - b u t t o n >
type = "primary" @ click = "throttledhandleAddForm" : disabled = "ifAddDone" > { { t ( 'common.confirm' )
} } < / e l - b u t t o n >
< el -button v -else -if = " addOrEdit = = 2 " style = "background-color: #2741DE; margin-left: 2.5vw;"
type = "primary" @ click = "throttledhandleEditForm" : disabled = "ifReAddDone" > 编辑 < / e l - b u t t o n >
type = "primary" @ click = "throttledhandleEditForm" : disabled = "ifReAddDone" > { { t ( 'common.edit' )
} } < / e l - b u t t o n >
< / span >
< / template >
< / e l - d i a l o g >
<!-- 客服新增退款弹窗 -- >
< el -dialog v -model = " refundDialog " title = "退款 " class = "refundDialog" overflow draggable style = "width: 40vw;"
: before - close = "closeRefundForm" >
< el -dialog v -model = " refundDialog " :title ="t('common_add.refund') " class = "refundDialog" overflow draggable
style = "width: 40vw;" : before - close = "closeRefundForm" >
< div style = "display: flex;" >
< div class = "left" >
< div class = "add-item" >
< el -text style = "width:4vw;" > 精网号 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.jwcode' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.jwcode " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 客户姓名 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.customerName' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.name " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 所属地区 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.market' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.marketName " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 活动名称 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.activity' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.activity " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 产品名称 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.productName' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.goodsName " style = "width:10vw;" disabled / >
< / div >
< div v-show ="!isRefundGold" class="add-item" >
< el -text style = "width:4vw;" > 产品数量 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.productNum' ) } } < / e l - t e x t >
< el -input style = "padding-right: 10px; width:6.5vw;" v -model = " refundFormData.goodNum "
placeholder = "请输入产品数量 " disabled / >
: placeholder = "t('common_add.productNumPlaceholder') " disabled / >
< CurrencySelect disabled v -model = " refundFormData.numUnit " :items ="numUnitList"
style = "width: 3.5vw;" placeholder = "单位" @ change = "handleCurrencyChange" / >
style = "width: 3.5vw;" : placeholder = "t('common_add.numUnit')"
@ change = "handleCurrencyChange" / >
< / div >
< div v-show ="isRefundGold" style="margin-bottom: 15px; " >
< div style = " display: flex; " >
< span
style = "color: #999999; display: flex; white-space: nowrap;align-items: center;width:4vw;" > 永久金币 : < / span >
style = "color: #999999; display: flex; white-space: nowrap;align-items: center;width:4vw;" > { {
t ( 'common_add.permanentGold' ) } } : < / span >
< el -input style = "padding-right: 10px; height: 30px; width: 110px; margin-bottom: 10px"
v - model = "refundFormData.permanentGold" disabled / >
< / div >
< div style = "padding-right: 5px; display: flex;" >
< span
style = "color: #999999; display: flex; white-space: nowrap;align-items: center;width:4vw;" > 免费金币 : < / span >
style = "color: #999999; display: flex; white-space: nowrap;align-items: center;width:4vw;" > { {
t ( 'common_add.freeGold' ) } } : < / span >
< el -input style = "padding-right: 10px; height: 30px; width: 110px;"
v - model = "refundFormData.freeGold" disabled / >
< / div >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 付款币种 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.payCurrency' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.paymentCurrency " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 付款金额 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.payAmount' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.paymentAmount " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 支付方式 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.payMethod' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.payType " style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 付款时间 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.payTime' ) } } < / e l - t e x t >
< el -date -picker v -model = " refundFormData.payTime " type = "datetime" style = "width:10vw;" disabled / >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" size = "small" > 转账凭证 < / e l - t e x t >
< el -form -item : rules = "{ required: true, message: '请上传图片', trigger: 'change' }" >
< el -text style = "width:4vw;" size = "small" > { { t ( 'common_add.transferVoucher' ) } } < / e l - t e x t >
< el -form -item
: rules = "{ required: true, message: t('common_add.uploadPhoto'), trigger: 'change' }" >
< el -upload ref = "uploadRef" :auto-upload ="false" list -type = " picture -card "
: show - file - list = "false" >
< template # default >
@ -361,51 +384,51 @@
< / e l - f o r m - i t e m >
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 备注 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.remark' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.remark " style = "width:10vw;" :rows ="2" type = "textarea"
maxLength = "100" disabled show - word - limit / >
< / div >
< / div >
< div class = "right" >
< div class = "add-item" >
< el -text style = "width:4vw;" > 退款模式 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.refundModel' ) } } < / e l - t e x t >
< el -radio -group v-model ="refundFormData.refundModel" >
< el -radio value = "0" > 全部退款 < / e l - r a d i o >
< el -radio value = "1" > 部分退款 < / e l - r a d i o >
< el -radio value = "0" > { { t ( 'common_add.refundModelAll' ) } } < / e l - r a d i o >
< el -radio value = "1" > { { t ( 'common_add.refundModelPart' ) } } < / e l - r a d i o >
< / e l - r a d i o - g r o u p >
< / div >
< div class = "add-item"
v - show = "refundFormData.goodsName === '金币充值' && refundFormData.refundModel === '1'" >
< el -text style = "width:4vw;" > 永久金币 < / e l - t e x t >
v - show = "refundFormData.goodsName === t('cash.coinRecharge') && refundFormData.refundModel === '1'" >
< el -text style = "width:4vw;" > { { t ( 'common_add.permanentGold' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.partRefundGold " style = "width:5vw;" / > & nbsp ; & nbsp ; 个
< / div >
< div class = "add-item"
v - show = "refundFormData.goodsName === '金币充值' && refundFormData.refundModel === '1'" >
< el -text style = "width:4vw;" > 免费金币 < / e l - t e x t >
v - show = "refundFormData.goodsName === t('cash.coinRecharge') && refundFormData.refundModel === '1'" >
< el -text style = "width:4vw;" > { { t ( 'common_add.freeGold' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.partRefundFree " style = "width:5vw;" / > & nbsp ; & nbsp ; 个
< / div >
< div class = "add-item" >
< el -text style = "width:4vw;" > 退款理由 < / e l - t e x t >
< el -text style = "width:4vw;" > { { t ( 'common_add.refundReason' ) } } < / e l - t e x t >
< el -input v -model = " refundFormData.refundReason " style = "width:10vw;" :rows ="5" maxlength = "150"
show - word - limit type = "textarea" / >
< / div >
< div > ps : 请在退款理由表明用户的退款需求 。 < / div >
< div > { { t ( 'common_add.tip' ) } } < / div >
< div style = "display:flex;justify-content: center;margin-top: 5vh;" >
< el -button type = "default" @click ="closeRefundForm" > 取消 < / el -button >
< el -button type = "primary" @click ="throttledsubmitRefund" > 提交 < / el -button >
< el -button type = "default" @click ="closeRefundForm" > {{ t ( ' common.cancel ' ) }} < / el -button >
< el -button type = "primary" @click ="throttledsubmitRefund" > {{ t ( ' common.submit ' ) }} < / el -button >
< / div >
< / div >
< / div >
< / e l - d i a l o g >
<!-- 查看驳回理由 -- >
< el -dialog title = "驳回理由 " v -model = " rejectReasonVisible " width = "50%" top = "30vh"
< el -dialog :title ="t('common_add.rejectReason') " v -model = " rejectReasonVisible " width = "50%" top = "30vh"
style = "min-width: 200px; max-width: 500px;" : before - close = "closeRejectForm" >
< div class = "reject-reason-box" >
{ { rejectReason } }
< / div >
< div class = "rejectBtn" >
< el -button type = "primary" @click ="closeRejectForm" > 确定 < / el -button >
< el -button type = "primary" @click ="closeRejectForm" > {{ t ( ' common.confirm ' ) }} < / el -button >
< / div >
< / e l - d i a l o g >
< / div >
@ -429,6 +452,10 @@ import { isNumber } from 'lodash'
import { addFormRule } from './utils/recriveFormRules.js'
import { productList , MarketNameForId , CurrencyForId , marketList , statusList } from './utils/staticData.js'
/ / 国 际 化
import { useI18n } from 'vue-i18n'
const { t } = useI18n ( )
/ / = = = = = = = = = = = = = = = = = = = = = 基 础 状 态 管 理 ( 仅 保 留 客 服 相 关 ) = = = = = = = = = = = = = = = = = = = = =
const adminStore = useAdminStore ( ) ;
const { menuTree } = storeToRefs ( adminStore ) ;
@ -436,7 +463,7 @@ const adminData = ref({}) // 管理员信息
const tableData = ref ( [ ] ) / / 表 格 数 据
const total = ref ( 0 ) / / 总 条 数
const pageInfo = ref ( { pageSize : 10 , pageNum : 1 } ) / / 分 页 信 息
const numUnitList = ref ( [ '年' , '月' ] )
const numUnitList = ref ( [ t ( 'cash.year' ) , t ( 'cash.month' ) ] )
/ / 筛 选 地 区 树
const market = ref ( [ ] )
@ -522,12 +549,12 @@ const getlist = async () => {
if ( searchData . value . jwcode ) {
const isPositiveInteger = /^[1-9]\d*$/ . test ( searchData . value . jwcode ) ;
if ( ! isPositiveInteger ) {
ElMessage . error ( '请输入正确的精网号' )
ElMessage . error ( t ( 'elmessage.checkJwcodeFormat' ) )
return ;
}
/ / 添 加 精 网 号 长 度 验 证
if ( searchData . value . jwcode . length > 8 ) {
ElMessage . error ( '精网号长度不能超过8位' )
ElMessage . error ( t ( 'elmessage.limitJwcodeLength' ) )
return ;
}
}
@ -558,7 +585,7 @@ const getlist = async () => {
tableData . value = result . data . list
total . value = result . data . total
} else {
ElMessage . error ( '数据异常' )
ElMessage . error ( t ( 'elmessage.dataException' ) )
console . log ( result . msg ) ;
}
} catch ( error ) {
@ -587,24 +614,36 @@ const uploadRef = ref(null) // 上传组件引用
/ / 产 品 选 择 变 更 : 判 断 是 否 为 金 币 充 值
const ifGold = ( ) => {
if ( addFormData . value . goodsName === '金币充值' ) {
if ( addFormData . value . goodsName === t ( 'cash.coinRecharge' ) ) {
isGold . value = true
addFormData . value . goodNum = 0
} else {
isGold . value = false
numUnitList . value = [ '个' , '年' , '月' ]
const selectItems = [ "AI机构追踪" , "AI机构出击" , "AI机构资金" , "AI机构活跃度" , "超级机构透视" , "超级机构伏击" , "超级机构猎杀" , "超级机构脉搏" , "超级机构罗盘" , 'HC信息费' , 'HC信息费' , 'AI机构探测神器' , '超级机构探测神器' ]
numUnitList . value = [ t ( 'cash.unit' ) , t ( 'cash.year' ) , t ( 'cash.month' ) ]
const selectItems = ref ( [
t ( 'cash.aiService.aiTracking' ) ,
t ( 'cash.aiService.aiAttack' ) ,
t ( 'cash.aiService.aiFunds' ) ,
t ( 'cash.aiService.aiActivity' ) ,
t ( 'cash.aiService.superPerspective' ) ,
t ( 'cash.aiService.superAmbush' ) ,
t ( 'cash.aiService.superHunting' ) ,
t ( 'cash.aiService.superPulse' ) ,
t ( 'cash.aiService.superCompass' ) ,
t ( 'cash.aiService.aiDetectionTool' ) ,
t ( 'cash.aiService.superDetectionTool' )
] )
if ( selectItems . includes ( addFormData . value . goodsName ) ) {
if ( addOrEdit . value == 1 ) {
addFormData . value . numUnit = ''
}
numUnitList . value = [ '年' , '月' ]
} else if ( addFormData . value . goodsName == '静态信息费' ) {
addFormData . value . numUnit = '年'
numUnitList . value = [ '年' ]
numUnitList . value = [ t ( 'cash.year' ) , t ( 'cash.month' ) ]
} else if ( addFormData . value . goodsName == t ( 'cash.staticInfoFee' ) ) {
addFormData . value . numUnit = t ( 'cash.year' )
numUnitList . value = [ t ( 'cash.year' ) ]
} else {
addFormData . value . numUnit = '个'
numUnitList . value = [ '个' ]
addFormData . value . numUnit = t ( 'cash.unit' )
numUnitList . value = [ t ( 'cash.unit' ) ]
}
}
}
@ -612,18 +651,18 @@ const ifGold = () => {
/ / 支 付 方 式 变 更 : 判 断 是 否 为 默 认 归 属 平 台
const isGroup = ref ( false )
const ifGroup = ( ) => {
if ( addFormData . value . payType === 'Stripe-链接收款' || addFormData . value . payType === 'PaymentAsia-链接收款' ) {
if ( addFormData . value . payType === t ( 'cash.payMethods.stripe' ) || addFormData . value . payType === t ( 'cash.payMethods.paymentAsia' ) ) {
isGroup . value = true
addFormData . value . receivedMarket = '香港'
} else if ( addFormData . value . payType === 'Ipay88-链接收款' ) {
addFormData . value . receivedMarket = t ( 'cash.markets.HongKong' )
} else if ( addFormData . value . payType === t ( 'cash.payMethods.ipay88' ) ) {
isGroup . value = true
addFormData . value . receivedMarket = '马来西亚'
} else if ( addFormData . value . payType === 'E-Transfer' ) {
addFormData . value . receivedMarket = t ( 'cash.markets.Malaysia' )
} else if ( addFormData . value . payType === t ( 'cash.payMethods.transfer' ) ) {
isGroup . value = true
addFormData . value . receivedMarket = '加拿大'
} else if ( addFormData . value . payType === 'Grabpay' || addFormData . value . payType === 'Nets' || addFormData . value . payType === 'Paypal' ) {
addFormData . value . receivedMarket = t ( 'cash.markets.Canada' )
} else if ( addFormData . value . payType === t ( 'cash.payMethods.grabpay' ) || addFormData . value . payType === t ( 'cash.payMethods.nets' ) || addFormData . value . payType === t ( 'cash.payMethods.paypal' ) ) {
isGroup . value = true
addFormData . value . receivedMarket = '新加坡'
addFormData . value . receivedMarket = t ( 'cash.markets.Singapore' )
} else {
isGroup . value = false
}
@ -637,12 +676,12 @@ const jwcodeSeachMarket = async () => {
data : addFormData . value . jwcode
} )
if ( result . code == 200 ) {
ElMessage . success ( '客户信息查询成功' )
ElMessage . success ( t ( 'elmessage.customerSuccess' ) )
addFormData . value . market = result . data . market
addFormData . value . marketName = result . data . marketName
addFormData . value . name = result . data . name
} else {
ElMessage . error ( '客户不存在' )
ElMessage . error ( t ( 'elmessage.customerNotExist' ) )
}
} catch ( error ) {
console . log ( error ) ;
@ -678,7 +717,7 @@ const closeAddForm = () => {
}
const testGold = ( ) => {
/ / 转 换 为 数 字 ( 处 理 字 符 串 类 型 的 数 字 )
if ( addFormData . value . goodsName == '金币充值' ) {
if ( addFormData . value . goodsName == t ( 'cash.coinRecharge' ) ) {
if ( addFormData . value . permanentGold == null ) {
addFormData . value . permanentGold = 0
}
@ -690,13 +729,13 @@ const testGold = () => {
/ / 正 则 : 仅 允 许 0 - 9 9 9 9 9 9 的 正 整 数 ( 包 括 0 )
const reg = /^[0-9]{1,6}$/ ;
if ( ! reg . test ( permanentGold ) || permanentGold < 0 ) {
return { valid : false , message : '请检查永久金币格式' } ;
return { valid : false , message : t ( 'elmessage.checkPermanentFormat' ) } ;
}
if ( ! reg . test ( freeNum ) || freeNum < 0 ) {
return { valid : false , message : '请检查免费金币格式' } ;
return { valid : false , message : t ( 'elmessage.checkFreeFormat' ) } ;
}
if ( permanentGold == 0 && freeNum == 0 ) {
return { valid : false , message : '永久金币或免费金币不能同为0' } ;
return { valid : false , message : t ( 'elmessage.permanentAndFreeNoZero' ) } ;
}
}
return { valid : true } ;
@ -712,18 +751,18 @@ const handleAddForm = async () => {
/ / 单 独 校 验 产 品 数 量
if ( ! isGold . value ) {
if ( ! addFormData . value . goodNum ) {
ElMessage . error ( '请输入产品数量' ) ;
ElMessage . error ( t ( 'elmessage.checkProductNum' ) ) ;
return ;
}
const positiveIntReg = /^[1-9]\d*$/ ;
if ( ! positiveIntReg . test ( addFormData . value . goodNum ) ) {
ElMessage . error ( '产品数量必须为正整数' ) ;
ElMessage . error ( t ( 'elmessage.productNumError' ) ) ;
return ;
}
}
if ( addFormData . value . numUnit == '' ) {
ElMessage . error ( '请选择产品数量单位' ) ;
ElMessage . error ( t ( 'elmessage.checkNumUnit' ) ) ;
return ;
}
/ / 处 理 时 间 格 式
@ -746,14 +785,14 @@ const handleAddForm = async () => {
}
} )
if ( result . code == 200 ) {
ElMessage . success ( '添加成功' )
ElMessage . success ( t ( 'elmessage.addSuccess' ) )
getlist ( )
closeAddForm ( )
}
ifAddDone . value = false
} catch ( error ) {
console . log ( '新增报错:' , error ) ;
ElMessage . error ( '请完善表单信息后提交' ) ;
ElMessage . error ( t ( 'elmessage.checkFormInfoSubmit' ) ) ;
ifAddDone . value = false
}
}
@ -774,17 +813,17 @@ const handleEditForm = async () => {
/ / 单 独 校 验 产 品 数 量
if ( ! isGold . value ) {
if ( ! addFormData . value . goodNum ) {
ElMessage . error ( '请输入产品数量' ) ;
ElMessage . error ( t ( 'elmessage.checkProductNum' ) ) ;
return ;
}
const positiveIntReg = /^[1-9]\d*$/ ;
if ( ! positiveIntReg . test ( addFormData . value . goodNum ) ) {
ElMessage . error ( '产品数量必须为正整数' ) ;
ElMessage . error ( t ( 'elmessage.productNumError' ) ) ;
return ;
}
}
if ( addFormData . value . numUnit == '' ) {
ElMessage . error ( '请选择产品数量单位' ) ;
ElMessage . error ( t ( 'elmessage.checkNumUnit' ) ) ;
return ;
}
/ / 处 理 时 间 格 式
@ -806,7 +845,7 @@ const handleEditForm = async () => {
}
} )
if ( result . code == 200 ) {
ElMessage . success ( '编辑成功' )
ElMessage . success ( t ( 'elmessage.editSuccess' ) )
getlist ( )
closeAddForm ( )
}
@ -818,9 +857,38 @@ const handleEditForm = async () => {
}
/ / 付 款 币 种 和 支 付 方 式 选 项 ( 客 服 专 用 )
const customOptions = ref ( [ '美元(USD)' , '港币(HKD)' , '新币(SGD)' , '马币(MYR)' , '泰铢(THB)' , '加币(CAD)' , '越南盾(VDN)' , '韩元(KRW)' ] )
const paytypeOptions = ref ( [ "Stripe-链接收款" , "PaymentAsia-链接收款" , "Ipay88-链接收款" , "Grabpay" , "Nets" , "E-Transfer" , "Paypal" , "银行转账" , "刷卡" , "现金" , "支票" ] )
const MoneyAddressOptions = ref ( [ '马来西亚' , '香港' , '新加坡' , '泰国' , '越南HCM' , '加拿大' ] )
const customOptions = ref ( [
t ( 'cash.currency.usd' ) , / / 美 元 ( U S D )
t ( 'cash.currency.hkd' ) , / / 港 币 ( H K D )
t ( 'cash.currency.sgd' ) , / / 新 币 ( S G D )
t ( 'cash.currency.myr' ) , / / 马 币 ( M Y R )
t ( 'cash.currency.thb' ) , / / 泰 铢 ( T H B )
t ( 'cash.currency.cad' ) , / / 加 币 ( C A D )
t ( 'cash.currency.vnd' ) , / / 越 南 盾 ( V D N )
t ( 'cash.currency.krw' ) / / 韩 元 ( K R W )
] )
/ / 支 付 类 型 选 项 - 使 用 c a s h . p a y M e t h o d s 下 的 键 名
const paytypeOptions = ref ( [
t ( 'cash.payMethods.stripe' ) , / / S t r i p e - 链 接 收 款
t ( 'cash.payMethods.paymentAsia' ) , / / P a y m e n t A s i a - 链 接 收 款
t ( 'cash.payMethods.ipay88' ) , / / I p a y 8 8 - 链 接 收 款
t ( 'cash.payMethods.grabpay' ) , / / G r a b p a y
t ( 'cash.payMethods.nets' ) , / / N e t s
t ( 'cash.payMethods.transfer' ) , / / E - T r a n s f e r
t ( 'cash.payMethods.paypal' ) , / / P a y P a l
t ( 'cash.payMethods.bankTransfer' ) , / / 银 行 转 账
t ( 'cash.payMethods.card' ) , / / 刷 卡
t ( 'cash.payMethods.cash' ) , / / 现 金
t ( 'cash.payMethods.check' ) / / 支 票
] )
const MoneyAddressOptions = ref ( [
t ( 'cash.markets.Malaysia' ) , / / 马 来 西 亚
t ( 'cash.markets.HongKong' ) , / / 香 港
t ( 'cash.markets.Singapore' ) , / / 新 加 坡
t ( 'cash.markets.Thailand' ) , / / 泰 国
t ( 'cash.markets.VietnamHCM' ) , / / 越 南 H C M
t ( 'cash.markets.Canada' ) / / 加 拿 大
] )
const handleCurrencyChange = ( option ) => {
console . log ( '选中的币种:' , option ) ;
} ;
@ -830,20 +898,20 @@ const handleImgSuccess = (response) => {
try {
addFormData . value . voucher = response . data . url
} catch ( error ) {
ElMessage . error ( response . msg || '图片上传失败' )
ElMessage . error ( response . msg || t ( 'elmessage.uploadFailed' ) )
}
}
const handelImgErr = ( err ) => {
console . log ( err ) ;
addFormData . value . imageUrl = null
ElMessage . error ( "图片上传失败" )
ElMessage . error ( t ( 'elmessage.uploadFailed' ) )
}
const beforeUpload = ( rawFile ) => {
if ( rawFile . type !== 'image/jpeg' && rawFile . type !== 'image/png' ) {
ElMessage . error ( '图片必须是jpg或png类型!' )
ElMessage . error ( t ( 'elmessage.photoFormatError' ) )
return false
} else if ( rawFile . size / 1024 / 1024 > 2 ) {
ElMessage . error ( '图片大小不能超过 2MB!' )
ElMessage . error ( t ( 'elmessage.limitImageSize2MB' ) )
return false
}
return true
@ -863,14 +931,14 @@ const customUpload = async (options) => {
} )
if ( response . code === 200 && response . data ) {
handleImgSuccess ( response , options . file )
ElMessage . success ( '上传成功' )
ElMessage . success ( t ( 'elmessage.uploadSuccess' ) )
} else {
options . onError ( response )
ElMessage . error ( response . msg || '上传失败' )
ElMessage . error ( response . msg || t ( 'elmessage.uploadFailed' ) )
}
} catch ( error ) {
console . error ( '上传错误:' , error )
ElMessage . error ( ` 上传失败 : ${ error . msg || error . message || '网络异常' } ` )
ElMessage . error ( t ( 'elmessage.uploadFailed' ) + ` : ${ error . msg || error . message || t ( 'elmessage.inNetworkError' ) } ` )
}
}
@ -913,7 +981,7 @@ const isRefundGold = ref(false) // 退款产品是否为金币
/ / 判 断 退 款 产 品 类 型
const ifRefundGold = ( ) => {
if ( refundFormData . value . goodsName === '金币充值' ) {
if ( refundFormData . value . goodsName === t ( 'cash.coinRecharge' ) ) {
isRefundGold . value = true
refundFormData . value . goodNum = 0
} else {
@ -924,12 +992,12 @@ const ifRefundGold = () => {
/ / 打 开 撤 回 / 退 款 确 认 弹 窗
const openConfirm = ( val , row ) => {
if ( val === 'refund' ) {
textContent . value = '将要对该订单退款!'
textContent . value = t ( 'common.willRefundOrder' )
refundFormData . value = { ... row }
ifRefundGold ( )
refundConfirmDialog . value = true
} else if ( val === 'recall' ) {
textContent . value = '将要撤回该信息!'
textContent . value = t ( 'common.willRecallOrder' )
recallDialog . value = true
RecallNum . value = row . orderCode
}
@ -950,7 +1018,7 @@ const handleRecall = async () => {
data : { orderCode : RecallNum . value }
} )
if ( result . code == 200 ) {
ElMessage . success ( '撤回成功' )
ElMessage . success ( t ( 'common.withdrawSuccess' ) )
getlist ( )
closeRecall ( )
}
@ -985,20 +1053,20 @@ const submitRefund = async () => {
refundFormData . value . partRefundFree = refundFormData . value . freeGold
} else if ( refundFormData . value . refundModel == 1 ) {
if ( refundFormData . value . partRefundGold > refundFormData . value . permanentGold || refundFormData . value . partRefundFree > refundFormData . value . freeGold ) {
ElMessage . error ( '退款金额不能大于订单金额' )
ElMessage . error ( t ( 'elmessage.limitRefundAmount' ) )
return
}
}
/ / 添 加 精 网 号 验 证
if ( refundFormData . value . jwcode ) {
const isPositiveInteger = /^[1-9]\d*$/ . test ( refundFormData . value . jwcode ) ;
if ( ! isPositiveInteger ) {
ElMessage . error ( '请输入正确的精网号' )
ElMessage . error ( t ( 'elmessage.checkJwcodeFormat' ) )
return ;
}
if ( refundFormData . value . jwcode . length > 8 ) {
ElMessage . error ( '精网号长度不能超过8位' )
ElMessage . error ( t ( 'elmessage.limitJwcodeLength' ) )
return ;
}
}
@ -1023,7 +1091,7 @@ const submitRefund = async () => {
}
} )
if ( result . code == 200 ) {
ElMessage . success ( '新增退款成功' )
ElMessage . success ( t ( 'elmessage.addRefundSuccess' ) )
getlist ( )
closeRefundForm ( )
} else {
@ -1049,7 +1117,7 @@ const getActivitys = async () => {
if ( result . code == 200 ) {
activityList . value = result . data
} else {
ElMessage . error ( '活动列表获取失败' )
ElMessage . error ( t ( 'elmessage.activityLoadFailed' ) )
}
} catch ( error ) {
console . log ( '活动列表请求失败' , error )
@ -1067,7 +1135,20 @@ const getAdminData = async () => {
}
/ / 支 付 方 式 列 表 ( 表 格 筛 选 用 )
const paytypeList = [ "Stripe-链接收款" , "PaymentAsia-链接收款" , "Ipay88-链接收款" , "银行转账" , "刷卡" , "现金" , "支票" , "Grabpay" , "Nets" , "E-Transfer" , "Paypal" ]
/ / 支 付 类 型 列 表 - 使 用 c a s h . p a y M e t h o d s 下 的 键 名 , 保 持 与 原 始 数 组 完 全 一 致 的 顺 序
const paytypeList = ref ( [
t ( 'cash.payMethods.stripe' ) , / / S t r i p e - 链 接 收 款
t ( 'cash.payMethods.paymentAsia' ) , / / P a y m e n t A s i a - 链 接 收 款
t ( 'cash.payMethods.ipay88' ) , / / I p a y 8 8 - 链 接 收 款
t ( 'cash.payMethods.bankTransfer' ) , / / 银 行 转 账
t ( 'cash.payMethods.card' ) , / / 刷 卡
t ( 'cash.payMethods.cash' ) , / / 现 金
t ( 'cash.payMethods.check' ) , / / 支 票
t ( 'cash.payMethods.grabpay' ) , / / G r a b p a y
t ( 'cash.payMethods.nets' ) , / / N e t s
t ( 'cash.payMethods.transfer' ) , / / E - T r a n s f e r
t ( 'cash.payMethods.paypal' ) / / P a y P a l
] )
const getMarket = async function ( ) {
try {
const result = await API ( {