Merge remote-tracking branch 'websoft/master'
This commit is contained in:
@@ -194,7 +194,7 @@
|
||||
border-radius: 0 0 var(--el-dialog-border-radius, 4px);
|
||||
|
||||
.el-button + .el-button {
|
||||
margin-left: 8px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2076,7 +2076,7 @@
|
||||
v-if="isStandaloneFormPage && !showTransportPlanCreateActions"
|
||||
@click="closeCrudDialog"
|
||||
>
|
||||
关闭
|
||||
取消
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="config.enableDraftSave && !dialogReadonly"
|
||||
@@ -2092,7 +2092,7 @@
|
||||
<template #menu-form>
|
||||
<div v-if="showTransportPlanCreateActions" class="business-crud-page__create-actions">
|
||||
<el-button :disabled="Boolean(transportPlanCreateActionLoading)" @click="closeCrudDialog">
|
||||
关闭
|
||||
取消
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@@ -3208,7 +3208,7 @@
|
||||
@click="submitTransportPlanImport"
|
||||
>提交</el-button
|
||||
>
|
||||
<el-button @click="transportPlanImportBox = false">返回</el-button>
|
||||
<el-button @click="transportPlanImportBox = false">取消</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -15320,7 +15320,6 @@ export default {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
min-height: 64px;
|
||||
box-sizing: border-box;
|
||||
padding: 12px 24px;
|
||||
@@ -15352,6 +15351,12 @@ export default {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
/* 独立表单页 footer 的 Avue 提交/清空按钮自带图标(el-icon-check / el-icon-delete),
|
||||
Avue 源码用 `|| 'el-icon-xxx'` 兜底,无法通过 option 配置去除,统一用 CSS 隐藏只保留文字 */
|
||||
:global(.business-crud-form-page-dialog .avue-form__menu .el-icon) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:global(.contract-manage-form-dialog) {
|
||||
width: 100% !important;
|
||||
margin: 0 !important;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div v-loading="loading" class="master-detail">
|
||||
<section v-if="master" class="detail-overview">
|
||||
<div class="detail-heading"><div><h2>多联总单详情 <span>|</span> {{ master.masterNo }}</h2><el-tag :type="statusType(master.businessStatus)" class="status-text">{{ statusName(master.businessStatus) }}</el-tag><el-tag v-if="transportFlowLabel" type="info" class="transport-flow-tag">{{ transportFlowLabel }}</el-tag></div><el-button @click="$emit('back')">返回</el-button></div>
|
||||
<div class="detail-heading"><div><h2>多联总单详情 <span>|</span> {{ master.masterNo }}</h2><el-tag :type="statusType(master.businessStatus)" class="status-text">{{ statusName(master.businessStatus) }}</el-tag><el-tag v-if="transportFlowLabel" type="info" class="transport-flow-tag">{{ transportFlowLabel }}</el-tag></div><el-button @click="$emit('back')">取消</el-button></div>
|
||||
<dl class="detail-meta"><div><dt>客户</dt><dd>{{ master.customerName || '-' }}</dd></div><div><dt>合同编号</dt><dd>{{ master.contractNo || '-' }}</dd></div><div><dt>项目</dt><dd>{{ master.projectName || '-' }}</dd></div><div class="detail-meta__attachments"><dt>附件</dt><dd><template v-if="attachments.length"><el-link v-for="file in attachments" :key="file.url || file.link || file.name || file.originalName" type="primary" @click="previewAttachment(file)">{{ attachmentName(file) }}</el-link></template><span v-else>-</span></dd></div></dl>
|
||||
<div class="route-map"><template v-for="(route, index) in segments" :key="route.segmentNo"><div class="route-map__node"><span :class="['route-badge', index ? 'middle' : 'start']">{{ index ? '经' : '起' }}</span><strong>{{ route.departureName || '-' }}</strong><small>{{ route.departureAddress || '-' }}</small><small class="route-map__progress">{{ index ? `已到达 ${quantity(segments[index - 1].arrivedQuantity)}/${quantity(master.totalQuantity)}` : `已调度 ${quantity(route.dispatchedQuantity)}/${quantity(master.totalQuantity)}` }}</small><small v-if="index" class="route-map__progress">已调度 {{ quantity(route.dispatchedQuantity) }}/{{ quantity(master.totalQuantity) }}</small></div><div class="route-map__line"></div><div v-if="index === segments.length - 1" class="route-map__node"><span class="route-badge end">终</span><strong>{{ route.arrivalName || '-' }}</strong><small>{{ route.arrivalAddress || '-' }}</small><small class="route-map__progress">已到达 {{ quantity(route.arrivedQuantity) }}/{{ quantity(master.totalQuantity) }}</small></div></template></div>
|
||||
</section>
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
<strong>待提交 <em>{{ pending.length }}</em> 条 <span class="pending-summary-text">({{ pendingSegmentSummary }})</span></strong>
|
||||
<el-link type="primary" @click="pendingExpanded = !pendingExpanded">{{ pendingExpanded ? '收起待调度列表' : '展开待调度列表' }}</el-link>
|
||||
</div>
|
||||
<div class="pending-actions"><el-button @click="$emit('back')">返回</el-button><el-button type="primary" :loading="submitting" @click="submit">确认调度</el-button></div>
|
||||
<div class="pending-actions"><el-button @click="$emit('back')">取消</el-button><el-button type="primary" :loading="submitting" @click="submit">确认调度</el-button></div>
|
||||
</div>
|
||||
<div v-show="pendingExpanded" class="pending-list">
|
||||
<template v-for="(items, segmentNo) in pendingGroups" :key="segmentNo">
|
||||
@@ -712,7 +712,7 @@ export default {
|
||||
.freight-form { :deep(.freight-unit-select) { width: 92px; flex: 0 0 92px; min-width: 0; } }
|
||||
.carrier-type-form { margin-top: 16px; }
|
||||
.carrier-form { padding-top: 8px; }
|
||||
.segment-actions { display: flex; justify-content: flex-end; gap: 12px; padding-top: 4px; }
|
||||
.segment-actions { display: flex; justify-content: flex-end; padding-top: 4px; }
|
||||
.dispatch-bottom { position: fixed; z-index: 10; bottom: 0; left: $sidebar_width; width: calc(100% - #{$sidebar_width}); border-top: 1px solid #eff1f7; background: #fff; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04); }
|
||||
:global(.avue--collapse) .dispatch-bottom { left: $sidebar_collapse; width: calc(100% - #{$sidebar_collapse}); }
|
||||
:global(.avue-layout--horizontal) .dispatch-bottom { left: 0; width: 100%; }
|
||||
@@ -721,7 +721,7 @@ export default {
|
||||
.pending-summary, .pending-actions { display: flex; align-items: center; }
|
||||
.pending-summary { gap: 16px; }
|
||||
.pending-summary-text { color: #606266; font-weight: 400; }
|
||||
.pending-actions { gap: 12px; margin-left: auto; }
|
||||
.pending-actions { margin-left: auto; }
|
||||
.pending-list { max-height: min(420px, calc(100vh - 130px)); padding: 0 32px 16px; overflow: auto; h3 { margin: 14px 0 10px; font-size: 14px; } }
|
||||
.table-actions { display: flex; flex-wrap: wrap; gap: 8px; }
|
||||
@media screen and (max-width: 1200px) { .overview-content { grid-template-columns: 1fr; } .route-overview { justify-content: flex-start; } }
|
||||
|
||||
@@ -532,7 +532,7 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
<footer>
|
||||
<el-button @click="$emit('back')">返回</el-button>
|
||||
<el-button @click="$emit('back')">取消</el-button>
|
||||
<el-button type="primary" plain @click="saveDraft">暂存</el-button>
|
||||
<el-button type="primary" plain @click="confirmCreate">确认创建</el-button>
|
||||
<el-button type="primary" @click="createAndDispatch">创建并调度</el-button>
|
||||
@@ -2050,7 +2050,6 @@ export default {
|
||||
footer {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -620,7 +620,7 @@
|
||||
>
|
||||
<template v-if="isChangeDialog">
|
||||
<el-button v-if="!isProjectFormPage" @click="handleCancelProject">取消</el-button>
|
||||
<el-button v-if="isProjectFormPage" @click="closeProjectForm">返回</el-button>
|
||||
<el-button v-if="isProjectFormPage" @click="closeProjectForm">取消</el-button>
|
||||
<el-button type="primary" plain :loading="submitLoading" @click="saveChangeProject">
|
||||
保存
|
||||
</el-button>
|
||||
@@ -630,7 +630,7 @@
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button v-if="!isProjectFormPage" @click="handleCancelProject">取消</el-button>
|
||||
<el-button v-if="isProjectFormPage" @click="closeProjectForm">返回</el-button>
|
||||
<el-button v-if="isProjectFormPage" @click="closeProjectForm">取消</el-button>
|
||||
<el-button
|
||||
v-if="!dialogReadonly"
|
||||
type="primary"
|
||||
@@ -2324,7 +2324,6 @@ export default {
|
||||
.project-apply-dialog__footer {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
|
||||
.project-apply-page-form & {
|
||||
position: fixed;
|
||||
|
||||
@@ -592,7 +592,6 @@ export default {
|
||||
.bill-ledger-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -399,7 +399,6 @@ export default {
|
||||
.bill-payment-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -417,7 +417,7 @@
|
||||
</section-card>
|
||||
|
||||
<div class="invoice-form-page__actions">
|
||||
<el-button @click="goBack">返回</el-button>
|
||||
<el-button @click="goBack">取消</el-button>
|
||||
<el-button v-if="!readonly" type="primary" plain @click="syncReferenceData">同步</el-button>
|
||||
<el-button
|
||||
v-if="!readonly && canSave"
|
||||
@@ -980,7 +980,6 @@ export default {
|
||||
.invoice-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
</section-card>
|
||||
|
||||
<div class="receipt-form-page__actions">
|
||||
<el-button @click="goBack">返回</el-button>
|
||||
<el-button @click="goBack">取消</el-button>
|
||||
<el-button v-if="!readonly" type="primary" plain @click="syncReferenceData">同步</el-button>
|
||||
<el-button
|
||||
v-if="!readonly && canSave"
|
||||
@@ -777,7 +777,6 @@ export default {
|
||||
.receipt-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
</div>
|
||||
</section-card>
|
||||
<div class="payment-form-page__actions">
|
||||
<el-button @click="goBack">返回</el-button>
|
||||
<el-button @click="goBack">取消</el-button>
|
||||
<el-button v-if="!readonly && canSave" type="primary" plain @click="saveDraft(false)">保存</el-button>
|
||||
<el-button
|
||||
v-if="!readonly && canSave && hasPermission('payment_application_submit')"
|
||||
@@ -1283,7 +1283,6 @@ export default {
|
||||
.payment-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -313,7 +313,6 @@ export default {
|
||||
.claim-record-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -472,7 +472,6 @@ export default {
|
||||
.receipt-claim-form-page__actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
padding: 12px 24px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
@@ -1548,7 +1548,6 @@ export default {
|
||||
justify-content: flex-end;
|
||||
padding: 12px 24px;
|
||||
border-top: 1px solid #eff1f7;
|
||||
gap: 12px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
left: 230px;
|
||||
|
||||
@@ -1531,7 +1531,6 @@ export default {
|
||||
justify-content: flex-end;
|
||||
padding: 12px 24px;
|
||||
border-top: 1px solid #eff1f7;
|
||||
gap: 12px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
left: 230px;
|
||||
|
||||
@@ -1841,7 +1841,6 @@ export default {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.settlement-detail-page__pagination {
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
<el-table ref="customerTable" :data="customerList" border @selection-change="handleCustomerSelection"><el-table-column type="selection" width="55" /><el-table-column prop="customerCode" label="客商编码" /><el-table-column prop="fullName" label="客商名称" /></el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<template #footer><span class="dialog-footer"><el-button type="primary" @click="submitUserForm">保存</el-button><el-button @click="userDialog = false">返回</el-button><el-button v-if="userDialogMode === 'edit'" @click="resetDialogPassword">重置密码</el-button><el-button @click="handleAddRole">添加角色</el-button></span></template>
|
||||
<template #footer><span class="dialog-footer"><el-button type="primary" @click="submitUserForm">保存</el-button><el-button @click="userDialog = false">取消</el-button><el-button v-if="userDialogMode === 'edit'" @click="resetDialogPassword">重置密码</el-button><el-button @click="handleAddRole">添加角色</el-button></span></template>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 用户角色配置 -->
|
||||
|
||||
@@ -811,7 +811,7 @@
|
||||
<div class="archive-form__footer">
|
||||
<!-- 次要:独立页返回 / 只读关闭 / 弹窗取消 -->
|
||||
<el-button @click="closeArchive">{{
|
||||
readonly ? '关闭' : isArchivePage ? '返回' : '取消'
|
||||
readonly ? '关闭' : '取消'
|
||||
}}</el-button>
|
||||
<el-button type="primary" plain v-if="!readonly" @click="saveArchive">保存</el-button>
|
||||
<el-button type="primary" v-if="!readonly" @click="saveAndSubmitArchive">提交</el-button>
|
||||
@@ -875,7 +875,7 @@
|
||||
</section-card>
|
||||
<template #footer>
|
||||
<div class="contact-dialog__footer-actions">
|
||||
<el-button @click="contactBox = false">返回</el-button>
|
||||
<el-button @click="contactBox = false">取消</el-button>
|
||||
<el-button type="primary" plain @click="saveContact">保存</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -973,7 +973,7 @@
|
||||
</section-card>
|
||||
<template #footer>
|
||||
<div class="receipt-dialog__footer-actions">
|
||||
<el-button @click="receiptBox = false">返回</el-button>
|
||||
<el-button @click="receiptBox = false">取消</el-button>
|
||||
<el-button type="primary" plain @click="saveReceipt">保存</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -1093,7 +1093,7 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="invoice-dialog__footer-actions">
|
||||
<el-button @click="invoiceBox = false">返回</el-button>
|
||||
<el-button @click="invoiceBox = false">取消</el-button>
|
||||
<el-button type="primary" plain @click="saveInvoice">保存</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -1356,7 +1356,7 @@
|
||||
<span>自评:{{ formatScoreValue(currentScore.selfScore) }}分</span>
|
||||
<span>复评:{{ formatScoreValue(currentScore.reviewScore) }}分</span>
|
||||
</div>
|
||||
<el-button @click="scoreBox = false">返回</el-button>
|
||||
<el-button @click="scoreBox = false">取消</el-button>
|
||||
<el-button type="primary" plain v-if="!readonly" @click="saveScoreDetail">保存</el-button>
|
||||
<el-button
|
||||
v-if="!readonly && hasPermission('customer_type_re_cert')"
|
||||
@@ -5150,7 +5150,6 @@ export default {
|
||||
.archive-form__footer {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 12px;
|
||||
.archive-page-form & {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
||||
Reference in New Issue
Block a user