diff --git a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js index 16481466a6..e4f10f6fb8 100644 --- a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js +++ b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js @@ -52,5 +52,14 @@ export default { url: '/scm/v1/scmvehrebate/fetchDetailsBySid/' + data, method: 'get' }) + }, + // 下载模板 + downloadExcel: function() { + return request({ + url: '/scm/v1/scmvehrebate/download', + method: 'post', + responseType: 'blob', // 表明返回服务器返回的数据类型 + headers: { 'Content-Type': 'application/json' } + }) } } diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue index 12cfd4031d..ba9504a107 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue @@ -178,9 +178,49 @@ + + + + +
+ 下载单车返利模板 +
+ +
+ + 选取文件 + 上传 + +
+
+

文件上传结果

+ +
{{ uploadResultMesssage }}
+
+
+
+ +
@@ -280,7 +320,19 @@ export default { size: 5, total: 0 }, - rules: {} + rules: {}, + dialogVisible: false, + updateAction: process.env.VUE_APP_BASE_API + '/scm/v1/scmvehrebate/getExcelInfo', + fileList: [], + uploadResultMesssage: '', + uploadData: { + sid: '', + userSid: '', + orgPath: '' + }, + headers: { + token: window.sessionStorage.getItem('token') + } } }, created() { @@ -359,7 +411,7 @@ export default { req.listPage(this.listQuery).then((response) => { console.log('列表查询结果:', response) this.listLoading = false - if (response.success && response.data && response.data.total > 0) { + if (response.success) { this.list = response.data.records this.listQuery.total = response.data.total } else { @@ -425,7 +477,7 @@ export default { }) req.delete(this.sids).then(resp => { if (resp.success) { - this.$message({ type: 'success', message: resp.msg, showClose: true }) + this.$message({ showClose: true, type: 'success', message: resp.msg }) } this.getList() loading.close() @@ -435,6 +487,63 @@ export default { }).catch(() => { }) }, + doImport() { + this.dialogVisible = true + this.fileList = [] + this.uploadResultMesssage = '' + }, + downLoad() { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + req.downloadExcel().then((resp) => { + loading.close() + const blob = new Blob([resp], { + type: 'application/vnd.ms-excel' + }) + const fileName = '单车返利模版' + '.xls' + const elink = document.createElement('a') + elink.download = fileName + elink.style.display = 'nonde' + elink.href = URL.createObjectURL(blob) + document.body.appendChild(elink) + elink.click() + URL.revokeObjectURL(elink.href) + document.body.removeChild(elink) + }).catch(() => { + loading.close() + }) + }, + handleRemove() { + this.uploadResultMesssage = '' + }, + submitUpload() { + this.uploadData.userSid = window.sessionStorage.getItem('userSid') + this.uploadData.orgPath = window.sessionStorage.getItem('defaultOrgPath') + this.$refs.upload.submit() + }, + handleSuccess(resp, file, fileList) { + const _this = this + if (resp.success) { + _this.uploadResultMesssage = resp.msg + } else { + _this.uploadResultMesssage = resp.msg + } + }, + handleConfirm() { + if (this.uploadResultMesssage === '') { + this.$message({ showClose: true, type: 'error', message: '请先上传单车返利模版' }) + return + } else { + this.dialogVisible = false + this.uploadData.userSid = '' + this.uploadData.orgPath = '' + this.getList() + } + }, resetState() { this.viewState = 1 }, diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue index f44d173c06..51bf2e5629 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue @@ -19,47 +19,47 @@ - 返利类型 + *返利类型 - + - 厂家返利名称 + *厂家返利名称 - + - 所属年月 + *所属年月 - + - 计算方式 + *计算方式 - + - 计算标准 + *计算标准 (%) (元) - +
@@ -126,7 +126,13 @@ export default { createBySid: '', scmVehRebateVehs: [] }, - rules: {}, + rules: { + rebateTypeValue: [{ required: true, message: '返利类型不能为空', trigger: 'change' }], + rebateName: [{ required: true, message: '返利名称不能为空', trigger: 'blur' }], + palceGenDate: [{ required: true, message: '所属年月不能为空', trigger: 'change' }], + calculationModeValue: [{ required: true, message: '计算方式不能为空', trigger: 'change' }], + calculationStandard: [{ required: true, message: '计算标准不能为空', trigger: 'blur' }] + }, submitdisabled: false } }, diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue index cc662327c5..5e73e5b83b 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue @@ -19,47 +19,47 @@ - 返利类型 + *返利类型 - + - 厂家返利名称 + *厂家返利名称 - + - 所属年月 + *所属年月 - + - 计算方式 + *计算方式 - + - 计算标准 + *计算标准 (%) (元) - +
@@ -97,7 +97,7 @@ - {{ formobj.estimateRebate }} + {{ estimateRebateSum }} @@ -143,10 +143,29 @@ export default { estimateRebate: '', remarks: '' }, - rules: {}, + rules: { + rebateTypeValue: [{ required: true, message: '返利类型不能为空', trigger: 'change' }], + rebateName: [{ required: true, message: '返利名称不能为空', trigger: 'blur' }], + palceGenDate: [{ required: true, message: '所属年月不能为空', trigger: 'change' }], + calculationModeValue: [{ required: true, message: '计算方式不能为空', trigger: 'change' }], + calculationStandard: [{ required: true, message: '计算标准不能为空', trigger: 'blur' }] + }, submitdisabled: false } }, + computed: { + estimateRebateSum() { + let estimateRebate = '0' + if (this.formobj.calculationModeKey === '001') { + // 计算方式为比例时,预计返利 = (厂家结算价 - 运费) * (计算标准 / 100) + estimateRebate = Math.round(((parseFloat(this.formobj.manufactorSettlementPrice !== '' ? this.formobj.manufactorSettlementPrice : 0) - parseFloat(this.formobj.freight !== '' ? this.formobj.freight : 0)) * (parseFloat(this.formobj.calculationStandard) / 100)) * 100) / 100 + } else if (this.formobj.calculationModeKey === '002') { + // 计算方式为固定金额时,预计返利 = 计算标准 + estimateRebate = this.formobj.calculationStandard + } + return estimateRebate + } + }, methods: { init() { typeValues({ type: 'rebateType' }).then((res) => { @@ -178,15 +197,6 @@ export default { } return val }, - estimateRebateInput() { - if (this.formobj.calculationModeKey === '001') { - // 计算方式为比例时,预计返利 = (厂家结算价 - 运费) * (计算标准 / 100) - this.formobj.estimateRebate = Math.round(((parseFloat(this.formobj.manufactorSettlementPrice !== '' ? this.formobj.manufactorSettlementPrice : 0) - parseFloat(this.formobj.freight !== '' ? this.formobj.freight : 0)) * (parseFloat(this.formobj.calculationStandard) / 100)) * 100) / 100 - } else if (this.formobj.calculationModeKey === '002') { - // 计算方式为固定金额时,预计返利 = 计算标准 - this.formobj.estimateRebate = this.formobj.calculationStandard - } - }, changeRebateType(value) { const choose = this.rebateType_list.filter((item) => item.dictValue === value) if (choose !== null && choose.length > 0) { @@ -210,7 +220,9 @@ export default { }) this.viewTitle = '【编辑】单车返利' req.fetchBySid(row.sid).then((resp) => { - this.formobj = resp.data + if (resp.success) { + this.formobj = resp.data + } }).catch((e) => { this.formobj = row }) diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementInfo.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementInfo.vue index 9c6026e640..9bad4b7fc8 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementInfo.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementInfo.vue @@ -127,7 +127,9 @@ export default { }) this.viewTitle = '单车返利详情' req.fetchBySid(row.sid).then((resp) => { - this.formobj = resp.data + if (resp.success) { + this.formobj = resp.data + } }).catch((e) => { this.formobj = row })