This commit is contained in:
parent
7f3864ca30
commit
f1ed58f691
|
|
@ -367,7 +367,7 @@ const routes: Array<RouteRecordRaw> = [
|
|||
name: 'quality-manage',
|
||||
component: () => import('views/user/lessor/quality-manage/index.vue'),
|
||||
meta: {
|
||||
title: '质检管理',
|
||||
title: '装备维保',
|
||||
keepAlive: true,
|
||||
AuthFlag: false,
|
||||
isLogin: true
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ onMounted(() => {})
|
|||
</el-config-provider>
|
||||
</div>
|
||||
</div>
|
||||
<FooterInfo />
|
||||
<!-- <FooterInfo /> -->
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
|
||||
<div class="protocol-handle" v-if="cardList.length > 0">
|
||||
<el-row style="margin: 15px 0">
|
||||
<el-col :span="24">
|
||||
<el-col :span="22">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item :title="addressTitle" name="1">
|
||||
<template v-if="addressList.length > 0">
|
||||
|
|
@ -232,6 +232,15 @@
|
|||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</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 style="display: flex; align-items: center">
|
||||
<el-col :span="16">
|
||||
|
|
@ -262,8 +271,9 @@
|
|||
<div style="text-align: right">
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
@click="onCartSubmit"
|
||||
style="padding: 12px 24px; background-color: #1abc9c; color: #fff"
|
||||
style="padding: 12px 24px"
|
||||
>提交</el-button
|
||||
>
|
||||
</div>
|
||||
|
|
@ -274,7 +284,7 @@
|
|||
<Empty v-if="cardList.length == 0" />
|
||||
</div>
|
||||
|
||||
<FooterInfo />
|
||||
<!-- <FooterInfo /> -->
|
||||
|
||||
<!-- 租赁协议 -->
|
||||
<el-dialog
|
||||
|
|
@ -299,6 +309,104 @@
|
|||
</div>
|
||||
<div id="mmm" style="height: 600px"></div>
|
||||
</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>
|
||||
</template>
|
||||
|
||||
|
|
@ -314,8 +422,8 @@ import {
|
|||
deleteCartByIdApi,
|
||||
getBookCarAgreementApi,
|
||||
} from 'http/api/cart/index'
|
||||
|
||||
import { getAddressListApi } from 'http/api/address-manage/index'
|
||||
import { getAreaApi } from 'http/api/home'
|
||||
import { getAddressListApi, addAddressInfoApi } from 'http/api/address-manage/index'
|
||||
import moment, { max } from 'moment'
|
||||
import { InfoFilled } from '@element-plus/icons-vue'
|
||||
import CustomDatePickerButton from './components/date-picker-button.vue'
|
||||
|
|
@ -334,6 +442,23 @@ const bookCarAgreement = ref('')
|
|||
const addressTitle = ref('请选择收货地址')
|
||||
const activeNames = ref('')
|
||||
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 res: any = await getBookCarDetailsApi()
|
||||
|
||||
|
|
@ -370,6 +495,59 @@ onMounted(() => {
|
|||
// 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) => {
|
||||
if (!value) {
|
||||
cardList.value[companyIndex].devInfoVoList[goodsIndex].rentBeginTime = ''
|
||||
|
|
@ -959,4 +1137,14 @@ getReceiptGoodsAddress()
|
|||
text-decoration: underline;
|
||||
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>
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<FooterInfo />
|
||||
<!-- <FooterInfo /> -->
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
active: val.isChecked,
|
||||
}"
|
||||
>
|
||||
<span style="color: #333">{{ val.name }}</span>
|
||||
<span>{{ val.name }}</span>
|
||||
<!-- <span v-else>
|
||||
{{ val.name }}
|
||||
{{
|
||||
|
|
@ -810,7 +810,7 @@ const onHandleDetails = (id: number | string) => {
|
|||
padding: 2px 16px;
|
||||
margin-right: 15px;
|
||||
cursor: pointer;
|
||||
color: #939393;
|
||||
color: #333;
|
||||
// font-size: 15px;
|
||||
font-size: 17px;
|
||||
line-height: 25px;
|
||||
|
|
@ -918,4 +918,14 @@ const onHandleDetails = (id: number | string) => {
|
|||
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>
|
||||
|
|
|
|||
|
|
@ -306,9 +306,17 @@ onMounted(async () => {
|
|||
<li
|
||||
class="item-nav"
|
||||
@click="onSharedHallByCompany(item.companyId, item.companyName)"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
"
|
||||
>
|
||||
{{ item.companyName }}
|
||||
{{ item.maCount ? `(${item.maCount})` : '(0)' }}
|
||||
</div>
|
||||
<div>{{ item.maCount ? `(${item.maCount})` : '(0)' }}</div>
|
||||
</li>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -523,6 +531,7 @@ onMounted(async () => {
|
|||
width: 100%;
|
||||
text-align: center;
|
||||
.item-nav {
|
||||
width: calc(100% - 50px);
|
||||
// text-align: left;
|
||||
// padding-left: 50px;
|
||||
display: inline-block;
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
<div class="message-send">
|
||||
<el-input
|
||||
v-model="sendParams.messageContent"
|
||||
style="width: 88%; margin-right: 16px"
|
||||
style="width: 88%; margin-right: 16px;border-color: #00a288"
|
||||
:autosize="{ minRows: 2, maxRows: 30 }"
|
||||
type="textarea"
|
||||
/>
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<FooterInfo />
|
||||
<!-- <FooterInfo /> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -362,4 +362,8 @@ onUnmounted(() => {
|
|||
}
|
||||
}
|
||||
}
|
||||
:deep .el-textarea__inner:focus {
|
||||
border-color: #00a89c;
|
||||
box-shadow: 0 0 0 1px #00a288 !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@
|
|||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
<FooterInfo />
|
||||
<!-- <FooterInfo /> -->
|
||||
|
||||
<!-- 租赁协议 -->
|
||||
<el-dialog
|
||||
|
|
|
|||
|
|
@ -1713,7 +1713,7 @@ const handleDel = (index: any) => {
|
|||
<el-dialog
|
||||
v-model="dialogFormVisibleSettlein"
|
||||
:title="settleinTitle"
|
||||
width="65%"
|
||||
width="55%"
|
||||
destroy-on-close
|
||||
class="centered-dialog"
|
||||
:close-on-click-modal="false"
|
||||
|
|
@ -2787,10 +2787,11 @@ const handleDel = (index: any) => {
|
|||
flex-direction: column !important;
|
||||
margin: 0 !important;
|
||||
position: absolute !important;
|
||||
top: 50% !important;
|
||||
top: 5vh !important;
|
||||
left: 50% !important;
|
||||
transform: translate(-50%, -50%) !important;
|
||||
max-height: 100vh !important;
|
||||
transform: translate(-50%, 0%) !important;
|
||||
/* max-height: 100vh !important; */
|
||||
height: 90vh;
|
||||
.el-dialog__body {
|
||||
flex: 1;
|
||||
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>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ const lessorMenus: MenuItem[] = [
|
|||
{ title: '装备管理', name: 'goodsManagement', permission: ['1'] },
|
||||
{ title: '出租订单', name: 'orderManagementCz', 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: 'admin', permission: ['1'] },
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<!-- 质检管理 -->
|
||||
<!-- 装备维保 -->
|
||||
<div class="app-container-content">
|
||||
<el-form
|
||||
:inline="true"
|
||||
|
|
@ -90,7 +90,6 @@
|
|||
|
||||
<!-- 表格 -->
|
||||
<el-table
|
||||
border
|
||||
:data="qualityLis"
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
|
|
|
|||
Loading…
Reference in New Issue