提交
This commit is contained in:
1 parent
1938a9b76a
commit
9da462fcba
36 files changed
+609614
-6945
No files matched your search
@@ -161,6 +161,18 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('personnelSummary')"
|
||||
prop="personnelSummary"
|
||||
label="关联人员"
|
||||
min-width="220"
|
||||
align="center"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<PlVehiclePersonnelSummaryCell :vehicle="row" @manage="handleEdit(row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('certAttachments')"
|
||||
label="证书附件"
|
||||
@@ -172,7 +184,7 @@
|
||||
<PlCertListAttachmentCell
|
||||
:cert-list="row.certList"
|
||||
show-vehicle-part
|
||||
:media-active="mediaActive"
|
||||
use-placeholder-thumb
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -205,19 +217,6 @@
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('personnelSummary')"
|
||||
prop="personnelSummary"
|
||||
label="关联人员"
|
||||
min-width="160"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ normalizePlPersonnelSummaryDisplay(row.personnelSummary) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('remark')"
|
||||
prop="remark"
|
||||
@@ -327,26 +326,19 @@
|
||||
</div>
|
||||
<ListTable table-key="pl-self-vehicle-2" :data="personnelList" stripe class="list-table sub-table">
|
||||
<el-table-column type="index" label="序号" min-width="68" align="center" header-align="center" />
|
||||
<el-table-column label="姓名" min-width="160">
|
||||
<el-table-column label="姓名" min-width="260">
|
||||
<template #default="{ row }">
|
||||
<el-select
|
||||
v-model="row.personnelId"
|
||||
placeholder="请选择人员"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
:remote-method="searchPersonnel"
|
||||
<PlVehiclePersonnelSelectCell
|
||||
:row="row"
|
||||
:options="getPersonnelOptionsForRow(row)"
|
||||
:loading="personnelSelectLoading"
|
||||
@focus="onPersonnelSelectFocus"
|
||||
@change="(id: string | undefined) => handlePersonnelSelect(row, id)"
|
||||
>
|
||||
<el-option
|
||||
v-for="p in getPersonnelOptionsForRow(row)"
|
||||
:key="p.id"
|
||||
:label="formatPersonnelLabel(p)"
|
||||
:value="p.id"
|
||||
/>
|
||||
</el-select>
|
||||
affiliation="self"
|
||||
:search-personnel="searchPersonnel"
|
||||
:on-personnel-select-focus="onPersonnelSelectFocus"
|
||||
:format-personnel-label="formatPersonnelLabel"
|
||||
@select="(id) => handlePersonnelSelect(row, id)"
|
||||
@saved="(payload) => handlePersonnelFormSaved(row, payload)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手机号" min-width="120">
|
||||
@@ -484,6 +476,9 @@ import PlVehicleCertPartTabs from '@/components/business/pl-vehicle-cert-part-ta
|
||||
import PlVehicleCertPersonnelTabs from '@/components/business/pl-vehicle-cert-personnel-tabs/index.vue'
|
||||
import PlVehicleCertBadges from '@/components/business/pl-vehicle-cert-badges/index.vue'
|
||||
import PlCertListAttachmentCell from '@/components/business/pl-cert-list-attachment-cell/index.vue'
|
||||
import PlVehiclePersonnelSelectCell from '@/components/business/pl-vehicle-personnel-select-cell/index.vue'
|
||||
import PlVehiclePersonnelSummaryCell from '@/components/business/pl-vehicle-personnel-summary-cell/index.vue'
|
||||
import { usePlVehiclePersonnelQuickCreate } from '@/composables/usePlVehiclePersonnelQuickCreate'
|
||||
import type { VehiclePersonnelViewRow } from '@/components/business/pl-vehicle-personnel-view-list/index.vue'
|
||||
import SystemViewDialog, {
|
||||
type ViewSection
|
||||
@@ -549,12 +544,12 @@ const {
|
||||
|
||||
const listColumnDefs = [
|
||||
{ prop: 'photoUrls', label: '照片' },
|
||||
{ prop: 'personnelSummary', label: '关联人员' },
|
||||
{ prop: 'certAttachments', label: '证书附件' },
|
||||
{ prop: 'vehicleType', label: '车辆类型' },
|
||||
{ prop: 'vehicleStatus', label: '车辆状态' },
|
||||
{ prop: 'loadCapacity', label: '载重(吨)' },
|
||||
{ prop: 'carrierName', label: '承运商', defaultVisible: false },
|
||||
{ prop: 'personnelSummary', label: '关联人员' },
|
||||
{ prop: 'remark', label: '备注', defaultVisible: false }
|
||||
]
|
||||
|
||||
@@ -578,6 +573,11 @@ const {
|
||||
personnelAffiliation: 'self'
|
||||
})
|
||||
})
|
||||
|
||||
const { handlePersonnelFormSaved } = usePlVehiclePersonnelQuickCreate({
|
||||
personnelOptions,
|
||||
onSelect: handlePersonnelSelect
|
||||
})
|
||||
const selectedRows = ref<Vehicle[]>([])
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
|
||||
@@ -166,6 +166,18 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('personnelSummary')"
|
||||
prop="personnelSummary"
|
||||
label="关联人员"
|
||||
min-width="220"
|
||||
align="center"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<PlVehiclePersonnelSummaryCell :vehicle="row" @manage="handleEdit(row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('certAttachments')"
|
||||
label="证书附件"
|
||||
@@ -177,7 +189,7 @@
|
||||
<PlCertListAttachmentCell
|
||||
:cert-list="row.certList"
|
||||
show-vehicle-part
|
||||
:media-active="mediaActive"
|
||||
use-placeholder-thumb
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -212,19 +224,6 @@
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('personnelSummary')"
|
||||
prop="personnelSummary"
|
||||
label="关联人员"
|
||||
min-width="160"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ normalizePlPersonnelSummaryDisplay(row.personnelSummary) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="isColumnVisible('remark')"
|
||||
prop="remark"
|
||||
@@ -336,26 +335,19 @@
|
||||
</div>
|
||||
<ListTable table-key="pl-vehicle-2" :data="personnelList" stripe class="list-table sub-table">
|
||||
<el-table-column type="index" label="序号" min-width="68" align="center" header-align="center" />
|
||||
<el-table-column label="姓名" min-width="160">
|
||||
<el-table-column label="姓名" min-width="260">
|
||||
<template #default="{ row }">
|
||||
<el-select
|
||||
v-model="row.personnelId"
|
||||
placeholder="请选择人员"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
:remote-method="searchPersonnel"
|
||||
<PlVehiclePersonnelSelectCell
|
||||
:row="row"
|
||||
:options="getPersonnelOptionsForRow(row)"
|
||||
:loading="personnelSelectLoading"
|
||||
@focus="onPersonnelSelectFocus"
|
||||
@change="(id: string | undefined) => handlePersonnelSelect(row, id)"
|
||||
>
|
||||
<el-option
|
||||
v-for="p in getPersonnelOptionsForRow(row)"
|
||||
:key="p.id"
|
||||
:label="formatPersonnelLabel(p)"
|
||||
:value="p.id"
|
||||
/>
|
||||
</el-select>
|
||||
affiliation="carrier"
|
||||
:search-personnel="searchPersonnel"
|
||||
:on-personnel-select-focus="onPersonnelSelectFocus"
|
||||
:format-personnel-label="formatPersonnelLabel"
|
||||
@select="(id) => handlePersonnelSelect(row, id)"
|
||||
@saved="(payload) => handlePersonnelFormSaved(row, payload)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手机号" min-width="120">
|
||||
@@ -504,6 +496,9 @@ import PlVehicleCertPersonnelTabs from '@/components/business/pl-vehicle-cert-pe
|
||||
import PlVehicleCertBadges from '@/components/business/pl-vehicle-cert-badges/index.vue'
|
||||
import PlCertListAttachmentCell from '@/components/business/pl-cert-list-attachment-cell/index.vue'
|
||||
import PlPasteRecognizeDialog from '@/components/business/pl-paste-recognize-dialog/index.vue'
|
||||
import PlVehiclePersonnelSelectCell from '@/components/business/pl-vehicle-personnel-select-cell/index.vue'
|
||||
import PlVehiclePersonnelSummaryCell from '@/components/business/pl-vehicle-personnel-summary-cell/index.vue'
|
||||
import { usePlVehiclePersonnelQuickCreate } from '@/composables/usePlVehiclePersonnelQuickCreate'
|
||||
import type { VehiclePersonnelViewRow } from '@/components/business/pl-vehicle-personnel-view-list/index.vue'
|
||||
import SystemViewDialog, {
|
||||
type ViewSection
|
||||
@@ -561,12 +556,12 @@ const {
|
||||
|
||||
const listColumnDefs = [
|
||||
{ prop: 'photoUrls', label: '照片' },
|
||||
{ prop: 'personnelSummary', label: '关联人员' },
|
||||
{ prop: 'certAttachments', label: '证书附件' },
|
||||
{ prop: 'vehicleType', label: '车辆类型' },
|
||||
{ prop: 'vehicleStatus', label: '车辆状态' },
|
||||
{ prop: 'loadCapacity', label: '载重(吨)' },
|
||||
{ prop: 'carrierName', label: '承运商' },
|
||||
{ prop: 'personnelSummary', label: '关联人员' },
|
||||
{ prop: 'remark', label: '备注', defaultVisible: false }
|
||||
]
|
||||
|
||||
@@ -595,6 +590,11 @@ const {
|
||||
: undefined
|
||||
})
|
||||
})
|
||||
|
||||
const { handlePersonnelFormSaved } = usePlVehiclePersonnelQuickCreate({
|
||||
personnelOptions,
|
||||
onSelect: handlePersonnelSelect
|
||||
})
|
||||
const selectedRows = ref<Vehicle[]>([])
|
||||
const dialogVisible = ref(false)
|
||||
const pasteVisible = ref(false)
|
||||
|
||||
Reference in new issue
Block a user