|
|
@ -45,8 +45,10 @@ |
|
|
|
<div class="listtop"> |
|
|
|
<div class="tit">待核对专项返利列表</div> |
|
|
|
<div> |
|
|
|
<el-button size="mini" type="success">导入</el-button> |
|
|
|
<el-button size="mini" type="success">导出</el-button> |
|
|
|
<el-button size="mini" type="success" @click="exportByFirst">一次导出</el-button> |
|
|
|
<el-button size="mini" type="success" @click="importByFirst">一次导入</el-button> |
|
|
|
<el-button size="mini" type="success" @click="exportBySecond">二次导出</el-button> |
|
|
|
<el-button size="mini" type="success" @click="importBySecond">二次导入</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class=""> |
|
|
@ -60,7 +62,7 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="调整状态" align="center" width="120"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span>{{ scope.row.uploadState == '0' ? '未调整' : scope.row.uploadState == '1' ? '已调整' : ''}}</span> |
|
|
|
<span>{{ scope.row.adjustmentState == '0' ? '待确认' : scope.row.adjustmentState == '1' ? '确认调整' : scope.row.adjustmentState == '2' ? '暂不调整' : '' }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="品牌" align="center" width="200"> |
|
|
@ -137,8 +139,8 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="操作" align="center" width="180px"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="primary" v-if="scope.row.adjustmentState == '0'" size="mini" @click="toSave(scope.row)">保存</el-button> |
|
|
|
<el-button type="primary" v-if="scope.row.isAdjustment == '否' || (scope.row.uploadState == '3' && scope.row.adjustmentState == '0')" size="mini" @click="toAdjust(scope.row)">调整</el-button> |
|
|
|
<el-button type="primary" v-if="scope.row.adjustmentState == '0' || scope.row.adjustmentState == '2'" size="mini" @click="toSave(scope.row)">保存</el-button> |
|
|
|
<el-button type="primary" v-if="scope.row.adjustmentState == '2'" size="mini" @click="toAdjust(scope.row)">调整</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
@ -244,6 +246,41 @@ |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
<!-- 导入、导出 --> |
|
|
|
<el-dialog :visible.sync="dialogFileVisible" width="70%" :show-close="false"> |
|
|
|
<el-card class="box-card"> |
|
|
|
<div> |
|
|
|
<el-upload |
|
|
|
ref="upload" |
|
|
|
class="upload-demo" |
|
|
|
accept=".xls" |
|
|
|
name="file" |
|
|
|
:action="updateAction" |
|
|
|
:on-success="handleSuccess" |
|
|
|
:on-remove="handleRemove" |
|
|
|
:file-list="fileList" |
|
|
|
:auto-upload="false" |
|
|
|
:multiple="false" |
|
|
|
:limit="1" |
|
|
|
:data="uploadData" |
|
|
|
:headers="headers" |
|
|
|
> |
|
|
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> |
|
|
|
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传</el-button> |
|
|
|
</el-upload> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<h3>文件上传结果</h3> |
|
|
|
<el-card class="box-card"> |
|
|
|
<div>{{ uploadResultMesssage }}</div> |
|
|
|
</el-card> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
<div slot="footer" class="dialog-footer" style="text-align: center"> |
|
|
|
<el-button type="primary" size="small" @click="handleConfirm">确定</el-button> |
|
|
|
<el-button size="small" @click="dialogFileVisible = false">取消</el-button> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
@ -355,6 +392,18 @@ export default { |
|
|
|
secondRebate: '', |
|
|
|
adjustmentMoney: '', |
|
|
|
cost: '' |
|
|
|
}, |
|
|
|
dialogFileVisible: false, |
|
|
|
updateAction: '', |
|
|
|
fileList: [], |
|
|
|
uploadResultMesssage: '', |
|
|
|
uploadData: { |
|
|
|
sid: '', |
|
|
|
userSid: '', |
|
|
|
orgPath: '' |
|
|
|
}, |
|
|
|
headers: { |
|
|
|
token: window.sessionStorage.getItem('token') |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
@ -399,9 +448,6 @@ export default { |
|
|
|
case 'toAdd': |
|
|
|
this.toAdd() |
|
|
|
break |
|
|
|
case 'doImport': |
|
|
|
this.doImport() |
|
|
|
break |
|
|
|
case 'doClose': |
|
|
|
this.doClose() |
|
|
|
break |
|
|
@ -631,6 +677,96 @@ export default { |
|
|
|
doClose() { |
|
|
|
this.$store.dispatch('tagsView/delView', this.$route) |
|
|
|
this.$router.go(-1) |
|
|
|
}, |
|
|
|
exportByFirst() { |
|
|
|
const loading = this.$loading({ |
|
|
|
lock: true, |
|
|
|
text: 'Loading', |
|
|
|
spinner: 'el-icon-loading', |
|
|
|
background: 'rgba(0, 0, 0, 0.7)' |
|
|
|
}) |
|
|
|
req.excelListOne(this.listQuery.params).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() |
|
|
|
}) |
|
|
|
}, |
|
|
|
importByFirst() { |
|
|
|
this.dialogFileVisible = true |
|
|
|
this.updateAction = process.env.VUE_APP_BASE_API + '/scm/v1/scmspecialrebate/getExcelOneInfo' |
|
|
|
this.fileList = [] |
|
|
|
this.uploadResultMesssage = '' |
|
|
|
}, |
|
|
|
exportBySecond() { |
|
|
|
const loading = this.$loading({ |
|
|
|
lock: true, |
|
|
|
text: 'Loading', |
|
|
|
spinner: 'el-icon-loading', |
|
|
|
background: 'rgba(0, 0, 0, 0.7)' |
|
|
|
}) |
|
|
|
req.excelListTwo(this.listQuery.params).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() |
|
|
|
}) |
|
|
|
}, |
|
|
|
importBySecond() { |
|
|
|
this.dialogFileVisible = true |
|
|
|
this.updateAction = process.env.VUE_APP_BASE_API + '/scm/v1/scmspecialrebate/getExcelTwoInfo' |
|
|
|
this.fileList = [] |
|
|
|
this.uploadResultMesssage = '' |
|
|
|
}, |
|
|
|
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.dialogFileVisible = false |
|
|
|
this.updateAction = '' |
|
|
|
this.uploadData.userSid = '' |
|
|
|
this.uploadData.orgPath = '' |
|
|
|
this.getList() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|