...
|
...
|
@@ -27,11 +27,69 @@ |
|
|
</ul>
|
|
|
</div>
|
|
|
</Form-item>
|
|
|
</Form>
|
|
|
|
|
|
<Form label-position="left" :label-width="130" v-if="failList">
|
|
|
<div class="report">
|
|
|
<div class="title">库存导入结果报告</div>
|
|
|
<Form-item label="导入成功 SKU :" v-if="successList">
|
|
|
<ul class="success">
|
|
|
<li v-for="sku in successList" :key="sku">
|
|
|
{{sku}}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</Form-item>
|
|
|
|
|
|
<Form-item label="SKN 不属于该店铺:" v-if="sknNotInShop">
|
|
|
<ul class="err">
|
|
|
<li v-for="sku in sknNotInShop" :key="sku" v-if="sku">
|
|
|
{{sku}}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</Form-item>
|
|
|
|
|
|
|
|
|
<Form-item label="SKU与SKN不匹配:" v-if="skuNotInSkn">
|
|
|
<ul class="err">
|
|
|
<li v-for="sku in skuNotInSkn" :key="sku">
|
|
|
{{sku}}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</Form-item>
|
|
|
|
|
|
|
|
|
<Form-item label="SKN不存在:" v-if="sknNotExist">
|
|
|
<ul class="err">
|
|
|
<li v-for="sku in sknNotExist" :key="sku">
|
|
|
{{sku}}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</Form-item>
|
|
|
|
|
|
|
|
|
<Form-item label="SKU不存在:" v-if="skuNotExist">
|
|
|
<ul class="err">
|
|
|
<li v-for="sku in skuNotExist" :key="sku">
|
|
|
{{sku}}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</Form-item>
|
|
|
|
|
|
|
|
|
<Form-item label="库存数据非法:" v-if="storageNumError">
|
|
|
<ul class="err">
|
|
|
<li v-for="sku in storageNumError" :key="sku">
|
|
|
{{sku}}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</Form-item>
|
|
|
</div>
|
|
|
</Form>
|
|
|
</div>
|
|
|
|
|
|
<div slot="footer" style="text-align: center">
|
|
|
<Button type="primary" size="large" :loading="modal_loading" @click="save">保存</Button>
|
|
|
<Button type="primary" size="large" :loading="modal_loading" v-if="!failList" @click="save">保存</Button>
|
|
|
<Button type="primary" size="large" v-else @click="close">关闭</Button>
|
|
|
<Button type="primary" size="large" @click="close">取消</Button>
|
|
|
</div>
|
|
|
</Modal>
|
...
|
...
|
@@ -39,20 +97,21 @@ |
|
|
|
|
|
<script>
|
|
|
|
|
|
const ERROR = {
|
|
|
sknNotInShop: '',
|
|
|
skuNotInSkn: '',
|
|
|
sknNotExist: '',
|
|
|
skuNotExist: '',
|
|
|
storageNumError: ''
|
|
|
};
|
|
|
import _ from 'lodash';
|
|
|
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
model: false,
|
|
|
modal_loading: false,
|
|
|
fileName: ''
|
|
|
fileName: '',
|
|
|
successList: null,
|
|
|
sknNotInShop: null,
|
|
|
skuNotInSkn: null,
|
|
|
sknNotExist: null,
|
|
|
skuNotExist: null,
|
|
|
storageNumError: null,
|
|
|
failList: null
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
...
|
...
|
@@ -80,13 +139,39 @@ |
|
|
title: '导入失败',
|
|
|
desc: result.message
|
|
|
});
|
|
|
|
|
|
this.successList = this.handleArray(result.data.successList);
|
|
|
this.sknNotInShop = this.handleArray(result.data.sknNotInShop);
|
|
|
this.skuNotInSkn = this.handleArray(result.data.skuNotInSkn);
|
|
|
this.sknNotExist = this.handleArray(result.data.sknNotExist);
|
|
|
this.skuNotExist = this.handleArray(result.data.skuNotExist);
|
|
|
this.storageNumError = this.handleArray(result.data.storageNumError);
|
|
|
this.failList = this.handleArray(result.data.failList);
|
|
|
}
|
|
|
},
|
|
|
uploadError() {
|
|
|
handleArray(array) {
|
|
|
if (!array) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
if (_.isEmpty(array)) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
let newArray = array.filter(i => i);
|
|
|
|
|
|
if (_.isEmpty(newArray)) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
return newArray;
|
|
|
},
|
|
|
uploadError(err) {
|
|
|
this.modal_loading = false;
|
|
|
|
|
|
this.$Notice.error({
|
|
|
title: '保存失败,请重试',
|
|
|
desc: err
|
|
|
});
|
|
|
},
|
|
|
uploadChange(files) {
|
...
|
...
|
@@ -95,9 +180,11 @@ |
|
|
}
|
|
|
|
|
|
this.fileName = files[0].name;
|
|
|
this.resetErr();
|
|
|
},
|
|
|
close() {
|
|
|
this.model = false;
|
|
|
this.$emit('on-success');
|
|
|
},
|
|
|
save() {
|
|
|
this.modal_loading = true;
|
...
|
...
|
@@ -106,6 +193,16 @@ |
|
|
reset() {
|
|
|
this.modal_loading = false;
|
|
|
this.fileName = '';
|
|
|
this.resetErr();
|
|
|
},
|
|
|
resetErr() {
|
|
|
this.successList = null;
|
|
|
this.sknNotInShop = null;
|
|
|
this.skuNotInSkn = null;
|
|
|
this.sknNotExist = null;
|
|
|
this.skuNotExist = null;
|
|
|
this.storageNumError = null;
|
|
|
this.failList = null;
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
...
|
...
|
@@ -116,6 +213,35 @@ |
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
<style lang="scss" scoped>
|
|
|
.report {
|
|
|
max-height: 500px;
|
|
|
overflow: auto;
|
|
|
|
|
|
.title {
|
|
|
font-size: 20px;
|
|
|
text-align: center;
|
|
|
font-weight: bold;
|
|
|
margin-bottom: 20px;
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
|
|
|
.success {
|
|
|
li {
|
|
|
display: inline-block;
|
|
|
color: green;
|
|
|
width: 70px;
|
|
|
}
|
|
|
}
|
|
|
.err {
|
|
|
display: inline-block;
|
|
|
|
|
|
li {
|
|
|
display: inline-block;
|
|
|
color: red;
|
|
|
width: 70px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
</style> |
|
|
\ No newline at end of file |
...
|
...
|
|