style(dialogs): 统一全站自定义表单弹窗样式为客商档案风格
- 新增全局弹窗表单标准类 .dialog-form--carded,实现卡片白底分组风格 - 规范表单标签宽度为 calc(6em + 24px),右对齐且垂直居中 - 统一 input/select/cascader/tree-select/date-editor/textarea 等控件宽度为 250px - 保持 radio/checkbox 组宽度自适应 - 应用样式改造多个弹窗组件:流程变更、流程删除、参数编辑、锁定用户、解锁确认、用户编辑与修改密码、新建导入 - 港口码头编辑弹窗内 input 宽度统一为 250px,调整详细地址为单行输入框并放宽宽度 - 调整备注字段文本域高度,优化整体弹窗表单布局与风格统一
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
# 2026-08-12
|
||||||
|
|
||||||
|
## 全站自定义表单弹窗样式统一为客商档案风格
|
||||||
|
|
||||||
|
- 新增全局弹窗表单标准类 `.dialog-form--carded`(`src/styles/element-ui.scss`),统一实现:
|
||||||
|
- `section-card` 白底卡片分组
|
||||||
|
- label 固定宽度 `calc(6em + 24px)`、右对齐、上下居中
|
||||||
|
- input/select/cascader/tree-select/date-editor/textarea 等控件固定宽度 250px
|
||||||
|
- radio/checkbox 组宽度自适应
|
||||||
|
- 改造文件清单:
|
||||||
|
- `src/views/flow/manager.vue`:流程变更弹窗
|
||||||
|
- `src/views/flow/follow.vue`:流程删除弹窗
|
||||||
|
- `src/views/system/param.vue`:参数编辑弹窗
|
||||||
|
- `src/views/system/authlock.vue`:锁定用户、解锁确认弹窗
|
||||||
|
- `src/views/system/user.vue`:用户编辑、修改密码弹窗
|
||||||
|
- `src/views/business/components/waybill-import-dialog.vue`:新建导入弹窗表单区
|
||||||
|
- 已跳过(非编辑表单弹窗):`system/dept.vue` 承运商选择搜索弹窗、`business/master-order-editor.vue` 页面级组件。
|
||||||
|
- `npm run build` 构建通过。
|
||||||
|
|
||||||
|
## 港口码头(port-terminal)编辑弹窗 input 宽度统一 250px
|
||||||
|
|
||||||
|
- 文件:`src/views/base/port-terminal.vue`
|
||||||
|
- 做法:option 加 `dialogCustomClass: 'port-terminal-edit-dialog'`,并在文件末尾新增非 scoped `<style>` 块,`.port-terminal-edit-dialog .el-input { width: 250px !important }`。
|
||||||
|
- 说明:弹窗 `append-to-body`,scoped 命中不到,故用全局样式 + 自定义 dialog class 限定作用域;`.el-input` 与 `.el-select` 统一 `width: 250px !important`(含 formslot 内带内联 `width:100%` 的 country/cityCode/districtCode 下拉,!important 覆盖)。`textarea`(详细地址/备注)、类型 `el-radio-group` 维持自适应,未改。新增弹窗复用同一 dialog,故一并生效。
|
||||||
|
|
||||||
|
## 港口码头 详细地址/备注字段形态调整(接续上方宽度统一)
|
||||||
|
|
||||||
|
- `detailAddress`:移除 `type: 'textarea'` / `minRows: 3` 改单行 input;因属整行字段需放宽,启用 `formslot` + 模板 `#detailAddress-form` 手写 `<el-input class="detail-address-input">`,并用 `.port-terminal-edit-dialog .detail-address-input { width: 100% !important }` 覆盖全局 250px 规则,占满整行。表格列仍由 `slot: true` + `#detailAddress` 显示插槽控制。
|
||||||
|
- `remark`:`minRows: 4` → `2`(约 2 行高度),仍为 textarea(本身不受 250px 规则约束,已是整行宽)。
|
||||||
|
- 表单字段排序调整:按截图示意重新排为——类型(10) → 名称(20) → 编码(30) → 国家(40) → 城市(50) → 区县(60) → 详细地址(70) → 经度(80) → 纬度(90) → 上级港口(100) → 备注(无 order 置底)。即区县和详细地址插在国家/城市那一行下面。
|
||||||
|
- 备注宽度改为 80%:`remark` 加 `formslot: true` + 模板 `#remark-form` 手写 `<el-input type="textarea" class="remark-input" :rows="2" maxlength="200" show-word-limit>`,CSS `.port-terminal-edit-dialog .remark-input { width: 80% !important }`。注意:详细地址 `.detail-address-input` 当前宽度为 81%(用户手动调整,非本次设定)。
|
||||||
@@ -362,6 +362,40 @@
|
|||||||
row-gap: 0;
|
row-gap: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 7) 卡片式弹窗表单标准(与 vehicle/customer-archive 编辑弹窗一致)
|
||||||
|
// 在 el-dialog 上添加 class="dialog-form--carded" 即可生效
|
||||||
|
.dialog-form--carded {
|
||||||
|
.el-form-item {
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form-item__label {
|
||||||
|
flex: 0 0 calc(6em + 24px) !important;
|
||||||
|
width: calc(6em + 24px) !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
word-break: break-all;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form-item__content > .el-input,
|
||||||
|
.el-form-item__content > .el-select,
|
||||||
|
.el-form-item__content > .el-cascader,
|
||||||
|
.el-form-item__content > .el-tree-select,
|
||||||
|
.el-form-item__content > .el-input-number,
|
||||||
|
.el-form-item__content > .el-date-editor,
|
||||||
|
.el-form-item__content > .el-textarea {
|
||||||
|
width: 250px;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form-item__content > .el-radio-group,
|
||||||
|
.el-form-item__content > .el-checkbox-group {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.avue-crud__dialog .avue-dialog__footer > .el-button {
|
.avue-crud__dialog .avue-dialog__footer > .el-button {
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,6 +171,27 @@
|
|||||||
<template #detailAddress="{ row }">
|
<template #detailAddress="{ row }">
|
||||||
<span class="port-terminal-page__detail-address">{{ row.detailAddress || '-' }}</span>
|
<span class="port-terminal-page__detail-address">{{ row.detailAddress || '-' }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
<template #detailAddress-form>
|
||||||
|
<el-input
|
||||||
|
v-model="form.detailAddress"
|
||||||
|
class="detail-address-input"
|
||||||
|
clearable
|
||||||
|
maxlength="255"
|
||||||
|
show-word-limit
|
||||||
|
placeholder="请输入"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<template #remark-form>
|
||||||
|
<el-input
|
||||||
|
v-model="form.remark"
|
||||||
|
class="remark-input"
|
||||||
|
type="textarea"
|
||||||
|
:rows="2"
|
||||||
|
maxlength="200"
|
||||||
|
show-word-limit
|
||||||
|
placeholder="请输入"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
<template #longitude-form>
|
<template #longitude-form>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.longitude"
|
v-model="form.longitude"
|
||||||
@@ -195,7 +216,7 @@
|
|||||||
@load="onLoad(page, query)"
|
@load="onLoad(page, query)"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-dialog title="港口码头主数据导入" append-to-body v-model="excelBox" width="555px">
|
<el-dialog title="港口码头主数据导入" append-to-body v-model="excelBox" width="500px">
|
||||||
<avue-form :option="excelOption" v-model="excelForm">
|
<avue-form :option="excelOption" v-model="excelForm">
|
||||||
<template #excelTemplate>
|
<template #excelTemplate>
|
||||||
<el-button type="primary" @click="handleTemplate">
|
<el-button type="primary" @click="handleTemplate">
|
||||||
@@ -369,6 +390,7 @@ export default {
|
|||||||
height: 'auto',
|
height: 'auto',
|
||||||
calcHeight: 32,
|
calcHeight: 32,
|
||||||
dialogWidth: 980,
|
dialogWidth: 980,
|
||||||
|
dialogCustomClass: 'port-terminal-edit-dialog',
|
||||||
labelPosition: 'right',
|
labelPosition: 'right',
|
||||||
labelWidth: 'auto',
|
labelWidth: 'auto',
|
||||||
tip: false,
|
tip: false,
|
||||||
@@ -396,7 +418,7 @@ export default {
|
|||||||
formslot: true,
|
formslot: true,
|
||||||
width: 140,
|
width: 140,
|
||||||
span: 12,
|
span: 12,
|
||||||
order: 70,
|
order: 30,
|
||||||
placeholder: '请输入编码',
|
placeholder: '请输入编码',
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入编码', trigger: 'blur' },
|
{ required: true, message: '请输入编码', trigger: 'blur' },
|
||||||
@@ -412,7 +434,7 @@ export default {
|
|||||||
search: true,
|
search: true,
|
||||||
searchOrder: 7,
|
searchOrder: 7,
|
||||||
span: 12,
|
span: 12,
|
||||||
order: 80,
|
order: 20,
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
rules: [{ required: true, message: '请输入港口/码头名称', trigger: 'blur' }],
|
rules: [{ required: true, message: '请输入港口/码头名称', trigger: 'blur' }],
|
||||||
},
|
},
|
||||||
@@ -424,7 +446,7 @@ export default {
|
|||||||
searchOrder: 6,
|
searchOrder: 6,
|
||||||
formslot: true,
|
formslot: true,
|
||||||
span: 24,
|
span: 24,
|
||||||
order: 100,
|
order: 10,
|
||||||
dicData: [
|
dicData: [
|
||||||
{ label: '全部', value: '' },
|
{ label: '全部', value: '' },
|
||||||
{ label: '港口', value: '港口' },
|
{ label: '港口', value: '港口' },
|
||||||
@@ -444,7 +466,7 @@ export default {
|
|||||||
dicData: [],
|
dicData: [],
|
||||||
hide: true,
|
hide: true,
|
||||||
span: 12,
|
span: 12,
|
||||||
order: 90,
|
order: 100,
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
rules: [{ required: false, message: '请选择上级港口', trigger: 'change' }],
|
rules: [{ required: false, message: '请选择上级港口', trigger: 'change' }],
|
||||||
change: ({ value }) => this.handleParentChange(value),
|
change: ({ value }) => this.handleParentChange(value),
|
||||||
@@ -478,7 +500,7 @@ export default {
|
|||||||
filterable: true,
|
filterable: true,
|
||||||
dicData: [],
|
dicData: [],
|
||||||
span: 12,
|
span: 12,
|
||||||
order: 60,
|
order: 40,
|
||||||
minWidth: 140,
|
minWidth: 140,
|
||||||
overHidden: false,
|
overHidden: false,
|
||||||
placeholder: '自动带出',
|
placeholder: '自动带出',
|
||||||
@@ -515,6 +537,7 @@ export default {
|
|||||||
type: 'select',
|
type: 'select',
|
||||||
formslot: true,
|
formslot: true,
|
||||||
hide: true,
|
hide: true,
|
||||||
|
order: 60,
|
||||||
props: {
|
props: {
|
||||||
label: 'title',
|
label: 'title',
|
||||||
value: 'id',
|
value: 'id',
|
||||||
@@ -543,7 +566,7 @@ export default {
|
|||||||
formslot: true,
|
formslot: true,
|
||||||
minWidth: 130,
|
minWidth: 130,
|
||||||
span: 12,
|
span: 12,
|
||||||
order: 20,
|
order: 80,
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
overHidden: false,
|
overHidden: false,
|
||||||
rules: [
|
rules: [
|
||||||
@@ -557,7 +580,7 @@ export default {
|
|||||||
formslot: true,
|
formslot: true,
|
||||||
minWidth: 130,
|
minWidth: 130,
|
||||||
span: 12,
|
span: 12,
|
||||||
order: 10,
|
order: 90,
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
overHidden: false,
|
overHidden: false,
|
||||||
rules: [
|
rules: [
|
||||||
@@ -578,13 +601,12 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '详细地址',
|
label: '详细地址',
|
||||||
prop: 'detailAddress',
|
prop: 'detailAddress',
|
||||||
type: 'textarea',
|
|
||||||
slot: true,
|
slot: true,
|
||||||
minRows: 3,
|
formslot: true,
|
||||||
span: 24,
|
span: 24,
|
||||||
minWidth: 220,
|
minWidth: 220,
|
||||||
overHidden: false,
|
overHidden: false,
|
||||||
order: 30,
|
order: 70,
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
maxlength: 255,
|
maxlength: 255,
|
||||||
showWordLimit: true,
|
showWordLimit: true,
|
||||||
@@ -611,8 +633,9 @@ export default {
|
|||||||
label: '备注',
|
label: '备注',
|
||||||
prop: 'remark',
|
prop: 'remark',
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
minRows: 4,
|
minRows: 2,
|
||||||
span: 24,
|
span: 24,
|
||||||
|
formslot: true,
|
||||||
hide: true,
|
hide: true,
|
||||||
maxlength: 200,
|
maxlength: 200,
|
||||||
showWordLimit: true,
|
showWordLimit: true,
|
||||||
@@ -1338,3 +1361,21 @@ export default {
|
|||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
/* 港口码头编辑/新增弹窗:所有 input 文本框、select 下拉控件统一宽度 250px */
|
||||||
|
.port-terminal-edit-dialog {
|
||||||
|
.el-input,
|
||||||
|
.el-select {
|
||||||
|
width: 250px !important;
|
||||||
|
}
|
||||||
|
/* 详细地址为整行字段,放宽到占满整行 */
|
||||||
|
.detail-address-input {
|
||||||
|
width: 81% !important;
|
||||||
|
}
|
||||||
|
/* 备注宽度 80% */
|
||||||
|
.remark-input {
|
||||||
|
width: 80% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -31,14 +31,14 @@
|
|||||||
<el-pagination v-model:current-page="detailPage.current" v-model:page-size="detailPage.size" layout="total, prev, pager, next, sizes" :page-sizes="[10, 20, 50]" :total="detailPage.total" @current-change="loadDetails" @size-change="loadDetails" />
|
<el-pagination v-model:current-page="detailPage.current" v-model:page-size="detailPage.size" layout="total, prev, pager, next, sizes" :page-sizes="[10, 20, 50]" :total="detailPage.total" @current-change="loadDetails" @size-change="loadDetails" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog v-model="createVisible" title="新建导入" width="85%" append-to-body destroy-on-close class="waybill-import-create">
|
<el-dialog v-model="createVisible" title="新建导入" width="85%" append-to-body destroy-on-close class="waybill-import-create dialog-form--carded">
|
||||||
<section class="waybill-import-create__form-panel">
|
<section-card title="导入信息">
|
||||||
<el-form ref="formRef" :model="form" :rules="rules" label-position="right" label-width="auto" class="archive-form">
|
<el-form ref="formRef" :model="form" :rules="rules" label-position="right" label-width="calc(6em + 24px)">
|
||||||
<el-row :gutter="20"><el-col :span="6"><el-form-item label="项目" prop="projectId"><el-select v-model="form.projectId" filterable clearable placeholder="模糊查询后选择" @change="projectChange"><el-option v-for="item in projects" :key="item.id" :label="item.projectName" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="客户" prop="customerName"><el-input v-model="form.customerName" disabled placeholder="自动带出" /></el-form-item></el-col><el-col :span="6"><el-form-item label="客户合同" prop="contractId"><el-select v-model="form.contractId" filterable clearable placeholder="自动带出"><el-option v-for="item in contracts" :key="item.id" :label="item.contractName" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="承运类型" prop="carrierType"><el-select v-model="form.carrierType"><el-option label="承运商" value="承运商" /><el-option label="自运" value="自运" /><el-option label="网货平台" value="网货平台" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="承运商"><el-select v-model="form.carrierIds" multiple filterable placeholder="自动带出,多个需选择"><el-option v-for="item in carriers" :key="item.id" :label="item.name" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="导入状态" prop="status"><el-select v-model="form.status"><el-option label="完成" value="completed" /><el-option label="进行中" value="processing" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="导入类型" prop="importType"><el-select v-model="form.importType"><el-option label="运单" value="waybill" /><el-option label="结算单" value="settlement" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="发货计划"><el-select v-model="form.planId" clearable filterable placeholder="请选择"><el-option v-for="item in plans" :key="item.id" :label="item.planName" :value="item.id" /></el-select></el-form-item></el-col></el-row>
|
<el-row :gutter="18"><el-col :span="6"><el-form-item label="项目" prop="projectId"><el-select v-model="form.projectId" filterable clearable placeholder="模糊查询后选择" @change="projectChange"><el-option v-for="item in projects" :key="item.id" :label="item.projectName" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="客户" prop="customerName"><el-input v-model="form.customerName" disabled placeholder="自动带出" /></el-form-item></el-col><el-col :span="6"><el-form-item label="客户合同" prop="contractId"><el-select v-model="form.contractId" filterable clearable placeholder="自动带出"><el-option v-for="item in contracts" :key="item.id" :label="item.contractName" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="承运类型" prop="carrierType"><el-select v-model="form.carrierType"><el-option label="承运商" value="承运商" /><el-option label="自运" value="自运" /><el-option label="网货平台" value="网货平台" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="承运商"><el-select v-model="form.carrierIds" multiple filterable placeholder="自动带出,多个需选择"><el-option v-for="item in carriers" :key="item.id" :label="item.name" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="导入状态" prop="status"><el-select v-model="form.status"><el-option label="完成" value="completed" /><el-option label="进行中" value="processing" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="导入类型" prop="importType"><el-select v-model="form.importType"><el-option label="运单" value="waybill" /><el-option label="结算单" value="settlement" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="发货计划"><el-select v-model="form.planId" clearable filterable placeholder="请选择"><el-option v-for="item in plans" :key="item.id" :label="item.planName" :value="item.id" /></el-select></el-form-item></el-col></el-row>
|
||||||
<el-form-item label="运单明细表" prop="file"><el-upload action="#" accept=".xls,.xlsx" :auto-upload="false" :limit="1" :file-list="files" :on-change="fileChange" :on-remove="fileRemove"><el-button type="primary">添加附件</el-button></el-upload><span class="waybill-import-create__file-tip">请上传运单明细表,仅支持 excel 格式</span><el-link type="primary" @click="downloadTemplate">下载模板</el-link></el-form-item>
|
<el-form-item label="运单明细表" prop="file"><el-upload action="#" accept=".xls,.xlsx" :auto-upload="false" :limit="1" :file-list="files" :on-change="fileChange" :on-remove="fileRemove"><el-button type="primary">添加附件</el-button></el-upload><span class="waybill-import-create__file-tip">请上传运单明细表,仅支持 excel 格式</span><el-link type="primary" @click="downloadTemplate">下载模板</el-link></el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="waybill-import-create__form-actions"><el-button @click="createVisible = false">关闭</el-button><el-button @click="saveDraft">保存草稿</el-button><el-button type="primary" @click="confirmImport">确认导入</el-button></div>
|
<div class="waybill-import-create__form-actions"><el-button @click="createVisible = false">关闭</el-button><el-button @click="saveDraft">保存草稿</el-button><el-button type="primary" @click="confirmImport">确认导入</el-button></div>
|
||||||
</section>
|
</section-card>
|
||||||
<section class="waybill-import-create__detail-panel" v-if="rows.length"><div class="waybill-import-create__detail-head"><div class="dialog-section-title">导入数据明细</div><el-button type="danger" plain :disabled="!rowSelection.length" @click="removeSelectedRows">批量删除</el-button></div><el-tabs v-model="previewTab"><el-tab-pane :label="`运单数(${rows.length})`" name="all" /><el-tab-pane :label="`疑似重复(${duplicateRows.length})`" name="duplicate" /></el-tabs><el-table :data="previewRows" border max-height="440" @selection-change="rowSelection = $event"><el-table-column type="selection" width="55" /><el-table-column type="index" label="序号" width="65" /><el-table-column v-for="column in detailColumns" :key="column.prop" :prop="column.prop" :label="column.label" min-width="140" show-overflow-tooltip /><el-table-column label="操作" width="180" fixed="right"><template #default="{ row }"><el-link type="primary" @click="cancelRow(row)">取消</el-link><el-link type="primary" @click="saveRow(row)">保存</el-link><el-link type="primary" @click="editRow(row)">编辑</el-link><el-link type="danger" @click="deleteRow(row)">删除</el-link></template></el-table-column></el-table></section>
|
<section class="waybill-import-create__detail-panel" v-if="rows.length"><div class="waybill-import-create__detail-head"><div class="dialog-section-title">导入数据明细</div><el-button type="danger" plain :disabled="!rowSelection.length" @click="removeSelectedRows">批量删除</el-button></div><el-tabs v-model="previewTab"><el-tab-pane :label="`运单数(${rows.length})`" name="all" /><el-tab-pane :label="`疑似重复(${duplicateRows.length})`" name="duplicate" /></el-tabs><el-table :data="previewRows" border max-height="440" @selection-change="rowSelection = $event"><el-table-column type="selection" width="55" /><el-table-column type="index" label="序号" width="65" /><el-table-column v-for="column in detailColumns" :key="column.prop" :prop="column.prop" :label="column.label" min-width="140" show-overflow-tooltip /><el-table-column label="操作" width="180" fixed="right"><template #default="{ row }"><el-link type="primary" @click="cancelRow(row)">取消</el-link><el-link type="primary" @click="saveRow(row)">保存</el-link><el-link type="primary" @click="editRow(row)">编辑</el-link><el-link type="danger" @click="deleteRow(row)">删除</el-link></template></el-table-column></el-table></section>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@@ -153,14 +153,14 @@ const confirmImport = async () => { await formRef.value?.validate(); if (!valida
|
|||||||
}
|
}
|
||||||
|
|
||||||
.waybill-import-create {
|
.waybill-import-create {
|
||||||
&__form-panel,
|
|
||||||
&__detail-panel {
|
|
||||||
border: 1px solid #eff1f7;
|
|
||||||
padding: 20px 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__detail-panel { margin-top: 12px; }
|
|
||||||
&__form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }
|
&__form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }
|
||||||
|
&__detail-panel {
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
|
||||||
|
padding: 14px 16px;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
&__detail-head { display: flex; align-items: center; gap: 24px; margin-bottom: 8px; }
|
&__detail-head { display: flex; align-items: center; gap: 24px; margin-bottom: 8px; }
|
||||||
&__file-tip { margin: 0 24px; color: #606266; }
|
&__file-tip { margin: 0 24px; color: #606266; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1908,7 +1908,7 @@ export default {
|
|||||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
||||||
column-gap: 72px;
|
column-gap: 72px;
|
||||||
row-gap: 0;
|
row-gap: 0;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 8px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0 0 6px 6px;
|
border-radius: 0 0 6px 6px;
|
||||||
padding: 14px 16px 4px;
|
padding: 14px 16px 4px;
|
||||||
@@ -1934,7 +1934,7 @@ export default {
|
|||||||
|
|
||||||
&__table {
|
&__table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 8px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0 0 6px 6px;
|
border-radius: 0 0 6px 6px;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
@@ -1952,7 +1952,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__textarea-list {
|
&__textarea-list {
|
||||||
margin-bottom: 16px;
|
margin-bottom: 8px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0 0 6px 6px;
|
border-radius: 0 0 6px 6px;
|
||||||
padding: 14px 16px 4px;
|
padding: 14px 16px 4px;
|
||||||
@@ -1975,7 +1975,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__material-card {
|
&__material-card {
|
||||||
margin-bottom: 16px;
|
margin-bottom: 8px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 14px 16px;
|
padding: 14px 16px;
|
||||||
@@ -2016,7 +2016,7 @@ export default {
|
|||||||
margin: 0 0 16px;
|
margin: 0 0 16px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 12px;
|
padding: 12px 0;
|
||||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,12 +21,24 @@
|
|||||||
<el-tag>{{ row.suspensionState === 1 ? '激活' : '挂起' }}</el-tag>
|
<el-tag>{{ row.suspensionState === 1 ? '激活' : '挂起' }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
<el-dialog title="流程删除" append-to-body v-model="followBox" width="20%">
|
<el-dialog
|
||||||
<el-form :model="form" ref="form" label-width="auto">
|
title="流程删除"
|
||||||
<el-form-item label="删除理由">
|
append-to-body
|
||||||
<el-input v-model="deleteReason" placeholder="请输入删除理由" />
|
v-model="followBox"
|
||||||
</el-form-item>
|
width="400px"
|
||||||
</el-form>
|
class="dialog-form--carded"
|
||||||
|
>
|
||||||
|
<section-card title="删除理由">
|
||||||
|
<el-form :model="form" ref="form" label-position="right" label-width="calc(6em + 24px)">
|
||||||
|
<el-row :gutter="18">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="删除理由">
|
||||||
|
<el-input v-model="deleteReason" placeholder="请输入删除理由" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="followBox = false">关 闭</el-button>
|
<el-button @click="followBox = false">关 闭</el-button>
|
||||||
|
|||||||
+26
-14
@@ -81,20 +81,32 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog title="流程变更" append-to-body v-model="stateBox" width="20%">
|
<el-dialog
|
||||||
<el-form :model="form" ref="form" label-width="auto">
|
title="流程变更"
|
||||||
<el-form-item label="流程状态">
|
append-to-body
|
||||||
<el-select v-model="flowState" placeholder="请选择" value="">
|
v-model="stateBox"
|
||||||
<el-option
|
width="400px"
|
||||||
v-for="item in stateOptions"
|
class="dialog-form--carded"
|
||||||
:key="item.value"
|
>
|
||||||
:label="item.label"
|
<section-card title="流程状态">
|
||||||
:value="item.value"
|
<el-form :model="form" ref="form" label-position="right" label-width="calc(6em + 24px)">
|
||||||
>
|
<el-row :gutter="18">
|
||||||
</el-option>
|
<el-col :span="24">
|
||||||
</el-select>
|
<el-form-item label="流程状态">
|
||||||
</el-form-item>
|
<el-select v-model="flowState" placeholder="请选择" value="">
|
||||||
</el-form>
|
<el-option
|
||||||
|
v-for="item in stateOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="stateBox = false">关 闭</el-button>
|
<el-button @click="stateBox = false">关 闭</el-button>
|
||||||
|
|||||||
@@ -61,38 +61,60 @@
|
|||||||
</el-drawer>
|
</el-drawer>
|
||||||
|
|
||||||
<!-- 手动锁定用户 -->
|
<!-- 手动锁定用户 -->
|
||||||
<el-dialog title="锁定用户" append-to-body v-model="lockUserBox" width="500px">
|
<el-dialog
|
||||||
<el-form :model="lockUserForm" label-width="auto" :rules="lockUserRules" ref="lockUserFormRef">
|
title="锁定用户"
|
||||||
<el-form-item label="用户账号">
|
append-to-body
|
||||||
<el-input :model-value="lockUserForm.account" disabled />
|
v-model="lockUserBox"
|
||||||
</el-form-item>
|
width="520px"
|
||||||
<el-form-item label="锁定原因" prop="lockReason">
|
class="dialog-form--carded"
|
||||||
<el-input
|
>
|
||||||
v-model="lockUserForm.lockReason"
|
<section-card title="锁定信息">
|
||||||
type="textarea"
|
<el-form
|
||||||
:rows="3"
|
:model="lockUserForm"
|
||||||
placeholder="请输入锁定原因"
|
label-position="right"
|
||||||
/>
|
label-width="calc(6em + 24px)"
|
||||||
</el-form-item>
|
:rules="lockUserRules"
|
||||||
<el-form-item label="锁定开始" prop="lockBeginTime">
|
ref="lockUserFormRef"
|
||||||
<el-date-picker
|
>
|
||||||
v-model="lockUserForm.lockBeginTime"
|
<el-row :gutter="18">
|
||||||
type="datetime"
|
<el-col :span="24">
|
||||||
placeholder="不填则立即生效"
|
<el-form-item label="用户账号">
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
<el-input :model-value="lockUserForm.account" disabled />
|
||||||
style="width: 100%"
|
</el-form-item>
|
||||||
/>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="24">
|
||||||
<el-form-item label="锁定结束" prop="lockEndTime">
|
<el-form-item label="锁定原因" prop="lockReason">
|
||||||
<el-date-picker
|
<el-input
|
||||||
v-model="lockUserForm.lockEndTime"
|
v-model="lockUserForm.lockReason"
|
||||||
type="datetime"
|
type="textarea"
|
||||||
placeholder="不填则永久锁定"
|
:rows="3"
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
placeholder="请输入锁定原因"
|
||||||
style="width: 100%"
|
/>
|
||||||
/>
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-form>
|
<el-col :span="24">
|
||||||
|
<el-form-item label="锁定开始" prop="lockBeginTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="lockUserForm.lockBeginTime"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="不填则立即生效"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="锁定结束" prop="lockEndTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="lockUserForm.lockEndTime"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="不填则永久锁定"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="lockUserBox = false">取 消</el-button>
|
<el-button @click="lockUserBox = false">取 消</el-button>
|
||||||
@@ -102,17 +124,33 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 解锁原因确认 -->
|
<!-- 解锁原因确认 -->
|
||||||
<el-dialog title="解锁确认" append-to-body v-model="unlockReasonBox" width="450px">
|
<el-dialog
|
||||||
<el-form :model="unlockReasonForm" label-width="auto">
|
title="解锁确认"
|
||||||
<el-form-item label="解锁原因">
|
append-to-body
|
||||||
<el-input
|
v-model="unlockReasonBox"
|
||||||
v-model="unlockReasonForm.unlockReason"
|
width="520px"
|
||||||
type="textarea"
|
class="dialog-form--carded"
|
||||||
:rows="3"
|
>
|
||||||
placeholder="请输入解锁原因(可选)"
|
<section-card title="解锁原因">
|
||||||
/>
|
<el-form
|
||||||
</el-form-item>
|
:model="unlockReasonForm"
|
||||||
</el-form>
|
label-position="right"
|
||||||
|
label-width="calc(6em + 24px)"
|
||||||
|
>
|
||||||
|
<el-row :gutter="18">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="解锁原因">
|
||||||
|
<el-input
|
||||||
|
v-model="unlockReasonForm.unlockReason"
|
||||||
|
type="textarea"
|
||||||
|
:rows="3"
|
||||||
|
placeholder="请输入解锁原因(可选)"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="unlockReasonBox = false">取 消</el-button>
|
<el-button @click="unlockReasonBox = false">取 消</el-button>
|
||||||
|
|||||||
+46
-28
@@ -126,37 +126,55 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:title="title"
|
:title="title"
|
||||||
v-model="box"
|
v-model="box"
|
||||||
width="50%"
|
width="560px"
|
||||||
:before-close="beforeClose"
|
:before-close="beforeClose"
|
||||||
append-to-body
|
append-to-body
|
||||||
|
class="dialog-form--carded"
|
||||||
>
|
>
|
||||||
<el-form :disabled="view" ref="form" :model="form" label-width="auto">
|
<section-card title="参数信息">
|
||||||
<!-- 表单字段 -->
|
<el-form
|
||||||
<el-form-item label="参数名:" prop="paramName">
|
:disabled="view"
|
||||||
<el-input v-model="form.paramName" placeholder="请输入参数名" />
|
ref="form"
|
||||||
</el-form-item>
|
:model="form"
|
||||||
<el-form-item prop="paramKey">
|
label-position="right"
|
||||||
<template #label>
|
label-width="calc(6em + 24px)"
|
||||||
<el-tooltip content="参数键为系统内部唯一标识,请勿随意修改" placement="top">
|
>
|
||||||
<el-icon style="margin-right: 4px; vertical-align: middle; color: #909399; cursor: pointer"><el-icon-question-filled /></el-icon>
|
<el-row :gutter="18">
|
||||||
</el-tooltip>
|
<el-col :span="24">
|
||||||
<span>参数键:</span>
|
<el-form-item label="参数名" prop="paramName">
|
||||||
</template>
|
<el-input v-model="form.paramName" placeholder="请输入参数名" />
|
||||||
<el-input v-model="form.paramKey" placeholder="请输入参数键" />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
<el-form-item prop="paramValue">
|
<el-col :span="24">
|
||||||
<template #label>
|
<el-form-item prop="paramKey">
|
||||||
<el-tooltip content="包含敏感关键词的配置不展示具体数值" placement="top">
|
<template #label>
|
||||||
<el-icon style="margin-right: 4px; vertical-align: middle; color: #909399; cursor: pointer"><el-icon-question-filled /></el-icon>
|
<el-tooltip content="参数键为系统内部唯一标识,请勿随意修改" placement="top">
|
||||||
</el-tooltip>
|
<el-icon style="margin-right: 4px; vertical-align: middle; color: #909399; cursor: pointer"><el-icon-question-filled /></el-icon>
|
||||||
<span>参数值:</span>
|
</el-tooltip>
|
||||||
</template>
|
<span>参数键</span>
|
||||||
<el-input v-model="form.paramValue" placeholder="请输入参数值" />
|
</template>
|
||||||
</el-form-item>
|
<el-input v-model="form.paramKey" placeholder="请输入参数键" />
|
||||||
<el-form-item label="备注:" prop="remark">
|
</el-form-item>
|
||||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="24">
|
||||||
</el-form>
|
<el-form-item prop="paramValue">
|
||||||
|
<template #label>
|
||||||
|
<el-tooltip content="包含敏感关键词的配置不展示具体数值" placement="top">
|
||||||
|
<el-icon style="margin-right: 4px; vertical-align: middle; color: #909399; cursor: pointer"><el-icon-question-filled /></el-icon>
|
||||||
|
</el-tooltip>
|
||||||
|
<span>参数值</span>
|
||||||
|
</template>
|
||||||
|
<el-input v-model="form.paramValue" placeholder="请输入参数值" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<!-- 表单按钮 -->
|
<!-- 表单按钮 -->
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span v-if="!view" class="dialog-footer">
|
<span v-if="!view" class="dialog-footer">
|
||||||
|
|||||||
+53
-34
@@ -181,27 +181,29 @@
|
|||||||
top="5vh"
|
top="5vh"
|
||||||
append-to-body
|
append-to-body
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
class="user-edit-dialog"
|
class="user-edit-dialog dialog-form--carded"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<span class="dialog-title">{{ userDialogMode === 'add' ? '新增用户' : '编辑用户' }}</span>
|
<span class="dialog-title">{{ userDialogMode === 'add' ? '新增用户' : '编辑用户' }}</span>
|
||||||
</template>
|
</template>
|
||||||
<el-form ref="userFormRef" :model="form" :rules="userRules" label-position="right" label-width="120px">
|
<section-card title="用户信息">
|
||||||
<el-row :gutter="20">
|
<el-form ref="userFormRef" :model="form" :rules="userRules" label-position="right" label-width="calc(6em + 24px)">
|
||||||
<el-col :span="6"><el-form-item label="账号名" prop="account"><el-input v-model="form.account" /></el-form-item></el-col>
|
<el-row :gutter="18">
|
||||||
<el-col :span="6"><el-form-item label="姓名" prop="realName"><el-input v-model="form.realName" /></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="账号名" prop="account"><el-input v-model="form.account" /></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="手机号" prop="phone"><el-input v-model="form.phone" /></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="姓名" prop="realName"><el-input v-model="form.realName" /></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="邮箱"><el-input v-model="form.email" /></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="手机号" prop="phone"><el-input v-model="form.phone" /></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="性别"><el-select v-model="form.sex" class="full-width"><el-option label="男" :value="1" /><el-option label="女" :value="2" /><el-option label="未知" :value="3" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="邮箱"><el-input v-model="form.email" /></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="岗位" prop="postId"><el-tree-select v-model="form.postId" :data="postList" :props="{ label: 'postName', value: 'id' }" check-strictly class="full-width" /></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="性别"><el-select v-model="form.sex"><el-option label="男" :value="1" /><el-option label="女" :value="2" /><el-option label="未知" :value="3" /></el-select></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="所属组织" prop="deptId"><el-tree-select v-model="form.deptId" :data="permissionDeptTree" :props="{ label: 'title', value: 'id' }" multiple check-strictly show-checkbox class="full-width" /></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="岗位" prop="postId"><el-tree-select v-model="form.postId" :data="postList" :props="{ label: 'postName', value: 'id' }" check-strictly /></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="工号"><el-input v-model="form.code" /></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="所属组织" prop="deptId"><el-tree-select v-model="form.deptId" :data="permissionDeptTree" :props="{ label: 'title', value: 'id' }" multiple check-strictly show-checkbox /></el-form-item></el-col>
|
||||||
<el-col :span="6"><el-form-item label="人员类别"><el-select v-model="form.personCategory" class="full-width"><el-option label="内部员工" :value="1" /><el-option label="承运商" :value="2" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="工号"><el-input v-model="form.code" /></el-form-item></el-col>
|
||||||
<el-col :span="18"><el-form-item label="数据权限范围"><el-radio-group v-model="form.dataScopeRange"><el-radio :value="1">仅所属组织</el-radio><el-radio :value="2">全部组织</el-radio><el-radio :value="3">自定义</el-radio></el-radio-group></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="人员类别"><el-select v-model="form.personCategory"><el-option label="内部员工" :value="1" /><el-option label="承运商" :value="2" /></el-select></el-form-item></el-col>
|
||||||
<el-col :span="18" :offset="6"><el-form-item label="数据层级范围"><el-radio-group v-model="form.dataLevelRange"><el-radio :value="1">包含下级</el-radio><el-radio :value="2">仅本级</el-radio></el-radio-group></el-form-item></el-col>
|
<el-col :span="18"><el-form-item label="数据权限范围"><el-radio-group v-model="form.dataScopeRange"><el-radio :value="1">仅所属组织</el-radio><el-radio :value="2">全部组织</el-radio><el-radio :value="3">自定义</el-radio></el-radio-group></el-form-item></el-col>
|
||||||
<el-col :span="24"><el-form-item label="备注"><el-input v-model="form.remark" type="textarea" :rows="3" maxlength="200" show-word-limit /></el-form-item></el-col>
|
<el-col :span="18" :offset="6"><el-form-item label="数据层级范围"><el-radio-group v-model="form.dataLevelRange"><el-radio :value="1">包含下级</el-radio><el-radio :value="2">仅本级</el-radio></el-radio-group></el-form-item></el-col>
|
||||||
</el-row>
|
<el-col :span="24"><el-form-item label="备注"><el-input v-model="form.remark" type="textarea" :rows="3" maxlength="200" show-word-limit /></el-form-item></el-col>
|
||||||
</el-form>
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<el-tabs class="user-permission-tabs">
|
<el-tabs class="user-permission-tabs">
|
||||||
<el-tab-pane label="已拥有角色">
|
<el-tab-pane label="已拥有角色">
|
||||||
<el-table :data="formRoleList" border>
|
<el-table :data="formRoleList" border>
|
||||||
@@ -288,23 +290,40 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 管理员修改密码 -->
|
<!-- 管理员修改密码 -->
|
||||||
<el-dialog title="修改密码" append-to-body v-model="passwordBox" width="460px">
|
<el-dialog
|
||||||
<el-form
|
title="修改密码"
|
||||||
ref="passwordFormRef"
|
append-to-body
|
||||||
:model="passwordForm"
|
v-model="passwordBox"
|
||||||
:rules="passwordRules"
|
width="520px"
|
||||||
label-width="auto"
|
class="dialog-form--carded"
|
||||||
>
|
>
|
||||||
<el-form-item label="账号名">
|
<section-card title="密码信息">
|
||||||
<el-input v-model="passwordForm.account" disabled />
|
<el-form
|
||||||
</el-form-item>
|
ref="passwordFormRef"
|
||||||
<el-form-item label="新密码" prop="password">
|
:model="passwordForm"
|
||||||
<el-input v-model="passwordForm.password" type="password" show-password />
|
:rules="passwordRules"
|
||||||
</el-form-item>
|
label-position="right"
|
||||||
<el-form-item label="确认密码" prop="password2">
|
label-width="calc(6em + 24px)"
|
||||||
<el-input v-model="passwordForm.password2" type="password" show-password />
|
>
|
||||||
</el-form-item>
|
<el-row :gutter="18">
|
||||||
</el-form>
|
<el-col :span="24">
|
||||||
|
<el-form-item label="账号名">
|
||||||
|
<el-input v-model="passwordForm.account" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="新密码" prop="password">
|
||||||
|
<el-input v-model="passwordForm.password" type="password" show-password />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="确认密码" prop="password2">
|
||||||
|
<el-input v-model="passwordForm.password2" type="password" show-password />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</section-card>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="passwordBox = false">取 消</el-button>
|
<el-button @click="passwordBox = false">取 消</el-button>
|
||||||
|
|||||||
+12
-12
@@ -50,26 +50,26 @@ export default ({
|
|||||||
__VUE_I18N_LEGACY_API__: true,
|
__VUE_I18N_LEGACY_API__: true,
|
||||||
__INTLIFY_PROD_DEVTOOLS__: false,
|
__INTLIFY_PROD_DEVTOOLS__: false,
|
||||||
},
|
},
|
||||||
server: {
|
|
||||||
port: 2888,
|
|
||||||
proxy: {
|
|
||||||
'/api': {
|
|
||||||
target: 'http://localhost',
|
|
||||||
//target: 'https://saber3.bladex.cn/api',
|
|
||||||
changeOrigin: true,
|
|
||||||
rewrite: path => path.replace(/^\/api/, ''),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// server: {
|
// server: {
|
||||||
// port: 2888,
|
// port: 2888,
|
||||||
// proxy: {
|
// proxy: {
|
||||||
// '/api': {
|
// '/api': {
|
||||||
// target: 'http://172.16.203.228:8000',
|
// target: 'http://localhost',
|
||||||
|
// //target: 'https://saber3.bladex.cn/api',
|
||||||
// changeOrigin: true,
|
// changeOrigin: true,
|
||||||
|
// rewrite: path => path.replace(/^\/api/, ''),
|
||||||
// },
|
// },
|
||||||
// },
|
// },
|
||||||
// },
|
// },
|
||||||
|
server: {
|
||||||
|
port: 2889,
|
||||||
|
proxy: {
|
||||||
|
'/api': {
|
||||||
|
target: 'http://172.16.203.228:8000',
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'~': resolve(__dirname, './'),
|
'~': resolve(__dirname, './'),
|
||||||
|
|||||||
Reference in New Issue
Block a user