Merge remote-tracking branch 'origin/master' into feature/bfi-api-rate
# Conflicts: # src/views/payment/receipt-flow.vue
This commit is contained in:
@@ -2991,12 +2991,51 @@
|
||||
<el-table :data="waybillRouteChangeRecords" border>
|
||||
<el-table-column prop="changeTime" label="变更时间" min-width="170" />
|
||||
<el-table-column prop="changeUser" label="变更人" min-width="120" />
|
||||
<el-table-column prop="content" label="变更内容" min-width="360">
|
||||
<el-table-column
|
||||
prop="content"
|
||||
label="变更内容"
|
||||
min-width="360"
|
||||
:show-overflow-tooltip="false"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<div
|
||||
class="business-crud-page__route-change-record-content"
|
||||
v-text="formatRouteChangeContent(row.content)"
|
||||
/>
|
||||
<div class="business-crud-page__route-change-record-content">
|
||||
<div
|
||||
v-for="(group, groupIndex) in parseRouteChangeContent(row.content)"
|
||||
:key="groupIndex"
|
||||
class="business-crud-page__route-change-group"
|
||||
>
|
||||
<div v-if="group.title" class="business-crud-page__route-change-group-title">
|
||||
{{ group.title }}
|
||||
</div>
|
||||
<div v-if="group.text" class="business-crud-page__route-change-group-text">
|
||||
{{ group.text }}
|
||||
</div>
|
||||
<div
|
||||
v-for="(field, fieldIndex) in group.fields"
|
||||
:key="fieldIndex"
|
||||
class="business-crud-page__route-change-field"
|
||||
>
|
||||
<span class="business-crud-page__route-change-field-label">
|
||||
{{ field.label }}
|
||||
</span>
|
||||
<template v-if="field.changed">
|
||||
<span class="business-crud-page__route-change-before">
|
||||
{{ field.before }}
|
||||
</span>
|
||||
<span class="business-crud-page__route-change-arrow">→</span>
|
||||
<span class="business-crud-page__route-change-after">
|
||||
{{ field.after }}
|
||||
</span>
|
||||
</template>
|
||||
<span v-else class="business-crud-page__route-change-single">
|
||||
{{ field.single }}
|
||||
<span v-if="field.unchanged" class="business-crud-page__route-change-flag">
|
||||
未变更
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="200" show-overflow-tooltip />
|
||||
@@ -5283,7 +5322,7 @@ import { formatContractOptionLabel } from '@/utils/contract';
|
||||
import { openImportDialog } from '@/utils/import-excel';
|
||||
import { normalizeMapSearchResults, searchAmapPlaceText } from '@/utils/map-search';
|
||||
import { loadMeasurementUnitOptions } from '@/utils/measurement-unit';
|
||||
import { formatRouteChangeContent } from '@/utils/route-change';
|
||||
import { parseRouteChangeContent } from '@/utils/route-change';
|
||||
import { applyTableMenuWidth } from '@/utils/table-menu';
|
||||
import { downloadFileByUrl, downloadXls } from '@/utils/util';
|
||||
import { isMobile } from '@/utils/validate';
|
||||
@@ -6630,7 +6669,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
formatContractOptionLabel,
|
||||
formatRouteChangeContent,
|
||||
parseRouteChangeContent,
|
||||
initStandaloneFormPage() {
|
||||
if (!this.isStandaloneFormPage) return;
|
||||
const mode = this.$route.query.mode === 'edit' ? 'edit' : 'add';
|
||||
@@ -15900,10 +15939,65 @@ export default {
|
||||
}
|
||||
|
||||
&__route-change-record-content {
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
line-height: 22px;
|
||||
white-space: normal;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&__route-change-group {
|
||||
padding-left: 8px;
|
||||
border-left: 2px solid #409eff;
|
||||
}
|
||||
|
||||
&__route-change-group-title {
|
||||
margin-bottom: 4px;
|
||||
color: #409eff;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
&__route-change-group-text {
|
||||
color: #606266;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
&__route-change-field {
|
||||
display: grid;
|
||||
grid-template-columns: 54px minmax(0, 1fr);
|
||||
column-gap: 8px;
|
||||
row-gap: 2px;
|
||||
}
|
||||
|
||||
&__route-change-field-label {
|
||||
color: #909399;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
&__route-change-before,
|
||||
&__route-change-single {
|
||||
color: #606266;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
&__route-change-arrow {
|
||||
color: #c0c4cc;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
&__route-change-after {
|
||||
color: #409eff;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
&__route-change-flag {
|
||||
margin-left: 6px;
|
||||
color: #c0c4cc;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
|
||||
@@ -3020,12 +3020,57 @@
|
||||
<el-table :data="waybillRouteChangeRecords" border>
|
||||
<el-table-column prop="changeTime" label="变更时间" min-width="170" />
|
||||
<el-table-column prop="changeUser" label="变更人" min-width="120" />
|
||||
<el-table-column prop="content" label="变更内容" min-width="360">
|
||||
<el-table-column
|
||||
prop="content"
|
||||
label="变更内容"
|
||||
min-width="360"
|
||||
:show-overflow-tooltip="false"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<div
|
||||
class="waybill-manage-page__route-change-record-content"
|
||||
v-text="formatRouteChangeContent(row.content)"
|
||||
/>
|
||||
<div class="waybill-manage-page__route-change-record-content">
|
||||
<div
|
||||
v-for="(group, groupIndex) in parseRouteChangeContent(row.content)"
|
||||
:key="groupIndex"
|
||||
class="waybill-manage-page__route-change-group"
|
||||
>
|
||||
<div
|
||||
v-if="group.title"
|
||||
class="waybill-manage-page__route-change-group-title"
|
||||
>
|
||||
{{ group.title }}
|
||||
</div>
|
||||
<div v-if="group.text" class="waybill-manage-page__route-change-group-text">
|
||||
{{ group.text }}
|
||||
</div>
|
||||
<div
|
||||
v-for="(field, fieldIndex) in group.fields"
|
||||
:key="fieldIndex"
|
||||
class="waybill-manage-page__route-change-field"
|
||||
>
|
||||
<span class="waybill-manage-page__route-change-field-label">
|
||||
{{ field.label }}
|
||||
</span>
|
||||
<template v-if="field.changed">
|
||||
<span class="waybill-manage-page__route-change-before">
|
||||
{{ field.before }}
|
||||
</span>
|
||||
<span class="waybill-manage-page__route-change-arrow">→</span>
|
||||
<span class="waybill-manage-page__route-change-after">
|
||||
{{ field.after }}
|
||||
</span>
|
||||
</template>
|
||||
<span v-else class="waybill-manage-page__route-change-single">
|
||||
{{ field.single }}
|
||||
<span
|
||||
v-if="field.unchanged"
|
||||
class="waybill-manage-page__route-change-flag"
|
||||
>
|
||||
未变更
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="200" show-overflow-tooltip />
|
||||
@@ -3667,7 +3712,7 @@ import { wgs84ToGcj02 } from '@/utils/coordinate';
|
||||
import { openImportDialog } from '@/utils/import-excel';
|
||||
import { normalizeMapSearchResults, searchAmapPlaceText } from '@/utils/map-search';
|
||||
import { loadMeasurementUnitOptions } from '@/utils/measurement-unit';
|
||||
import { formatRouteChangeContent } from '@/utils/route-change';
|
||||
import { parseRouteChangeContent } from '@/utils/route-change';
|
||||
import { applyTableMenuWidth } from '@/utils/table-menu';
|
||||
import { downloadFileByUrl, downloadXls } from '@/utils/util';
|
||||
import { isMobile } from '@/utils/validate';
|
||||
@@ -4755,7 +4800,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
formatContractOptionLabel,
|
||||
formatRouteChangeContent,
|
||||
parseRouteChangeContent,
|
||||
// 页面被 keep-alive 缓存/卸载时调用,关闭本页所有 append-to-body 的弹窗,
|
||||
// 避免 Teleport 出去的 DOM 残留在 body 上盖住后续页面(详见 data 里的说明)。
|
||||
closeInnerDialogs() {
|
||||
@@ -11846,10 +11891,65 @@ export default {
|
||||
}
|
||||
|
||||
&__route-change-record-content {
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
line-height: 22px;
|
||||
white-space: normal;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&__route-change-group {
|
||||
padding-left: 8px;
|
||||
border-left: 2px solid #409eff;
|
||||
}
|
||||
|
||||
&__route-change-group-title {
|
||||
margin-bottom: 4px;
|
||||
color: #409eff;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
&__route-change-group-text {
|
||||
color: #606266;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
&__route-change-field {
|
||||
display: grid;
|
||||
grid-template-columns: 54px minmax(0, 1fr);
|
||||
column-gap: 8px;
|
||||
row-gap: 2px;
|
||||
}
|
||||
|
||||
&__route-change-field-label {
|
||||
color: #909399;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
&__route-change-before,
|
||||
&__route-change-single {
|
||||
color: #606266;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
&__route-change-arrow {
|
||||
color: #c0c4cc;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
&__route-change-after {
|
||||
color: #409eff;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
&__route-change-flag {
|
||||
margin-left: 6px;
|
||||
color: #c0c4cc;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&__common-address-toolbar {
|
||||
|
||||
@@ -1683,9 +1683,56 @@
|
||||
><el-table-column prop="changeTime" label="变更时间" min-width="170" /><el-table-column
|
||||
prop="changeUser"
|
||||
label="变更人"
|
||||
min-width="120" /><el-table-column prop="content" label="变更内容" min-width="360"
|
||||
min-width="120" /><el-table-column
|
||||
prop="content"
|
||||
label="变更内容"
|
||||
min-width="360"
|
||||
:show-overflow-tooltip="false"
|
||||
><template #default="{ row }"
|
||||
><div class="loading-route-change-dialog__record-content">{{ formatRouteChangeContent(row.content) }}</div></template
|
||||
><div class="loading-route-change-dialog__record-content">
|
||||
<div
|
||||
v-for="(group, groupIndex) in parseRouteChangeContent(row.content)"
|
||||
:key="groupIndex"
|
||||
class="loading-route-change-dialog__change-group"
|
||||
>
|
||||
<div
|
||||
v-if="group.title"
|
||||
class="loading-route-change-dialog__change-group-title"
|
||||
>
|
||||
{{ group.title }}
|
||||
</div>
|
||||
<div v-if="group.text" class="loading-route-change-dialog__change-group-text">
|
||||
{{ group.text }}
|
||||
</div>
|
||||
<div
|
||||
v-for="(field, fieldIndex) in group.fields"
|
||||
:key="fieldIndex"
|
||||
class="loading-route-change-dialog__change-field"
|
||||
>
|
||||
<span class="loading-route-change-dialog__change-field-label">
|
||||
{{ field.label }}
|
||||
</span>
|
||||
<template v-if="field.changed">
|
||||
<span class="loading-route-change-dialog__change-before">
|
||||
{{ field.before }}
|
||||
</span>
|
||||
<span class="loading-route-change-dialog__change-arrow">→</span>
|
||||
<span class="loading-route-change-dialog__change-after">
|
||||
{{ field.after }}
|
||||
</span>
|
||||
</template>
|
||||
<span v-else class="loading-route-change-dialog__change-single">
|
||||
{{ field.single }}
|
||||
<span
|
||||
v-if="field.unchanged"
|
||||
class="loading-route-change-dialog__change-flag"
|
||||
>
|
||||
未变更
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div></template
|
||||
></el-table-column
|
||||
><el-table-column
|
||||
prop="remark"
|
||||
@@ -1798,7 +1845,7 @@ import TableHeaderTools from '@/components/table-header-tools/main.vue';
|
||||
import dayjs from 'dayjs';
|
||||
import { isMobile } from '@/utils/validate';
|
||||
import { normalizeMapSearchResults, searchAmapPlaceText } from '@/utils/map-search';
|
||||
import { formatRouteChangeContent } from '@/utils/route-change';
|
||||
import { parseRouteChangeContent } from '@/utils/route-change';
|
||||
|
||||
const defaultTransportType = '';
|
||||
const defaultCandidateTransportType = '';
|
||||
@@ -2277,7 +2324,7 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
formatRouteChangeContent,
|
||||
parseRouteChangeContent,
|
||||
formatTaskCarrierContractLabel(item = {}) {
|
||||
const carrierName = item.carrierName || item.partyB || '';
|
||||
const contractLabel = formatContractOptionLabel(item);
|
||||
@@ -5129,10 +5176,56 @@ export default {
|
||||
gap: 4px;
|
||||
}
|
||||
.loading-route-change-dialog__record-content {
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
line-height: 22px;
|
||||
white-space: normal;
|
||||
text-align: left;
|
||||
}
|
||||
.loading-route-change-dialog__change-group {
|
||||
padding-left: 8px;
|
||||
border-left: 2px solid #409eff;
|
||||
}
|
||||
.loading-route-change-dialog__change-group-title {
|
||||
margin-bottom: 4px;
|
||||
color: #409eff;
|
||||
font-weight: 500;
|
||||
}
|
||||
.loading-route-change-dialog__change-group-text {
|
||||
color: #606266;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.loading-route-change-dialog__change-field {
|
||||
display: grid;
|
||||
grid-template-columns: 54px minmax(0, 1fr);
|
||||
column-gap: 8px;
|
||||
row-gap: 2px;
|
||||
}
|
||||
.loading-route-change-dialog__change-field-label {
|
||||
color: #909399;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.loading-route-change-dialog__change-before,
|
||||
.loading-route-change-dialog__change-single {
|
||||
color: #606266;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.loading-route-change-dialog__change-arrow {
|
||||
color: #c0c4cc;
|
||||
text-align: right;
|
||||
}
|
||||
.loading-route-change-dialog__change-after {
|
||||
color: #409eff;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.loading-route-change-dialog__change-flag {
|
||||
margin-left: 6px;
|
||||
color: #c0c4cc;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
.loading-route-change-map-dialog {
|
||||
|
||||
@@ -52,12 +52,13 @@
|
||||
<el-icon><Delete /></el-icon>
|
||||
<span>重置</span>
|
||||
</el-button>
|
||||
<el-tooltip :content="expanded ? '折叠' : '展开'" placement="top">
|
||||
<el-button text @click="expanded = !expanded">
|
||||
<el-icon><component :is="expanded ? ArrowUp : ArrowDown" /></el-icon>
|
||||
<span>{{ expanded ? '折叠' : '展开' }}</span>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-if="showSearchToggle"
|
||||
text
|
||||
:icon="expanded ? ArrowUp : ArrowDown"
|
||||
@click="expanded = !expanded"
|
||||
>{{ expanded ? '收起' : '展开' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</section>
|
||||
@@ -81,10 +82,18 @@ export default {
|
||||
Delete,
|
||||
Search,
|
||||
expanded: false,
|
||||
// 与 avue-crud 一致:搜索项数量超过 searchIndex(默认一行 4 项)时才显示“展开/收起”
|
||||
searchIndex: 4,
|
||||
searchItemCount: 6,
|
||||
billTypeOptions,
|
||||
maturityStatusOptions,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
showSearchToggle() {
|
||||
return this.searchItemCount > this.searchIndex;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@@ -43,11 +43,13 @@
|
||||
<div class="bill-payment-search__actions">
|
||||
<el-button type="primary" :loading="loading" @click="$emit('search')">查询</el-button>
|
||||
<el-button @click="$emit('reset')">重置</el-button>
|
||||
<el-tooltip :content="expanded ? '折叠' : '展开'" placement="top">
|
||||
<el-button text @click="expanded = !expanded">
|
||||
<el-icon><component :is="expanded ? ArrowUp : ArrowDown" /></el-icon>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-if="showSearchToggle"
|
||||
text
|
||||
:icon="expanded ? ArrowUp : ArrowDown"
|
||||
@click="expanded = !expanded"
|
||||
>{{ expanded ? '收起' : '展开' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</section>
|
||||
@@ -67,7 +69,20 @@ export default {
|
||||
},
|
||||
emits: ['search', 'reset'],
|
||||
data() {
|
||||
return { ArrowDown, ArrowUp, expanded: false, approvalStatusOptions };
|
||||
return {
|
||||
ArrowDown,
|
||||
ArrowUp,
|
||||
expanded: false,
|
||||
// 与 avue-crud 一致:搜索项数量超过 searchIndex(默认一行 4 项)时才显示“展开/收起”
|
||||
searchIndex: 4,
|
||||
searchItemCount: 4,
|
||||
approvalStatusOptions,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
showSearchToggle() {
|
||||
return this.searchItemCount > this.searchIndex;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.loadOrganizationOptions();
|
||||
|
||||
@@ -45,11 +45,13 @@
|
||||
<div class="invoice-page__search-actions">
|
||||
<el-button type="primary" @click="handleSearch">查询</el-button>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
<el-tooltip :content="searchExpanded ? '折叠' : '展开'" placement="top">
|
||||
<el-button text @click="searchExpanded = !searchExpanded">
|
||||
<el-icon><component :is="searchExpanded ? ArrowUp : ArrowDown" /></el-icon>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-if="showSearchToggle"
|
||||
text
|
||||
:icon="searchExpanded ? ArrowUp : ArrowDown"
|
||||
@click="searchExpanded = !searchExpanded"
|
||||
>{{ searchExpanded ? '收起' : '展开' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</section>
|
||||
@@ -256,6 +258,9 @@ export default {
|
||||
ArrowUp,
|
||||
query: emptyQuery(),
|
||||
searchExpanded: false,
|
||||
// 与 avue-crud 一致:搜索项数量超过 searchIndex(默认一行 4 项)时才显示“展开/收起”
|
||||
searchIndex: 4,
|
||||
searchItemCount: 5,
|
||||
searchVisible: true,
|
||||
tableSize: 'default',
|
||||
approvalStatusOptions: api.approvalStatusOptions,
|
||||
@@ -275,6 +280,9 @@ export default {
|
||||
visibleColumns() {
|
||||
return this.columns.filter(column => this.visibleColumnKeys.includes(column.prop));
|
||||
},
|
||||
showSearchToggle() {
|
||||
return this.searchItemCount > this.searchIndex;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.loadOrganizationOptions();
|
||||
|
||||
@@ -54,11 +54,13 @@
|
||||
<div class="receipt-page__search-actions">
|
||||
<el-button type="primary" @click="handleSearch">查询</el-button>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
<el-tooltip :content="searchExpanded ? '折叠' : '展开'" placement="top">
|
||||
<el-button text @click="searchExpanded = !searchExpanded">
|
||||
<el-icon><component :is="searchExpanded ? ArrowUp : ArrowDown" /></el-icon>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-if="showSearchToggle"
|
||||
text
|
||||
:icon="searchExpanded ? ArrowUp : ArrowDown"
|
||||
@click="searchExpanded = !searchExpanded"
|
||||
>{{ searchExpanded ? '收起' : '展开' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</section>
|
||||
@@ -241,6 +243,9 @@ export default {
|
||||
ArrowUp,
|
||||
query: emptyQuery(),
|
||||
searchExpanded: false,
|
||||
// 与 avue-crud 一致:搜索项数量超过 searchIndex(默认一行 4 项)时才显示“展开/收起”
|
||||
searchIndex: 4,
|
||||
searchItemCount: 6,
|
||||
searchVisible: true,
|
||||
tableSize: 'default',
|
||||
approvalStatusOptions: api.approvalStatusOptions,
|
||||
@@ -260,6 +265,9 @@ export default {
|
||||
visibleColumns() {
|
||||
return this.columns.filter(column => this.visibleColumnKeys.includes(column.prop));
|
||||
},
|
||||
showSearchToggle() {
|
||||
return this.searchItemCount > this.searchIndex;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.loadOrganizationOptions();
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
collapse-tags-tooltip
|
||||
:max-collapse-tags="1"
|
||||
:disabled="readonly"
|
||||
placeholder="请选择预结算/正式结算单"
|
||||
placeholder="请输入"
|
||||
class="payment-form-page__settlement-select"
|
||||
@visible-change="handleSettlementSelectVisible"
|
||||
>
|
||||
@@ -448,7 +448,7 @@
|
||||
></el-table
|
||||
>
|
||||
<div v-else>
|
||||
<div class="payment-form-page__reference-search">
|
||||
<el-card class="payment-form-page__reference-search">
|
||||
<el-form
|
||||
:model="referenceQuery"
|
||||
label-position="right"
|
||||
@@ -486,7 +486,7 @@
|
||||
<el-button @click="resetReferenceSearch">清空</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-tabs v-model="referenceTab" @tab-change="handleReferenceTabChange">
|
||||
<el-tab-pane v-if="canSelectFormalSettlement" label="正式结算单" name="formal">
|
||||
<el-table
|
||||
@@ -1075,7 +1075,7 @@ export default {
|
||||
!this.form.preSettlementId &&
|
||||
!this.form.preSettlementIds?.length
|
||||
) {
|
||||
callback(new Error('请选择结算单'));
|
||||
callback(new Error('请输入'));
|
||||
return;
|
||||
}
|
||||
callback();
|
||||
|
||||
@@ -80,11 +80,13 @@
|
||||
<div class="claim-record-page__search-actions">
|
||||
<el-button type="primary" @click="handleSearch">查询</el-button>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
<el-tooltip :content="searchExpanded ? '折叠' : '展开'" placement="top">
|
||||
<el-button text @click="searchExpanded = !searchExpanded">
|
||||
<el-icon><component :is="searchExpanded ? ArrowUp : ArrowDown" /></el-icon>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-if="showSearchToggle"
|
||||
text
|
||||
:icon="searchExpanded ? ArrowUp : ArrowDown"
|
||||
@click="searchExpanded = !searchExpanded"
|
||||
>{{ searchExpanded ? '收起' : '展开' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</section-card>
|
||||
@@ -191,6 +193,9 @@ export default {
|
||||
ArrowUp,
|
||||
query: emptyQuery(),
|
||||
searchExpanded: false,
|
||||
// 与 avue-crud 一致:搜索项数量超过 searchIndex(默认一行 4 项)时才显示“展开/收起”
|
||||
searchIndex: 4,
|
||||
searchItemCount: 11,
|
||||
searchVisible: true,
|
||||
tableSize: 'default',
|
||||
claimStatusOptions: api.claimStatusOptions,
|
||||
@@ -209,6 +214,9 @@ export default {
|
||||
visibleColumns() {
|
||||
return this.columns.filter(column => this.visibleColumnKeys.includes(column.prop));
|
||||
},
|
||||
showSearchToggle() {
|
||||
return this.searchItemCount > this.searchIndex;
|
||||
},
|
||||
isAdmin() {
|
||||
return isAdministrator(this.userInfo);
|
||||
},
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
<el-form-item label="对方户名">
|
||||
<el-input v-model="query.counterpartyName" clearable placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="对方开户行">
|
||||
<el-input v-model="query.counterpartyBank" clearable placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="对方账号">
|
||||
<el-input v-model="query.counterpartyAccount" clearable placeholder="请输入" />
|
||||
</el-form-item>
|
||||
@@ -86,11 +89,13 @@
|
||||
<div class="receipt-flow-page__search-actions">
|
||||
<el-button type="primary" @click="handleSearch">查询</el-button>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
<el-tooltip :content="searchExpanded ? '折叠' : '展开'" placement="top">
|
||||
<el-button text @click="searchExpanded = !searchExpanded">
|
||||
<el-icon><component :is="searchExpanded ? ArrowUp : ArrowDown" /></el-icon>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-if="showSearchToggle"
|
||||
text
|
||||
:icon="searchExpanded ? ArrowUp : ArrowDown"
|
||||
@click="searchExpanded = !searchExpanded"
|
||||
>{{ searchExpanded ? '收起' : '展开' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</section>
|
||||
@@ -321,6 +326,9 @@ export default {
|
||||
syncing: false,
|
||||
pushingId: null,
|
||||
searchExpanded: false,
|
||||
// 与 avue-crud 一致:搜索项数量超过 searchIndex(默认一行 4 项)时才显示“展开/收起”
|
||||
searchIndex: 4,
|
||||
searchItemCount: 7,
|
||||
page: { current: 1, size: 10, total: 0 },
|
||||
detailDialog: { visible: false, loading: false, data: {}, claimRecords: [] },
|
||||
};
|
||||
@@ -330,6 +338,9 @@ export default {
|
||||
visibleColumns() {
|
||||
return this.columns.filter(column => this.visibleColumnKeys.includes(column.prop));
|
||||
},
|
||||
showSearchToggle() {
|
||||
return this.searchItemCount > this.searchIndex;
|
||||
},
|
||||
isAdmin() {
|
||||
return isAdministrator(this.userInfo);
|
||||
},
|
||||
|
||||
@@ -675,24 +675,27 @@
|
||||
</div>
|
||||
|
||||
<el-dialog v-model="candidate.visible" title="选择预结算单" width="88%" append-to-body>
|
||||
<el-form
|
||||
:model="candidate.query"
|
||||
inline
|
||||
label-position="right"
|
||||
label-width="88px"
|
||||
class="formal-editor__candidate-search"
|
||||
>
|
||||
<el-form-item label="预结算单号"
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="candidate.query"
|
||||
inline
|
||||
label-position="right"
|
||||
label-width="88px"
|
||||
class="formal-editor__candidate-search"
|
||||
>
|
||||
<el-form-item label="预结算单号"
|
||||
><el-input v-model="candidate.query.preSettlementNo" clearable
|
||||
/></el-form-item>
|
||||
<el-form-item label="合同编号"
|
||||
/></el-form-item>
|
||||
<el-form-item label="合同编号"
|
||||
><el-input v-model="candidate.query.contractNo" clearable
|
||||
/></el-form-item>
|
||||
<el-form-item
|
||||
/></el-form-item>
|
||||
<el-form-item
|
||||
><el-button @click="resetCandidates">重置</el-button
|
||||
><el-button type="primary" @click="loadCandidates">查询</el-button></el-form-item
|
||||
>
|
||||
</el-form>
|
||||
>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-table
|
||||
ref="candidateTable"
|
||||
v-loading="candidate.loading"
|
||||
|
||||
Reference in New Issue
Block a user