fix bug
This commit is contained in:
@@ -78,7 +78,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeDecimalInput('directEconomicLoss', value)"
|
||||
>
|
||||
<template #suffix>元</template>
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #insuranceClaimAmountForm>
|
||||
@@ -89,7 +89,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeDecimalInput('insuranceClaimAmount', value)"
|
||||
>
|
||||
<template #suffix>元</template>
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #attachments="{ row }">
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeDecimalInput('fee', value)"
|
||||
>
|
||||
<template #suffix>元</template>
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #attachments="{ row }">
|
||||
|
||||
@@ -634,11 +634,20 @@
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="文件名称" min-width="180">
|
||||
<el-table-column label="文件名称" min-width="180" align="left">
|
||||
<template #default="{ row }">
|
||||
<el-link type="primary" :disabled="!row.url" @click="previewQualificationFile(row)">{{
|
||||
row.originalName || row.name || '-'
|
||||
}}</el-link>
|
||||
<div
|
||||
class="qualification-file-name-cell"
|
||||
:title="row.originalName || row.name || '-'"
|
||||
>
|
||||
<span
|
||||
class="qualification-file-name"
|
||||
:class="{ 'is-disabled': !row.url }"
|
||||
@click="row.url && previewQualificationFile(row)"
|
||||
>
|
||||
{{ row.originalName || row.name || '-' }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="附件描述" min-width="220">
|
||||
@@ -4461,6 +4470,41 @@ export default {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.qualification-file-name-cell {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
text-align: left;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.qualification-file-name {
|
||||
display: block;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #606266;
|
||||
transition: color 0.2s ease;
|
||||
|
||||
&:hover {
|
||||
color: #409eff;
|
||||
}
|
||||
|
||||
&.is-disabled {
|
||||
cursor: default;
|
||||
color: #606266;
|
||||
|
||||
&:hover {
|
||||
color: #606266;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.qualification-upload-bar {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
|
||||
@@ -70,6 +70,15 @@
|
||||
class="maintenance-plan-page__input"
|
||||
/>
|
||||
</template>
|
||||
<template #address-form>
|
||||
<el-input
|
||||
v-model="form.address"
|
||||
:disabled="boxType === 'view'"
|
||||
readonly
|
||||
placeholder="点击地图选址"
|
||||
@click="openAddressMapPicker"
|
||||
/>
|
||||
</template>
|
||||
<template #mileageForm>
|
||||
<el-input
|
||||
v-model="form.mileage"
|
||||
@@ -140,6 +149,11 @@
|
||||
</template>
|
||||
</avue-form>
|
||||
</el-dialog>
|
||||
<address-map-picker
|
||||
v-model="addressMapPickerVisible"
|
||||
:address="form.address"
|
||||
@confirm="handleAddressMapConfirm"
|
||||
/>
|
||||
</basic-container>
|
||||
</template>
|
||||
|
||||
@@ -154,6 +168,7 @@ import { openImportDialog } from '@/utils/import-excel';
|
||||
import { formatUpdateUserName } from '@/utils/audit';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { normalizeSearchRangeParams } from '@/utils/search-range';
|
||||
import AddressMapPicker from '@/components/address-map-picker/main.vue';
|
||||
import { mapGetters } from 'vuex';
|
||||
import NProgress from 'nprogress';
|
||||
import 'nprogress/nprogress.css';
|
||||
@@ -163,6 +178,9 @@ const createTimeRangeMap = {
|
||||
};
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AddressMapPicker,
|
||||
},
|
||||
data() {
|
||||
const validateNonNegative = (rule, value, callback) => {
|
||||
if (value === undefined || value === null || value === '') {
|
||||
@@ -178,6 +196,7 @@ export default {
|
||||
query: {},
|
||||
loading: true,
|
||||
excelBox: false,
|
||||
addressMapPickerVisible: false,
|
||||
excelForm: {},
|
||||
page: {
|
||||
pageSize: 10,
|
||||
@@ -203,6 +222,7 @@ export default {
|
||||
border: true,
|
||||
index: true,
|
||||
indexLabel: '序号',
|
||||
indexWidth: 90,
|
||||
viewBtn: true,
|
||||
selection: true,
|
||||
dialogClickModal: false,
|
||||
@@ -315,6 +335,8 @@ export default {
|
||||
{
|
||||
label: '地址',
|
||||
prop: 'address',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
minWidth: 180,
|
||||
overHidden: true,
|
||||
span: 24,
|
||||
@@ -483,6 +505,14 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
openAddressMapPicker() {
|
||||
if (this.boxType !== 'view') {
|
||||
this.addressMapPickerVisible = true;
|
||||
}
|
||||
},
|
||||
handleAddressMapConfirm(address) {
|
||||
this.form.address = address;
|
||||
},
|
||||
hasPermission(code) {
|
||||
return this.isAdmin || this.validData(this.permission[code], false);
|
||||
},
|
||||
|
||||
@@ -70,6 +70,15 @@
|
||||
class="maintenance-record-page__input"
|
||||
/>
|
||||
</template>
|
||||
<template #address-form>
|
||||
<el-input
|
||||
v-model="form.address"
|
||||
:disabled="boxType === 'view'"
|
||||
readonly
|
||||
placeholder="点击地图选址"
|
||||
@click="openAddressMapPicker"
|
||||
/>
|
||||
</template>
|
||||
<template #costForm>
|
||||
<el-input
|
||||
v-model="form.cost"
|
||||
@@ -126,6 +135,11 @@
|
||||
</template>
|
||||
</avue-form>
|
||||
</el-dialog>
|
||||
<address-map-picker
|
||||
v-model="addressMapPickerVisible"
|
||||
:address="form.address"
|
||||
@confirm="handleAddressMapConfirm"
|
||||
/>
|
||||
</basic-container>
|
||||
</template>
|
||||
|
||||
@@ -140,6 +154,7 @@ import { openImportDialog } from '@/utils/import-excel';
|
||||
import { formatUpdateUserName } from '@/utils/audit';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { normalizeSearchRangeParams } from '@/utils/search-range';
|
||||
import AddressMapPicker from '@/components/address-map-picker/main.vue';
|
||||
import { mapGetters } from 'vuex';
|
||||
import NProgress from 'nprogress';
|
||||
import 'nprogress/nprogress.css';
|
||||
@@ -149,6 +164,9 @@ const createTimeRangeMap = {
|
||||
};
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AddressMapPicker,
|
||||
},
|
||||
data() {
|
||||
const validateNonNegative = (rule, value, callback) => {
|
||||
if (value === undefined || value === null || value === '') {
|
||||
@@ -164,6 +182,7 @@ export default {
|
||||
query: {},
|
||||
loading: true,
|
||||
excelBox: false,
|
||||
addressMapPickerVisible: false,
|
||||
excelForm: {},
|
||||
isDetailLoading: false,
|
||||
page: {
|
||||
@@ -190,6 +209,7 @@ export default {
|
||||
border: true,
|
||||
index: true,
|
||||
indexLabel: '序号',
|
||||
indexWidth: 90,
|
||||
viewBtn: true,
|
||||
selection: true,
|
||||
dialogClickModal: false,
|
||||
@@ -291,6 +311,8 @@ export default {
|
||||
{
|
||||
label: '地址',
|
||||
prop: 'address',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
minWidth: 180,
|
||||
overHidden: true,
|
||||
span: 24,
|
||||
@@ -478,6 +500,14 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
openAddressMapPicker() {
|
||||
if (this.boxType !== 'view') {
|
||||
this.addressMapPickerVisible = true;
|
||||
}
|
||||
},
|
||||
handleAddressMapConfirm(address) {
|
||||
this.form.address = address;
|
||||
},
|
||||
hasPermission(code) {
|
||||
return this.isAdmin || this.validData(this.permission[code], false);
|
||||
},
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeIntegerInput('previousMonthMileage', value)"
|
||||
>
|
||||
<template #suffix>km</template>
|
||||
<template #append>km</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #currentMonthMileageForm>
|
||||
@@ -101,7 +101,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeIntegerInput('currentMonthMileage', value)"
|
||||
>
|
||||
<template #suffix>km</template>
|
||||
<template #append>km</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #monthlyMileageForm>
|
||||
@@ -112,7 +112,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeIntegerInput('monthlyMileage', value)"
|
||||
>
|
||||
<template #suffix>km</template>
|
||||
<template #append>km</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #totalMileageForm>
|
||||
@@ -123,7 +123,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeIntegerInput('totalMileage', value)"
|
||||
>
|
||||
<template #suffix>km</template>
|
||||
<template #append>km</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #totalMileageStart-search="{ row }">
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
placeholder="请输入"
|
||||
@input="value => normalizeDecimalInput('unitPrice', value)"
|
||||
>
|
||||
<template #suffix>元</template>
|
||||
<template #append>元/升</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<template #transactionAmountForm>
|
||||
|
||||
@@ -110,6 +110,15 @@
|
||||
@input="value => normalizeIntegerInput('deductPoints', value)"
|
||||
/>
|
||||
</template>
|
||||
<template #location-form>
|
||||
<el-input
|
||||
v-model="form.location"
|
||||
:disabled="boxType === 'view'"
|
||||
readonly
|
||||
placeholder="点击地图选址"
|
||||
@click="openLocationMapPicker"
|
||||
/>
|
||||
</template>
|
||||
<template #processStatus="{ row }">
|
||||
<span :class="row.processStatus === '未处理' ? 'violation-record-page__danger' : ''">
|
||||
{{ row.processStatus }}
|
||||
@@ -152,6 +161,11 @@
|
||||
</template>
|
||||
</avue-form>
|
||||
</el-dialog>
|
||||
<address-map-picker
|
||||
v-model="locationMapPickerVisible"
|
||||
:address="form.location"
|
||||
@confirm="handleLocationMapConfirm"
|
||||
/>
|
||||
</basic-container>
|
||||
</template>
|
||||
|
||||
@@ -167,6 +181,7 @@ import { downloadXls } from '@/utils/util';
|
||||
import { openImportDialog } from '@/utils/import-excel';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { normalizeSearchRangeParams } from '@/utils/search-range';
|
||||
import AddressMapPicker from '@/components/address-map-picker/main.vue';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { excelOption, option } from '@/option/vehicle/violation-record';
|
||||
import NProgress from 'nprogress';
|
||||
@@ -177,12 +192,16 @@ const createTimeRangeMap = {
|
||||
};
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AddressMapPicker,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {},
|
||||
query: {},
|
||||
loading: true,
|
||||
excelBox: false,
|
||||
locationMapPickerVisible: false,
|
||||
excelForm: {},
|
||||
isDetailLoading: false,
|
||||
option,
|
||||
@@ -242,6 +261,14 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
openLocationMapPicker() {
|
||||
if (this.boxType !== 'view') {
|
||||
this.locationMapPickerVisible = true;
|
||||
}
|
||||
},
|
||||
handleLocationMapConfirm(address) {
|
||||
this.form.location = address;
|
||||
},
|
||||
hasPermission(code) {
|
||||
return this.isAdmin || this.validData(this.permission[code], false);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user