智能排序

This commit is contained in:
邓皓元 2019-03-15 18:30:41 +08:00
parent 6db0d98a1c
commit ed8ac4d8b6
16 changed files with 83 additions and 36 deletions

View File

@ -117,13 +117,10 @@ const actions = {
context.commit('SET_RELATION_PARAMS', {});
context.commit('SET_ORDER_PARAMS', {});
context.commit('SET_CARD_PARAMS', {});
context.commit('SET_RELATION_OBJ', {});
context.commit('SET_ORDER_GROUP', {});
context.commit('SET_REAL_ORDERS', []);
context.commit('SET_CARDS', []);
context.commit('SET_SELECTED', []);
context.commit('SET_SELECTED_MAPPED', []);
context.commit('SET_SELECTED_COUNTS', 0);
context.dispatch('setSelected', []);
},
getRelations(context, params) {
return new Promise((resolve, reject) => {
@ -233,10 +230,7 @@ const actions = {
});
});
},
pushSelected(context, array) {
let selected = JSON.parse(JSON.stringify(context.getters.selected));
selected = remove_selected(selected, array);
array.map(el => { selected.push(el); });
setSelected(context, selected) {
let mapped = selected.map(el => { return el._rowIndex; });
context.commit('SET_SELECTED', selected);
context.commit('SET_SELECTED_MAPPED', mapped);
@ -244,15 +238,16 @@ const actions = {
return acc + cur.counts;
}, 0));
},
pushSelected(context, array) {
let selected = JSON.parse(JSON.stringify(context.getters.selected));
selected = remove_selected(selected, array);
array.map(el => { selected.push(el); });
context.dispatch('setSelected', selected);
},
removeSelected(context, array) {
let selected = JSON.parse(JSON.stringify(context.getters.selected));
selected = remove_selected(selected, array);
let mapped = selected.map(el => { return el._rowIndex; });
context.commit('SET_SELECTED', selected);
context.commit('SET_SELECTED_MAPPED', mapped);
context.commit('SET_SELECTED_COUNTS', selected.reduce((acc, cur) => {
return acc + cur.counts;
}, 0));
context.dispatch('setSelected', selected);
},
removeSelectedByOrderId(context, order_id) {
if (typeof order_id !== 'object') {

View File

@ -88,6 +88,18 @@
</div>
<div class="page-list-wrap umar-b10">
<li class="f-l">
<Checkbox
v-model="sortChecked"
v-if="relationObj && relationObj.virtual_company_id"
@on-change="changeSortChecked"
>
<Tooltip content="将更根据最新生成的企业套餐关联关系进行排序">
<span class="fz-12">智能排序</span>
</Tooltip>
</Checkbox>
</li>
<li class="f-r">
<div class="text-exp">
<Row v-if="counts">

View File

@ -148,7 +148,15 @@
</ul>
<Divider>出库卡清单</Divider>
<Table :columns="columns" :data="cards" :loading="loading"></Table>
<Table
:columns="columns"
:data="cards"
:loading="loading"
disabled-hover
stripe
border
size="small"
></Table>
<Row justify="center" class="umar-tb10 ta-c">
<Page

View File

@ -58,6 +58,7 @@ export default {
used: '',
sim: ''
},
sortChecked: false,
filterOrders: [],
showOrders: [],
showCards: [],
@ -319,13 +320,24 @@ export default {
}
this.$store.dispatch("getOrders", params).then(() => {
this.sortOrders('order_at');
if (this.relationObj && this.relationObj.virtual_company_id) {
this.sortChecked = true;
this.sortOrders('updated_at');
} else {
this.sortChecked = false;
this.sortOrders('order_at');
}
this.changePage(1);
this.orderLoading = false;
}).catch(() => {
this.orderLoading = false;
});
},
changeSortChecked(value) {
let action = value ? 'updated_at' : 'order_at';
this.sortOrders(action);
},
changeLimit(limit) {
this.page.limit = limit;
this.changePage(1);
@ -382,14 +394,13 @@ export default {
},
close() {
this.my_show = false;
this.$store.commit('SET_RELATION_OBJ', {});
},
clear() {
this.$store.dispatch('initOrder');
},
clearSelect() {
this.$store.commit('SET_SELECTED', []);
this.$store.commit('SET_SELECTED_MAPPED', []);
this.$store.commit('SET_SELECTED_COUNTS', 0);
this.$store.dispatch('setSelected', []);
},
cannel() {
this.clear();
@ -505,7 +516,9 @@ export default {
params.selected = this.selected.map(el => {
return { order_id: el.order_id, counts: el.counts, sim: el.sim };
});
this.loading = true;
// 编辑
API.update(params, this.orderObj.id).then(res => {
this.loading = false;
@ -559,10 +572,8 @@ export default {
let relations = this.relations;
let sortRules = relations.filter(el => {
if (virtual_company_id !== '' && virtual_package_id !== '') {
if (virtual_company_id == el.virtual_company_id || virtual_package_id == el.virtual_package_id) {
return true;
}
if (virtual_company_id == el.virtual_company_id || virtual_package_id == el.virtual_package_id) {
return true;
}
return false;
@ -574,11 +585,9 @@ export default {
for (let index = 0; index < sortRules.length; index++) {
const element = sortRules[index];
if (element.real_company_id == el.company_id && element.real_package_id == el.package_id) {
display = el[sortBy];
display = element[sortBy];
} else if (element.real_company_id == el.company_id) {
display = 0;
} else if (element.real_package_id == el.package_id) {
display = 0;
}
}
@ -595,6 +604,8 @@ export default {
});
this.$store.commit('SET_REAL_ORDERS', orders);
this.changePage(1);
},
selectAll() {
let order_id = this.filterOrders.filter(el => {

View File

@ -17,7 +17,8 @@ export default {
show(bool) {
this.my_show = bool;
if (bool) {
this.index(1);
this.page.page = 1;
this.index();
}
}
},
@ -77,8 +78,6 @@ export default {
}
this.cards = array;
console.log(this.cards);
}
});
},

View File

@ -53,7 +53,7 @@ export default {
};
},
computed: {
...mapGetters(['selected', 'selectedMapped', 'counts', 'orders', 'order_group', 'relations', 'relationObj'])
...mapGetters(['selected', 'selectedMapped', 'counts', 'orders', 'order_group', 'relations'])
},
watch: {
show(bool) {
@ -237,11 +237,19 @@ export default {
});
},
cards() {
this.relationObj = {
virtual_company_id: this.params.company_id,
virtual_package_id: this.params.package_id
};
this.$emit('select-cards');
if (this.params.company_id) {
this.$store.commit('SET_RELATION_OBJ', {
virtual_company_id: this.params.company_id,
virtual_package_id: this.params.package_id
});
this.$store.dispatch('getRelations').then(() => {
this.$emit('select-cards');
});
} else {
this.$store.commit('SET_RELATION_OBJ', {});
this.$emit('select-cards');
}
},
selectGroup(item, index) {
this.groupIndex = index;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=\favicon.ico><script src=\config.js></script><title></title><link href=/css/chunk-3e2248ef.ced8e72d.css rel=prefetch><link href=/css/chunk-c60e073c.e6078d3a.css rel=prefetch><link href=/js/chunk-00ae0766.3874cd10.js rel=prefetch><link href=/js/chunk-07a274ec.c3ad5dec.js rel=prefetch><link href=/js/chunk-3e2248ef.c312da93.js rel=prefetch><link href=/js/chunk-c60e073c.b8df4549.js rel=prefetch><link href=/css/app.d71a8195.css rel=preload as=style><link href=/css/chunk-vendors.3c3b2e85.css rel=preload as=style><link href=/js/app.0f66b04d.js rel=preload as=script><link href=/js/chunk-vendors.ed6443e8.js rel=preload as=script><link href=/css/chunk-vendors.3c3b2e85.css rel=stylesheet><link href=/css/app.d71a8195.css rel=stylesheet></head><body><noscript><strong>很抱歉如果没有启用JavaScript程序不能正常工作若要继续使用请启用它。</strong></noscript><div id=app></div><script src=/js/chunk-vendors.ed6443e8.js></script><script src=/js/app.0f66b04d.js></script></body></html>
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=\favicon.ico><script src=\config.js></script><title></title><link href=/css/chunk-3e2248ef.ced8e72d.css rel=prefetch><link href=/css/chunk-ba0f074c.34c0cb30.css rel=prefetch><link href=/js/chunk-00ae0766.3874cd10.js rel=prefetch><link href=/js/chunk-07a274ec.c3ad5dec.js rel=prefetch><link href=/js/chunk-3e2248ef.c312da93.js rel=prefetch><link href=/js/chunk-ba0f074c.056f2663.js rel=prefetch><link href=/css/app.d71a8195.css rel=preload as=style><link href=/css/chunk-vendors.3c3b2e85.css rel=preload as=style><link href=/js/app.51dd20b4.js rel=preload as=script><link href=/js/chunk-vendors.ed6443e8.js rel=preload as=script><link href=/css/chunk-vendors.3c3b2e85.css rel=stylesheet><link href=/css/app.d71a8195.css rel=stylesheet></head><body><noscript><strong>很抱歉如果没有启用JavaScript程序不能正常工作若要继续使用请启用它。</strong></noscript><div id=app></div><script src=/js/chunk-vendors.ed6443e8.js></script><script src=/js/app.51dd20b4.js></script></body></html>