Merge remote-tracking branch 'websoft/master'

This commit is contained in:
2026-08-26 23:18:19 +08:00
25 changed files with 629 additions and 100 deletions
@@ -2072,6 +2072,12 @@
查看过程配置
</el-link>
</div>
<el-button
v-if="isStandaloneFormPage && !showTransportPlanCreateActions"
@click="closeCrudDialog"
>
关闭
</el-button>
<el-button
v-if="config.enableDraftSave && !dialogReadonly"
type="primary"
@@ -2106,12 +2112,6 @@
确认创建
</el-button>
</div>
<el-button
v-if="isStandaloneFormPage && !showTransportPlanCreateActions"
@click="closeCrudDialog"
>
关闭
</el-button>
</template>
<template #menu="{ row, index }">
@@ -13386,7 +13386,7 @@ export default {
&__dispatch-shipping-form {
:deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
}
@@ -13900,7 +13900,7 @@ export default {
width: 100%;
:deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
:deep(.el-select),
@@ -704,7 +704,7 @@ export default {
.route-overview__line { flex: 0 1 56px; min-width: 24px; height: 32px; margin-top: 0; border-bottom: 6px solid #e4e7ed; }
.segment-header { min-height: 46px; padding: 0 20px; border-bottom: 1px solid #eff1f7; font-weight: 600; em { color: #409eff; font-style: normal; } }
.segment-content { padding: 16px 24px; }
.dispatch-form { :deep(.el-form-item) { margin-bottom: 16px; } :deep(.el-input), :deep(.el-select), :deep(.el-date-editor), :deep(.el-input-number) { width: 100%; } :deep(.el-input-group__append .el-select) { width: auto; } }
.dispatch-form { :deep(.el-form-item) { margin-bottom: 14px; } :deep(.el-input), :deep(.el-select), :deep(.el-date-editor), :deep(.el-input-number) { width: 100%; } :deep(.el-input-group__append .el-select) { width: auto; } }
.transport-type-field :deep(.el-input) { width: 240px; }
.goods-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 -24px 12px; padding: 14px 24px; border-top: 1px solid #eff1f7; border-bottom: 1px solid #eff1f7; h3 { margin: 0; padding-left: 12px; border-left: 4px solid #409eff; font-size: 16px; } span { color: #909399; font-size: 13px; } }
.freight-heading { margin: 16px 0 12px; h3 { margin: 0; padding-left: 12px; border-left: 4px solid #409eff; font-size: 16px; } }
@@ -532,10 +532,10 @@
</template>
</el-dialog>
<footer>
<el-button @click="$emit('back')">返回</el-button
><el-button @click="saveDraft">暂存</el-button
><el-button type="primary" @click="confirmCreate">确认创建</el-button
><el-button type="primary" @click="createAndDispatch">创建并调度</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>
</footer>
</div>
</template>
@@ -2050,7 +2050,22 @@ export default {
footer {
display: flex;
justify-content: flex-end;
gap: 8px;
padding: 16px 0;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse footer) {
left: 60px;
}
:global(.avue-layout--horizontal footer) {
left: 0;
}
</style>
+1 -1
View File
@@ -2271,7 +2271,7 @@ export default {
:deep(.el-form-item) {
align-items: center;
margin-bottom: 16px;
margin-bottom: 14px;
}
:deep(.el-form-item__label) {
+1 -1
View File
@@ -2753,7 +2753,7 @@ export default {
}
:deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
:deep(.el-form-item__label) {
+8 -11
View File
@@ -619,20 +619,22 @@
:class="{ 'project-apply-dialog__footer--change': isChangeDialog }"
>
<template v-if="isChangeDialog">
<el-button type="primary" :loading="submitLoading" @click="saveChangeProject">
<el-button v-if="!isProjectFormPage" @click="handleCancelProject">取消</el-button>
<el-button v-if="isProjectFormPage" @click="closeProjectForm">返回</el-button>
<el-button type="primary" plain :loading="submitLoading" @click="saveChangeProject">
保存
</el-button>
<el-button type="primary" :loading="submitLoading" @click="submitChangeProject">
提交
</el-button>
<el-button v-if="!isProjectFormPage" @click="handleCancelProject">取消</el-button>
<el-button v-if="isProjectFormPage" @click="closeProjectForm">返回</el-button>
</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="!dialogReadonly"
type="primary"
plain
:loading="submitLoading"
@click="saveProject"
>
@@ -646,7 +648,6 @@
>
提交
</el-button>
<el-button v-if="isProjectFormPage" @click="closeProjectForm">返回</el-button>
</template>
</div>
</component>
@@ -2131,7 +2132,7 @@ export default {
}
:deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
:deep(.el-form-item__label) {
@@ -2198,9 +2199,7 @@ export default {
padding: 12px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
:deep(.el-table__header th) {
background: #f5f7fa;
color: #303133;
:deep(.el-table__header th .cell) {
font-weight: 600;
}
@@ -2244,9 +2243,7 @@ export default {
width: 100%;
margin-bottom: 12px;
:deep(.el-table__header th) {
background: #f5f7fa;
color: #303133;
:deep(.el-table__header th .cell) {
font-weight: 600;
}
+3 -3
View File
@@ -99,7 +99,7 @@
width="120"
fixed="right"
align="center"
/><el-table-column label="操作" width="120" fixed="right" align="left"
/><el-table-column label="操作" width="160" fixed="right" align="left"
><template #default="{ row }"
><div class="voucher-manage-page__actions">
<el-link
@@ -423,7 +423,7 @@
></el-table-column
><el-table-column label="上传状态" width="120"
><template #default="{ row }">{{ taskStatusName(row.status) }}</template></el-table-column
><el-table-column label="操作" width="160" fixed="right"
><el-table-column label="操作" width="180" fixed="right"
><template #default="{ row }"
><el-link
v-if="row.status === 'paused' || row.status === 'failed'"
@@ -1019,7 +1019,7 @@ load();
display: none;
}
&__upload-form :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
&__upload-tip {
margin-left: 16px;
+20 -5
View File
@@ -267,8 +267,8 @@
</section-card>
<div class="bill-ledger-form-page__actions">
<el-button type="primary" :loading="saving" @click="confirmSubmit">确认</el-button>
<el-button @click="goBack">取消</el-button>
<el-button type="primary" :loading="saving" @click="confirmSubmit">确认</el-button>
</div>
</el-form>
</basic-container>
@@ -561,7 +561,7 @@ export default {
<style scoped lang="scss">
.bill-ledger-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.bill-ledger-form-page__basic-grid {
display: grid;
@@ -591,9 +591,24 @@ export default {
}
.bill-ledger-form-page__actions {
display: flex;
justify-content: center;
gap: 8px;
padding: 16px 0 8px;
justify-content: flex-end;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .bill-ledger-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .bill-ledger-form-page__actions) {
left: 0;
}
.bill-ledger-form-page :deep(.el-table) {
--el-table-border-color: #eff1f7;
+18 -3
View File
@@ -379,7 +379,7 @@ export default {
<style scoped lang="scss">
.bill-payment-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.bill-payment-form-page__form :deep(.el-input),
.bill-payment-form-page__form :deep(.el-input-number),
@@ -399,8 +399,23 @@ export default {
.bill-payment-form-page__actions {
display: flex;
justify-content: flex-end;
gap: 8px;
padding: 16px 0 8px;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .bill-payment-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .bill-payment-form-page__actions) {
left: 0;
}
.bill-payment-form-page__dialog-search {
display: flex;
+26 -7
View File
@@ -417,15 +417,19 @@
</section-card>
<div class="invoice-form-page__actions">
<el-button @click="goBack">返回</el-button>
<el-button v-if="!readonly" type="primary" plain @click="syncReferenceData">同步</el-button>
<el-button v-if="!readonly && canSave" @click="saveDraft">保存</el-button>
<el-button
v-if="!readonly && canSave"
type="primary"
plain
@click="saveDraft"
>保存</el-button>
<el-button
v-if="!readonly && canSave && hasPermission('invoice_application_submit')"
type="primary"
@click="submitForm"
>提交</el-button
>
<el-button @click="goBack">返回</el-button>
>提交</el-button>
</div>
</el-form>
@@ -975,9 +979,24 @@ export default {
}
.invoice-form-page__actions {
display: flex;
justify-content: center;
gap: 8px;
padding: 16px 0 8px;
justify-content: flex-end;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .invoice-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .invoice-form-page__actions) {
left: 0;
}
.invoice-form-page__attachment-upload {
display: flex;
+27 -8
View File
@@ -240,15 +240,19 @@
</section-card>
<div class="receipt-form-page__actions">
<el-button @click="goBack">返回</el-button>
<el-button v-if="!readonly" type="primary" plain @click="syncReferenceData">同步</el-button>
<el-button v-if="!readonly && canSave" @click="saveDraft">保存</el-button>
<el-button
v-if="!readonly && canSave"
type="primary"
plain
@click="saveDraft"
>保存</el-button>
<el-button
v-if="!readonly && canSave && hasPermission('invoice_receipt_submit')"
type="primary"
@click="submitForm"
>提交</el-button
>
<el-button @click="goBack">返回</el-button>
>提交</el-button>
</div>
</el-form>
@@ -752,7 +756,7 @@ export default {
<style scoped lang="scss">
.receipt-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.receipt-form-page__form :deep(.el-select),
.receipt-form-page__form :deep(.el-input-number) {
@@ -772,9 +776,24 @@ export default {
}
.receipt-form-page__actions {
display: flex;
justify-content: center;
gap: 8px;
padding: 16px 0 8px;
justify-content: flex-end;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .receipt-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .receipt-form-page__actions) {
left: 0;
}
.receipt-form-page__dialog-search {
display: flex;
+24 -7
View File
@@ -328,9 +328,9 @@
</div>
</section-card>
<div class="payment-form-page__actions">
<el-button @click="goBack">返回</el-button
><el-button v-if="!readonly && canSave" @click="saveDraft(false)">保存</el-button
><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')"
type="primary"
@click="submitForm"
@@ -1282,10 +1282,24 @@ export default {
<style scoped lang="scss">
.payment-form-page__actions {
display: flex;
justify-content: center;
gap: 16px;
padding: 24px 0;
justify-content: flex-end;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .payment-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .payment-form-page__actions) {
left: 0;
}
.payment-form-page__section-actions {
display: flex;
@@ -1321,7 +1335,10 @@ export default {
display: inline-flex;
}
.payment-form-page :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.payment-form-page :deep(.el-input-number .el-input__inner) {
text-align: left;
}
.payment-form-page :deep(.el-table) {
--el-table-border-color: #eff1f7;
@@ -312,8 +312,24 @@ export default {
<style scoped lang="scss">
.claim-record-form-page__actions {
display: flex;
justify-content: center;
padding: 16px 0 8px;
justify-content: flex-end;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .claim-record-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .claim-record-form-page__actions) {
left: 0;
}
.claim-record-form-page__links {
display: flex;
+20 -5
View File
@@ -165,8 +165,8 @@
/></el-form-item>
</section-card>
<div class="receipt-claim-form-page__actions">
<el-button type="primary" :loading="submitting" @click="submitClaim">确认</el-button
><el-button :disabled="submitting" @click="goBack">取消</el-button>
<el-button :disabled="submitting" @click="goBack">取消</el-button>
<el-button type="primary" :loading="submitting" @click="submitClaim">确认</el-button>
</div>
</el-form>
@@ -471,9 +471,24 @@ export default {
}
.receipt-claim-form-page__actions {
display: flex;
justify-content: center;
gap: 8px;
padding: 16px 0 8px;
justify-content: flex-end;
gap: 12px;
padding: 12px 24px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
border-top: 1px solid #eff1f7;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse .receipt-claim-form-page__actions) {
left: 60px;
}
:global(.avue-layout--horizontal .receipt-claim-form-page__actions) {
left: 0;
}
.receipt-claim-form-page__dialog-search {
display: flex;
@@ -1546,9 +1546,23 @@ export default {
.formal-editor__page-actions {
display: flex;
justify-content: flex-end;
padding: 16px 0 4px;
padding: 12px 24px;
border-top: 1px solid #eff1f7;
gap: 8px;
gap: 12px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
z-index: 10;
margin: 0;
background: #fff;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
:global(.avue--collapse) .formal-editor__page-actions {
left: 60px;
}
:global(.avue-layout--horizontal) .formal-editor__page-actions {
left: 0;
}
.formal-editor__links {
display: flex;
@@ -1557,7 +1571,10 @@ export default {
gap: 8px;
}
.formal-editor :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.formal-editor :deep(.el-form-item__content) {
line-height: normal;
}
.formal-editor :deep(.el-table) {
--el-table-border-color: #eff1f7;
@@ -393,7 +393,7 @@
<template v-if="!pageMode" #footer>
<el-button @click="visible = false">取消</el-button>
<el-button v-if="editable" :loading="saving" @click="saveDraft(false)">保存</el-button>
<el-button v-if="editable" type="primary" plain :loading="saving" @click="saveDraft(false)">保存</el-button>
<el-button
v-if="editable && hasPermission('pre_settlement_submit')"
type="primary"
@@ -405,7 +405,7 @@
</template>
<div v-if="pageMode" class="pre-settlement-editor__page-actions">
<el-button @click="visible = false">取消</el-button>
<el-button v-if="editable" :loading="saving" @click="saveDraft(false)">保存</el-button>
<el-button v-if="editable" type="primary" plain :loading="saving" @click="saveDraft(false)">保存</el-button>
<el-button
v-if="editable && hasPermission('pre_settlement_submit')"
type="primary"
@@ -1529,9 +1529,17 @@ export default {
&__page-actions {
display: flex;
justify-content: flex-end;
padding: 16px 0 4px;
padding: 12px 24px;
border-top: 1px solid #eff1f7;
gap: 8px;
gap: 12px;
position: fixed;
right: 0;
left: 230px;
bottom: 0;
margin: 0;
z-index: 10;
background: #fff;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}
&__form {
@@ -1634,7 +1642,7 @@ export default {
}
:deep(.pre-settlement-editor .el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
:deep(.pre-settlement-editor .el-table),
@@ -1646,4 +1654,10 @@ export default {
:deep(.pre-settlement-candidate-dialog .el-table__body tr:nth-child(even) > td.el-table__cell) {
background: #fafafa;
}
:global(.avue--collapse .pre-settlement-editor__page-actions) {
left: 60px;
}
:global(.avue-layout--horizontal .pre-settlement-editor__page-actions) {
left: 0;
}
</style>
@@ -557,7 +557,7 @@ export default {
gap: 8px;
}
.settlement-adjustment-editor :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.settlement-adjustment-editor :deep(.el-table) {
--el-table-border-color: #eff1f7;
@@ -802,7 +802,7 @@ export default {
display: none;
}
.reconciliation-editor :deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
}
.reconciliation-editor :deep(.el-table) {
--el-table-border-color: #eff1f7;
@@ -597,7 +597,7 @@
</div>
<template #footer>
<el-button @click="previewDialog.visible = false">取消</el-button>
<el-button type="primary" @click="backToGenerateDialog">上一步</el-button>
<el-button type="primary" plain @click="backToGenerateDialog">上一步</el-button>
<el-button type="primary" :loading="previewDialog.submitting" @click="submitGenerateFee">
提交
</el-button>
@@ -1857,7 +1857,7 @@ export default {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
:deep(.el-form-item) {
margin-bottom: 16px;
margin-bottom: 14px;
&:last-child {
margin-bottom: 0;
+1 -1
View File
@@ -1094,7 +1094,7 @@ export default {
}
.user-edit-dialog .el-form-item {
margin-bottom: 16px;
margin-bottom: 14px;
}
.user-edit-dialog .el-form-item__label {
+17 -17
View File
@@ -809,12 +809,12 @@
</el-dialog>
<div class="archive-form__footer">
<el-button v-if="!isArchivePage || readonly" @click="closeArchive">
{{ isArchivePage ? '返回' : readonly ? '关闭' : '取消' }}
</el-button>
<el-button type="primary" v-if="!readonly" @click="saveArchive">保存</el-button>
<el-button type="success" v-if="!readonly" @click="saveAndSubmitArchive">提交</el-button>
<el-button v-if="!readonly && !isArchivePage" @click="closeArchive">返回</el-button>
<!-- 次要:独立页返回 / 只读关闭 / 弹窗取消 -->
<el-button @click="closeArchive">{{
readonly ? '关闭' : isArchivePage ? '返回' : '取消'
}}</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>
</div>
</component>
@@ -875,8 +875,8 @@
</section-card>
<template #footer>
<div class="contact-dialog__footer-actions">
<el-button type="primary" @click="saveContact">保存</el-button>
<el-button @click="contactBox = false">返回</el-button>
<el-button type="primary" plain @click="saveContact">保存</el-button>
</div>
</template>
</el-dialog>
@@ -973,8 +973,8 @@
</section-card>
<template #footer>
<div class="receipt-dialog__footer-actions">
<el-button type="primary" @click="saveReceipt">保存</el-button>
<el-button @click="receiptBox = false">返回</el-button>
<el-button type="primary" plain @click="saveReceipt">保存</el-button>
</div>
</template>
</el-dialog>
@@ -1093,8 +1093,8 @@
</el-form>
<template #footer>
<div class="invoice-dialog__footer-actions">
<el-button type="primary" @click="saveInvoice">保存</el-button>
<el-button @click="invoiceBox = false">返回</el-button>
<el-button type="primary" plain @click="saveInvoice">保存</el-button>
</div>
</template>
</el-dialog>
@@ -1239,7 +1239,7 @@
</el-input>
</template>
<template v-else>
<div class="score-standard-cell__label">请选择:</div>
<!-- <div class="score-standard-cell__label">请选择:</div>-->
<el-select
v-model="detail.selectedOption"
filterable
@@ -1356,7 +1356,8 @@
<span>自评:{{ formatScoreValue(currentScore.selfScore) }}分</span>
<span>复评:{{ formatScoreValue(currentScore.reviewScore) }}分</span>
</div>
<el-button type="primary" v-if="!readonly" @click="saveScoreDetail">保存</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')"
type="primary"
@@ -1364,7 +1365,6 @@
>
复评确认
</el-button>
<el-button @click="scoreBox = false">返回</el-button>
</div>
</template>
</el-dialog>
@@ -4875,7 +4875,7 @@ export default {
display: flex;
flex-direction: column;
justify-content: center;
min-height: 104px;
//min-height: 104px;
padding: 8px 24px;
}
@@ -4895,7 +4895,7 @@ export default {
}
:deep(.el-table__body td) {
min-height: 112px;
//min-height: 112px;
color: #303133;
}
@@ -4958,7 +4958,7 @@ export default {
.contact-dialog__footer-actions {
display: flex;
justify-content: center;
justify-content: flex-end;
gap: 12px;
}
@@ -4971,13 +4971,13 @@ export default {
.receipt-dialog__footer-actions {
display: flex;
justify-content: center;
justify-content: flex-end;
gap: 12px;
}
.invoice-dialog__footer-actions {
display: flex;
justify-content: center;
justify-content: flex-end;
gap: 12px;
}