This commit is contained in:
parent
7f3864ca30
commit
f1ed58f691
|
|
@ -367,7 +367,7 @@ const routes: Array<RouteRecordRaw> = [
|
||||||
name: 'quality-manage',
|
name: 'quality-manage',
|
||||||
component: () => import('views/user/lessor/quality-manage/index.vue'),
|
component: () => import('views/user/lessor/quality-manage/index.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '质检管理',
|
title: '装备维保',
|
||||||
keepAlive: true,
|
keepAlive: true,
|
||||||
AuthFlag: false,
|
AuthFlag: false,
|
||||||
isLogin: true
|
isLogin: true
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ onMounted(() => {})
|
||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<FooterInfo />
|
<!-- <FooterInfo /> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -199,7 +199,7 @@
|
||||||
|
|
||||||
<div class="protocol-handle" v-if="cardList.length > 0">
|
<div class="protocol-handle" v-if="cardList.length > 0">
|
||||||
<el-row style="margin: 15px 0">
|
<el-row style="margin: 15px 0">
|
||||||
<el-col :span="24">
|
<el-col :span="22">
|
||||||
<el-collapse v-model="activeNames">
|
<el-collapse v-model="activeNames">
|
||||||
<el-collapse-item :title="addressTitle" name="1">
|
<el-collapse-item :title="addressTitle" name="1">
|
||||||
<template v-if="addressList.length > 0">
|
<template v-if="addressList.length > 0">
|
||||||
|
|
@ -232,6 +232,15 @@
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="2" style="display: flex; justify-content: flex-end">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
style="margin-top: 10px"
|
||||||
|
@click="handleAddress"
|
||||||
|
>新增地址</el-button
|
||||||
|
>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row style="display: flex; align-items: center">
|
<el-row style="display: flex; align-items: center">
|
||||||
<el-col :span="16">
|
<el-col :span="16">
|
||||||
|
|
@ -262,8 +271,9 @@
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<el-button
|
<el-button
|
||||||
size="small"
|
size="small"
|
||||||
|
type="primary"
|
||||||
@click="onCartSubmit"
|
@click="onCartSubmit"
|
||||||
style="padding: 12px 24px; background-color: #1abc9c; color: #fff"
|
style="padding: 12px 24px"
|
||||||
>提交</el-button
|
>提交</el-button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -274,7 +284,7 @@
|
||||||
<Empty v-if="cardList.length == 0" />
|
<Empty v-if="cardList.length == 0" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<FooterInfo />
|
<!-- <FooterInfo /> -->
|
||||||
|
|
||||||
<!-- 租赁协议 -->
|
<!-- 租赁协议 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
|
|
@ -299,6 +309,104 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="mmm" style="height: 600px"></div>
|
<div id="mmm" style="height: 600px"></div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
width="40%"
|
||||||
|
align-center
|
||||||
|
destroy-on-close
|
||||||
|
title="新增收货地址"
|
||||||
|
v-model="addOrEditDialogVisible"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
label-width="auto"
|
||||||
|
label-position="right"
|
||||||
|
ref="addOrEditFormRef"
|
||||||
|
:model="addOrEditForm"
|
||||||
|
:rules="addOrEditFormRules"
|
||||||
|
>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="所在省" prop="provinceCode">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
style="width: 95%"
|
||||||
|
placeholder="请选择省"
|
||||||
|
v-model="addOrEditForm.provinceCode"
|
||||||
|
@change="onProvinceChange($event)"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
:key="item.areaId"
|
||||||
|
:value="item.areaCode * 1"
|
||||||
|
:label="item.areaName"
|
||||||
|
v-for="item in areaList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="cityCode" label="所在市">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
style="width: 95%"
|
||||||
|
placeholder="请选择市"
|
||||||
|
v-model="addOrEditForm.cityCode"
|
||||||
|
@change="onCityChange($event)"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
:key="item.areaId"
|
||||||
|
:value="item.areaCode * 1"
|
||||||
|
:label="item.areaName"
|
||||||
|
v-for="item in areaCityList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="areaCode" label="所在区/县">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
style="width: 95%"
|
||||||
|
placeholder="请选择区/县"
|
||||||
|
v-model="addOrEditForm.areaCode"
|
||||||
|
@change="onCountyChange($event)"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
:key="item.areaId"
|
||||||
|
:value="item.areaCode * 1"
|
||||||
|
:label="item.areaName"
|
||||||
|
v-for="item in areaCountyList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="address" label="详细地址">
|
||||||
|
<el-input
|
||||||
|
style="width: 95%"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入详细地址"
|
||||||
|
v-model="addOrEditForm.address"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
class="primary-lease"
|
||||||
|
@click="addOrEditDialogVisible = false"
|
||||||
|
>取消</el-button
|
||||||
|
>
|
||||||
|
<el-button class="primary-lease" type="primary" @click="onSubmit">
|
||||||
|
提交
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -314,8 +422,8 @@ import {
|
||||||
deleteCartByIdApi,
|
deleteCartByIdApi,
|
||||||
getBookCarAgreementApi,
|
getBookCarAgreementApi,
|
||||||
} from 'http/api/cart/index'
|
} from 'http/api/cart/index'
|
||||||
|
import { getAreaApi } from 'http/api/home'
|
||||||
import { getAddressListApi } from 'http/api/address-manage/index'
|
import { getAddressListApi, addAddressInfoApi } from 'http/api/address-manage/index'
|
||||||
import moment, { max } from 'moment'
|
import moment, { max } from 'moment'
|
||||||
import { InfoFilled } from '@element-plus/icons-vue'
|
import { InfoFilled } from '@element-plus/icons-vue'
|
||||||
import CustomDatePickerButton from './components/date-picker-button.vue'
|
import CustomDatePickerButton from './components/date-picker-button.vue'
|
||||||
|
|
@ -334,6 +442,23 @@ const bookCarAgreement = ref('')
|
||||||
const addressTitle = ref('请选择收货地址')
|
const addressTitle = ref('请选择收货地址')
|
||||||
const activeNames = ref('')
|
const activeNames = ref('')
|
||||||
const addressList = ref<any>([])
|
const addressList = ref<any>([])
|
||||||
|
const addOrEditDialogVisible = ref(false)
|
||||||
|
const addOrEditForm = ref<any>({
|
||||||
|
areaCode: '', // 省
|
||||||
|
cityCode: '', // 市
|
||||||
|
provinceCode: '', // 区
|
||||||
|
address: '', // 详细地址
|
||||||
|
})
|
||||||
|
const addOrEditFormRef = ref<any>(null)
|
||||||
|
const addOrEditFormRules = reactive({
|
||||||
|
areaCode: [{ required: true, message: '请选择项目所在区/县', trigger: 'change' }],
|
||||||
|
cityCode: [{ required: true, message: '请选择项目所在市', trigger: 'change' }],
|
||||||
|
provinceCode: [{ required: true, message: '请选择项目所在省', trigger: 'change' }],
|
||||||
|
address: [{ required: true, message: '请输入项目详细地址', trigger: 'blur' }],
|
||||||
|
})
|
||||||
|
const areaList = ref<any>([]) // 省
|
||||||
|
const areaCityList = ref<any>([]) // 市
|
||||||
|
const areaCountyList = ref<any>([]) // 区/县
|
||||||
const getBookCarDetailsData = async () => {
|
const getBookCarDetailsData = async () => {
|
||||||
const res: any = await getBookCarDetailsApi()
|
const res: any = await getBookCarDetailsApi()
|
||||||
|
|
||||||
|
|
@ -370,6 +495,59 @@ onMounted(() => {
|
||||||
// item.days = moment(e[1]).diff(e[0], 'day')
|
// item.days = moment(e[1]).diff(e[0], 'day')
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
const handleAddress = () => {
|
||||||
|
addOrEditDialogVisible.value = true
|
||||||
|
getAreaData()
|
||||||
|
nextTick(() => {
|
||||||
|
addOrEditFormRef.value.resetFields()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const getAreaData = async () => {
|
||||||
|
try {
|
||||||
|
const res: any = await getAreaApi(0)
|
||||||
|
areaList.value = res.data
|
||||||
|
} catch (error) {
|
||||||
|
console.log('🚀 ~ getAreaData ~ error:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const onProvinceChange = async (id: any) => {
|
||||||
|
try {
|
||||||
|
const res: any = await getAreaApi(id)
|
||||||
|
areaCityList.value = res.data
|
||||||
|
} catch (error) {
|
||||||
|
console.log('🚀 ~ onProvinceChange ~ error:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const onCityChange = async (id: any) => {
|
||||||
|
try {
|
||||||
|
const res: any = await getAreaApi(id)
|
||||||
|
areaCountyList.value = res.data
|
||||||
|
} catch (error) {
|
||||||
|
console.log('🚀 ~ onCityChange ~ error:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const onCountyChange = async (id: any) => {}
|
||||||
|
// 提交
|
||||||
|
const onSubmit = () => {
|
||||||
|
addOrEditFormRef.value.validate(async (valid: any) => {
|
||||||
|
if (valid) {
|
||||||
|
try {
|
||||||
|
const res: any = await addAddressInfoApi(addOrEditForm.value)
|
||||||
|
if (res.code === 200) {
|
||||||
|
ElMessage({
|
||||||
|
type: 'success',
|
||||||
|
message: '提交成功',
|
||||||
|
})
|
||||||
|
|
||||||
|
addOrEditDialogVisible.value = false
|
||||||
|
getReceiptGoodsAddress()
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log('🚀 ~ addOrEditFormRef.value.validate ~ error:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
const onLeaseDateChange = (value: any, companyIndex: number, goodsIndex: number) => {
|
const onLeaseDateChange = (value: any, companyIndex: number, goodsIndex: number) => {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
cardList.value[companyIndex].devInfoVoList[goodsIndex].rentBeginTime = ''
|
cardList.value[companyIndex].devInfoVoList[goodsIndex].rentBeginTime = ''
|
||||||
|
|
@ -959,4 +1137,14 @@ getReceiptGoodsAddress()
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
:deep(.el-button--primary) {
|
||||||
|
background-color: #3cb4a6 !important;
|
||||||
|
border-color: #3cb4a6 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-button--primary:hover),
|
||||||
|
:deep(.el-button--primary:focus),
|
||||||
|
:deep(.el-button--primary:active) {
|
||||||
|
background-color: #2fa18f !important;
|
||||||
|
border-color: #2fa18f !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<FooterInfo />
|
<!-- <FooterInfo /> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
active: val.isChecked,
|
active: val.isChecked,
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<span style="color: #333">{{ val.name }}</span>
|
<span>{{ val.name }}</span>
|
||||||
<!-- <span v-else>
|
<!-- <span v-else>
|
||||||
{{ val.name }}
|
{{ val.name }}
|
||||||
{{
|
{{
|
||||||
|
|
@ -810,7 +810,7 @@ const onHandleDetails = (id: number | string) => {
|
||||||
padding: 2px 16px;
|
padding: 2px 16px;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #939393;
|
color: #333;
|
||||||
// font-size: 15px;
|
// font-size: 15px;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
|
|
@ -918,4 +918,14 @@ const onHandleDetails = (id: number | string) => {
|
||||||
margin-right: 6px;
|
margin-right: 6px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:deep(.el-button--primary) {
|
||||||
|
background-color: #3cb4a6 !important;
|
||||||
|
border-color: #3cb4a6 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-button--primary:hover),
|
||||||
|
:deep(.el-button--primary:focus),
|
||||||
|
:deep(.el-button--primary:active) {
|
||||||
|
background-color: #2fa18f !important;
|
||||||
|
border-color: #2fa18f !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -307,8 +307,16 @@ onMounted(async () => {
|
||||||
class="item-nav"
|
class="item-nav"
|
||||||
@click="onSharedHallByCompany(item.companyId, item.companyName)"
|
@click="onSharedHallByCompany(item.companyId, item.companyName)"
|
||||||
>
|
>
|
||||||
{{ item.companyName }}
|
<div
|
||||||
{{ item.maCount ? `(${item.maCount})` : '(0)' }}
|
style="
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.companyName }}
|
||||||
|
</div>
|
||||||
|
<div>{{ item.maCount ? `(${item.maCount})` : '(0)' }}</div>
|
||||||
</li>
|
</li>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -523,6 +531,7 @@ onMounted(async () => {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
.item-nav {
|
.item-nav {
|
||||||
|
width: calc(100% - 50px);
|
||||||
// text-align: left;
|
// text-align: left;
|
||||||
// padding-left: 50px;
|
// padding-left: 50px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
<div class="message-send">
|
<div class="message-send">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="sendParams.messageContent"
|
v-model="sendParams.messageContent"
|
||||||
style="width: 88%; margin-right: 16px"
|
style="width: 88%; margin-right: 16px;border-color: #00a288"
|
||||||
:autosize="{ minRows: 2, maxRows: 30 }"
|
:autosize="{ minRows: 2, maxRows: 30 }"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
/>
|
/>
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<FooterInfo />
|
<!-- <FooterInfo /> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -362,4 +362,8 @@ onUnmounted(() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:deep .el-textarea__inner:focus {
|
||||||
|
border-color: #00a89c;
|
||||||
|
box-shadow: 0 0 0 1px #00a288 !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -223,7 +223,7 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<FooterInfo />
|
<!-- <FooterInfo /> -->
|
||||||
|
|
||||||
<!-- 租赁协议 -->
|
<!-- 租赁协议 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
|
|
|
||||||
|
|
@ -1713,7 +1713,7 @@ const handleDel = (index: any) => {
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogFormVisibleSettlein"
|
v-model="dialogFormVisibleSettlein"
|
||||||
:title="settleinTitle"
|
:title="settleinTitle"
|
||||||
width="65%"
|
width="55%"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
class="centered-dialog"
|
class="centered-dialog"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
|
|
@ -2787,10 +2787,11 @@ const handleDel = (index: any) => {
|
||||||
flex-direction: column !important;
|
flex-direction: column !important;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
position: absolute !important;
|
position: absolute !important;
|
||||||
top: 50% !important;
|
top: 5vh !important;
|
||||||
left: 50% !important;
|
left: 50% !important;
|
||||||
transform: translate(-50%, -50%) !important;
|
transform: translate(-50%, 0%) !important;
|
||||||
max-height: 100vh !important;
|
/* max-height: 100vh !important; */
|
||||||
|
height: 90vh;
|
||||||
.el-dialog__body {
|
.el-dialog__body {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow-y: scroll !important;
|
overflow-y: scroll !important;
|
||||||
|
|
@ -2803,4 +2804,14 @@ const handleDel = (index: any) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:deep(.el-button--primary) {
|
||||||
|
background-color: #3cb4a6 !important;
|
||||||
|
border-color: #3cb4a6 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-button--primary:hover),
|
||||||
|
:deep(.el-button--primary:focus),
|
||||||
|
:deep(.el-button--primary:active) {
|
||||||
|
background-color: #2fa18f !important;
|
||||||
|
border-color: #2fa18f !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ const lessorMenus: MenuItem[] = [
|
||||||
{ title: '装备管理', name: 'goodsManagement', permission: ['1'] },
|
{ title: '装备管理', name: 'goodsManagement', permission: ['1'] },
|
||||||
{ title: '出租订单', name: 'orderManagementCz', permission: ['1'] },
|
{ title: '出租订单', name: 'orderManagementCz', permission: ['1'] },
|
||||||
{ title: '接单管理', name: 'accept-orders', permission: ['1'] },
|
{ title: '接单管理', name: 'accept-orders', permission: ['1'] },
|
||||||
{ title: '质检管理', name: 'quality-manage', permission: ['1'] },
|
{ title: '装备维保', name: 'quality-manage', permission: ['1'] },
|
||||||
{ title: '合同管理', name: 'contract-manage', permission: ['1'] },
|
{ title: '合同管理', name: 'contract-manage', permission: ['1'] },
|
||||||
{ title: '后台管理', name: 'admin', permission: ['1'] },
|
{ title: '后台管理', name: 'admin', permission: ['1'] },
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- 质检管理 -->
|
<!-- 装备维保 -->
|
||||||
<div class="app-container-content">
|
<div class="app-container-content">
|
||||||
<el-form
|
<el-form
|
||||||
:inline="true"
|
:inline="true"
|
||||||
|
|
@ -90,7 +90,6 @@
|
||||||
|
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<el-table
|
<el-table
|
||||||
border
|
|
||||||
:data="qualityLis"
|
:data="qualityLis"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:header-cell-style="{
|
:header-cell-style="{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue