12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import axios from 'axios';
- import _ from 'lodash';
-
- export default {
- namespaced: true,
- state: {
- list: [],
- fields: [],
- filter: {
- by: undefined,
- value: undefined,
- },
- },
- mutations: {
- updateSearch(state, data) {
- state.list = [];
- state.fields = [];
- state.list = data;
- data.forEach((item) => {
- state.fields.push(item.property);
- });
- state.fields = state.fields.filter((x, i, a) => a.indexOf(x) === i);
- },
- onClearFilter(state) {
- state.filter = {
- by: undefined,
- value: undefined,
- };
- },
- },
- getters: {
- filterList: (state) => {
- let lst = state.list;
- const { filter } = state;
- if (filter) {
- if (filter.by) {
- lst = _.filter(lst, x => x.property === filter.by);
- if (filter.value) {
- lst = _.filter(lst, x => x.value.toUpperCase().includes(filter.value.toUpperCase()));
- }
- } else if (filter.value) {
- lst = _.filter(
- lst,
- x => x.value.toUpperCase().includes(filter.value.toUpperCase())
- || x.userName.toUpperCase().includes(filter.value.toUpperCase())
- || x.type.toUpperCase().includes(filter.value.toUpperCase()),
- );
- }
- }
- return lst;
- },
- },
- actions: {
- getPropertySearchLogs({ commit }) {
- axios
- .get('/api/searchLog')
- .then(result => commit('updateSearch', result.data))
- .catch(console.error);
- },
- clearFilter({ commit }) {
- commit('onClearFilter');
- },
- },
- };
|