1、新增结算模块
2、调整业务模块 3、调整客商模块
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<section class="exception-disposal-page__search">
|
||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
||||
<div class="exception-disposal-page__search-grid">
|
||||
<el-form-item v-for="field in searchFields" :key="field.prop" :label="field.label">
|
||||
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
||||
<el-date-picker
|
||||
v-if="field.type === 'daterange'"
|
||||
v-model="query[field.prop]"
|
||||
@@ -41,6 +41,9 @@
|
||||
<div class="exception-disposal-page__search-actions">
|
||||
<el-button type="primary" @click="handleSearch">查询</el-button>
|
||||
<el-button @click="handleReset">重置</el-button>
|
||||
<el-button text :icon="searchExpanded ? ArrowUp : ArrowDown" @click="toggleSearch">
|
||||
{{ searchExpanded ? '收起' : '展开' }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
@@ -241,7 +244,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Rank, Refresh, Setting } from '@element-plus/icons-vue';
|
||||
import { ArrowDown, ArrowUp, Rank, Refresh, Setting } from '@element-plus/icons-vue';
|
||||
import { mapGetters } from 'vuex';
|
||||
import {
|
||||
detailFields,
|
||||
@@ -259,6 +262,8 @@ export default {
|
||||
Rank,
|
||||
Refresh,
|
||||
Setting,
|
||||
ArrowDown,
|
||||
ArrowUp,
|
||||
searchFields,
|
||||
tableColumns,
|
||||
detailFields,
|
||||
@@ -267,6 +272,7 @@ export default {
|
||||
query: {},
|
||||
rows: [],
|
||||
selection: [],
|
||||
searchExpanded: false,
|
||||
page: { current: 1, size: 10, total: 0 },
|
||||
dialog: { visible: false, mode: 'follow', loading: false, submitting: false },
|
||||
detail: {},
|
||||
@@ -281,6 +287,9 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['permission']),
|
||||
visibleSearchFields() {
|
||||
return this.searchExpanded ? this.searchFields : this.searchFields.slice(0, 4);
|
||||
},
|
||||
photoUrls() {
|
||||
return this.parsePhotos(this.detail.scenePhotos);
|
||||
},
|
||||
@@ -317,6 +326,9 @@ export default {
|
||||
this.query = {};
|
||||
this.handleSearch();
|
||||
},
|
||||
toggleSearch() {
|
||||
this.searchExpanded = !this.searchExpanded;
|
||||
},
|
||||
handleSizeChange() {
|
||||
this.page.current = 1;
|
||||
this.loadTable();
|
||||
@@ -426,12 +438,17 @@ export default {
|
||||
padding: 12px 12px 4px;
|
||||
background: #fff;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
||||
|
||||
:deep(.el-form-item__label) {
|
||||
min-width: 160px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.exception-disposal-page__search-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, minmax(260px, 1fr));
|
||||
gap: 8px 36px;
|
||||
grid-template-columns: repeat(4, minmax(220px, 1fr));
|
||||
gap: 8px 24px;
|
||||
|
||||
:deep(.el-form-item) {
|
||||
margin-bottom: 8px;
|
||||
@@ -450,6 +467,7 @@ export default {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.exception-disposal-page__table-panel {
|
||||
|
||||
Reference in New Issue
Block a user