feat(driver): 优化驾驶证信息必填规则和表单placeholder统一
- 驾驶证有效期必填加红星,长期有效去除必填红星,保持校验逻辑不变 - 统一司机弹窗所有输入框和选择框的placeholder为“请输入”或“请选择”,去除字段名 - 保留复合操作、日期范围起止及默认值说明的特例placeholder不变 - 新增3处自动生成结算单开关后悬浮问号图标和提示,增强用户理解 - customer-archive中新增customerKindOptions和映射,用于客户类别选择 - 提升archive-form label与控件垂直居中样式至全局,修正多页标签顶置问题
This commit is contained in:
@@ -1883,6 +1883,12 @@
|
||||
<span>自动生成结算单</span>
|
||||
<el-radio-group v-model="settlementRuleForm.autoGenerate" :disabled="dialogReadonly">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-tooltip
|
||||
content="开启时,系统根据配置规则归集运单,定时生成结算单"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon class="settlement-switch-tip"><QuestionFilled /></el-icon>
|
||||
</el-tooltip>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
@@ -14453,6 +14459,13 @@ export default {
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
.settlement-switch-tip {
|
||||
margin: 0 4px;
|
||||
color: #a8abb2;
|
||||
cursor: help;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&__module-form {
|
||||
width: 100%;
|
||||
|
||||
|
||||
@@ -52,7 +52,16 @@
|
||||
<el-tab-pane label="预结算配置" name="pre" />
|
||||
<el-tab-pane label="正式结算配置" name="formal" />
|
||||
</el-tabs>
|
||||
<div class="settlement-switch"><span>自动生成结算单</span><el-radio-group v-model="settlementRule.autoGenerate"><el-radio :label="1">开启</el-radio><el-radio :label="0">关闭</el-radio></el-radio-group></div>
|
||||
<div class="settlement-switch">
|
||||
<span>自动生成结算单</span>
|
||||
<el-radio-group v-model="settlementRule.autoGenerate">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-tooltip content="开启时,系统根据配置规则归集运单,定时生成结算单" placement="top">
|
||||
<el-icon class="settlement-switch-tip"><QuestionFilled /></el-icon>
|
||||
</el-tooltip>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<el-form v-if="settlementRule.autoGenerate === 1" :model="settlementRule" label-position="right" label-width="auto" class="settlement-form">
|
||||
<el-form-item label="账单起始日期" required><el-date-picker v-model="settlementRule.billStartDate" type="date" placeholder="请选择账单起始日期" format="YYYY-MM-DD" value-format="YYYY-MM-DD" /></el-form-item>
|
||||
<el-form-item label="结算类型" required><el-select v-model="settlementRule.settlementType" placeholder="请选择结算类型" @change="handleSettlementTypeChange"><el-option v-for="item in settlementTypeOptions" :key="item" :label="item" :value="item" /></el-select></el-form-item>
|
||||
@@ -211,6 +220,7 @@ export default {
|
||||
.attachment-upload .vehicle-attachment-upload { width: auto; }
|
||||
.attachment-upload .el-upload { display: inline-flex; }
|
||||
.settlement-switch { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
|
||||
.settlement-switch-tip { margin: 0 4px; color: #a8abb2; cursor: help; font-size: 14px; }
|
||||
.settlement-form { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 8px 28px; }
|
||||
.change-reason-section { margin: 20px 0; }
|
||||
.page-footer {
|
||||
|
||||
@@ -356,6 +356,12 @@
|
||||
<span>自动生成结算单</span>
|
||||
<el-radio-group v-model="settlementRuleForm.autoGenerate">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-tooltip
|
||||
content="开启时,系统根据配置规则归集运单,定时生成结算单"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon class="settlement-switch-tip"><QuestionFilled /></el-icon>
|
||||
</el-tooltip>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
@@ -2758,6 +2764,13 @@ export default {
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
margin-bottom: 16px;
|
||||
|
||||
.settlement-switch-tip {
|
||||
margin: 0 4px;
|
||||
color: #a8abb2;
|
||||
cursor: help;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
&__settlement-grid {
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
v-model="driverForm.driverName"
|
||||
maxlength="10"
|
||||
show-word-limit
|
||||
placeholder="请输入司机姓名"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -141,7 +141,7 @@
|
||||
v-model="driverForm.idCardNo"
|
||||
maxlength="18"
|
||||
show-word-limit
|
||||
placeholder="请输入身份证号"
|
||||
placeholder="请输入"
|
||||
@input="driverForm.idCardNo = String(driverForm.idCardNo || '').toUpperCase()"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -152,13 +152,13 @@
|
||||
v-model="driverForm.birthday"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择出生年月"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="性别" prop="gender">
|
||||
<el-select v-model="driverForm.gender" clearable placeholder="请选择性别">
|
||||
<el-select v-model="driverForm.gender" clearable placeholder="请选择">
|
||||
<el-option label="男" value="男" />
|
||||
<el-option label="女" value="女" />
|
||||
</el-select>
|
||||
@@ -166,7 +166,7 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="民族" prop="nation">
|
||||
<el-select v-model="driverForm.nation" clearable filterable placeholder="请选择民族">
|
||||
<el-select v-model="driverForm.nation" clearable filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in nationOptions"
|
||||
:key="item"
|
||||
@@ -182,7 +182,7 @@
|
||||
v-model="driverForm.education"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择学历"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in educationOptions"
|
||||
@@ -200,7 +200,7 @@
|
||||
v-model="driverForm.addressRegionPath"
|
||||
:options="regionOptions"
|
||||
:props="regionCascaderProps"
|
||||
:placeholder="driverForm.addressRegion || '请选择省市区'"
|
||||
:placeholder="driverForm.addressRegion || '请选择'"
|
||||
clearable
|
||||
filterable
|
||||
@change="handleAddressRegionChange"
|
||||
@@ -213,7 +213,7 @@
|
||||
v-model="driverForm.address"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
placeholder="请输入详细地址"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -297,7 +297,7 @@
|
||||
filterable
|
||||
allow-create
|
||||
default-first-option
|
||||
placeholder="请选择准驾车型"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in drivingTypeOptions"
|
||||
@@ -313,7 +313,7 @@
|
||||
<el-input
|
||||
v-model="driverForm.drivingLicenseNo"
|
||||
maxlength="50"
|
||||
placeholder="请输入档案编号"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -389,7 +389,7 @@
|
||||
v-model="driverForm.qualificationType"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择从业资格认证类型"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in qualificationTypeOptions"
|
||||
@@ -415,7 +415,7 @@
|
||||
v-model="driverForm.qualificationEndDate"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择有效期"
|
||||
placeholder="请选择"
|
||||
:disabled="driverForm.qualificationLongTerm === 1"
|
||||
@change="validateFormField('qualificationEndDate')"
|
||||
/>
|
||||
@@ -464,7 +464,7 @@
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="司机类型" prop="driverType">
|
||||
<el-select v-model="driverForm.driverType" filterable placeholder="请选择司机类型">
|
||||
<el-select v-model="driverForm.driverType" filterable placeholder="请选择">
|
||||
<el-option label="自有" value="自有" />
|
||||
<el-option label="外协" value="外协" />
|
||||
<el-option label="承运管理员" value="承运管理员" />
|
||||
@@ -476,7 +476,7 @@
|
||||
<el-input
|
||||
v-model="driverForm.mobile"
|
||||
maxlength="20"
|
||||
placeholder="请输入手机号"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -485,7 +485,7 @@
|
||||
<el-input
|
||||
v-model="driverForm.emergencyContactName"
|
||||
maxlength="20"
|
||||
placeholder="请输入紧急联系人姓名"
|
||||
placeholder="请输入"
|
||||
@input="driverForm.emergencyContactName = removeDigits($event)"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -495,7 +495,7 @@
|
||||
<el-input
|
||||
v-model="driverForm.emergencyContactMobile"
|
||||
maxlength="20"
|
||||
placeholder="请输入紧急联系人手机号"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -507,7 +507,7 @@
|
||||
filterable
|
||||
allow-create
|
||||
default-first-option
|
||||
placeholder="请选择与联系人关系"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in relationOptions"
|
||||
@@ -526,7 +526,7 @@
|
||||
:props="organizationCascaderProps"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择 所属组织"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -813,10 +813,7 @@ export default {
|
||||
drivingType: [{ required: true, message: '请选择准驾车型', trigger: 'change' }],
|
||||
drivingLicenseNo: [{ required: true, message: '请输入档案编号', trigger: 'blur' }],
|
||||
drivingLicenseEndDate: [
|
||||
{ validator: this.validateDrivingLicenseEndDate, trigger: 'change' },
|
||||
],
|
||||
drivingLicenseLongTerm: [
|
||||
{ required: true, message: '请选择驾驶证是否长期有效', trigger: 'change' },
|
||||
{ required: true, validator: this.validateDrivingLicenseEndDate, trigger: 'change' },
|
||||
],
|
||||
qualificationType: [
|
||||
{ required: true, message: '请选择从业资格认证类型', trigger: 'change' },
|
||||
|
||||
@@ -1645,6 +1645,14 @@ export default {
|
||||
regionOptions: [],
|
||||
customerNatureOptions: [],
|
||||
customerTypeOptions: [],
|
||||
customerKindOptions: [
|
||||
{ label: '外部客商', value: 'external' },
|
||||
{ label: '内部组织', value: 'internal' },
|
||||
],
|
||||
customerKindMap: {
|
||||
external: '外部客商',
|
||||
internal: '内部组织',
|
||||
},
|
||||
businessScopeOptions: [],
|
||||
qualificationTypeOptions: [],
|
||||
creditLevelOptions: ['A', 'B', 'C', 'D', 'E', 'F'].map(item => ({
|
||||
|
||||
Reference in New Issue
Block a user