冲突合并

This commit is contained in:
songyang 2023-12-06 14:19:48 +08:00
commit 0848782d52
8 changed files with 313 additions and 138 deletions

10
components.d.ts vendored
View File

@ -10,7 +10,13 @@ declare module 'vue' {
ElButton: typeof import('element-plus/es')['ElButton'] ElButton: typeof import('element-plus/es')['ElButton']
ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarousel: typeof import('element-plus/es')['ElCarousel']
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
<<<<<<< HEAD
ElDivider: typeof import('element-plus/es')['ElDivider'] ElDivider: typeof import('element-plus/es')['ElDivider']
=======
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCol: typeof import('element-plus/es')['ElCol']
ElDialog: typeof import('element-plus/es')['ElDialog']
>>>>>>> dev-songyang
ElForm: typeof import('element-plus/es')['ElForm'] ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIcon: typeof import('element-plus/es')['ElIcon'] ElIcon: typeof import('element-plus/es')['ElIcon']
@ -19,14 +25,12 @@ declare module 'vue' {
ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
ElOption: typeof import('element-plus/es')['ElOption'] ElOption: typeof import('element-plus/es')['ElOption']
ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
ElPagination: typeof import('element-plus/es')['ElPagination'] ElPagination: typeof import('element-plus/es')['ElPagination']
ElProgress: typeof import('element-plus/es')['ElProgress'] ElProgress: typeof import('element-plus/es')['ElProgress']
ElSelect: typeof import('element-plus/es')['ElSelect'] ElSelect: typeof import('element-plus/es')['ElSelect']
ElTable: typeof import('element-plus/es')['ElTable'] ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTimeline: typeof import('element-plus/es')['ElTimeline'] ElTag: typeof import('element-plus/es')['ElTag']
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
ElUpload: typeof import('element-plus/es')['ElUpload'] ElUpload: typeof import('element-plus/es')['ElUpload']
EquipCard: typeof import('./src/components/equipCard.vue')['default'] EquipCard: typeof import('./src/components/equipCard.vue')['default']
EquipDetailTable: typeof import('./src/components/equipDetailTable.vue')['default'] EquipDetailTable: typeof import('./src/components/equipDetailTable.vue')['default']

View File

@ -6,7 +6,7 @@
const handleSelectionChange = (val: any) => { const handleSelectionChange = (val: any) => {
const codeList = val.map((ele: any) => { const codeList = val.map((ele: any) => {
return ele.v_code return ele
}) })
// console.log("code", codeList) // console.log("code", codeList)

View File

@ -0,0 +1,14 @@
// 个人中心 承租下的上下架页面
import { get, post } from '../../index'
// 装备上架接口
export const goodsUpApi = (data: any) => {
return post('/off', data)
}
// 装备下架接口
export const goodsDownApi = (data: any) => {
return post('/off', data)
}

View File

@ -154,7 +154,18 @@ const routes: Array<RouteRecordRaw> = [
name: 'orderManagementCz', name: 'orderManagementCz',
component: () => import('views/user/orderManagementCz/index.vue'), component: () => import('views/user/orderManagementCz/index.vue'),
meta: { meta: {
title: '基础信息', title: '订单管理(承租)',
keepAlive: true,
AuthFlag: false
},
},
/* 订单管理(结算) */
{
path: 'settlement',
name: 'settlement',
component: () => import('views/user/orderManagementCz/settlement/index.vue'),
meta: {
title: '订单管理(结算)',
keepAlive: true, keepAlive: true,
AuthFlag: false AuthFlag: false
}, },

View File

@ -3,6 +3,8 @@
import FormComponent from 'components/FormComponent/index.vue' import FormComponent from 'components/FormComponent/index.vue'
import PagingComponent from 'components/PagingComponent/index.vue' import PagingComponent from 'components/PagingComponent/index.vue'
import uploadComponent from 'components/uploadComponent/index.vue' import uploadComponent from 'components/uploadComponent/index.vue'
import { ElMessage } from 'element-plus'
import { ref } from 'vue' import { ref } from 'vue'
import { useStore } from 'store/user' import { useStore } from 'store/user'
@ -87,9 +89,9 @@
/* /*
* 商品入驻弹框参数 * 商品入驻弹框参数
*/ */
const equipmentDeploymentParams = reactive({ const equipmentDeploymentParams: any = ref({
/* 租赁范围 */ /* 租赁范围 */
easeScope: '', leaseScope: '',
/* 设备所在地 */ /* 设备所在地 */
location: '', location: '',
/* 设备所在地 省 */ /* 设备所在地 省 */
@ -147,16 +149,27 @@
id: '20', id: '20',
utr: 'https://zlpt-1259760603.cos.ap-nanjing.myqcloud.com/488bab245180ebf9f1f3d7db5301be4.png' utr: 'https://zlpt-1259760603.cos.ap-nanjing.myqcloud.com/488bab245180ebf9f1f3d7db5301be4.png'
} }
] ],
/* 设备状态 */
maStatus: 15
}) })
const initData = ref(JSON.parse(JSON.stringify(equipmentDeploymentParams)))
const pageSize = 20 const pageSize = 20
const pageNumber = 1 const pageNumber = 1
const total: any = 20 const total: any = ref(0)
const tableData: any = reactive({
list: []
})
// //
const getList = async () => { const getList = async () => {
const res = await getEquipmentListApi({}) const res: any = await getEquipmentListApi({})
console.log('获取数据列表***', res) console.log('获取数据列表***', res)
total.value = res.total
tableData.list = res.rows
} }
getList() getList()
@ -168,6 +181,9 @@
// //
const editRowInfo = (row: any) => { const editRowInfo = (row: any) => {
console.log(row, '编辑当前数据') console.log(row, '编辑当前数据')
equipmentDeploymentParams.value = row
dialogFormVisibleSettlein.value = true
} }
// //
const deleteRowInfo = (row: any) => { const deleteRowInfo = (row: any) => {
@ -176,6 +192,7 @@
// //
const equipmentDeployment = () => { const equipmentDeployment = () => {
equipmentDeploymentParams.value = initData
// //
dialogFormVisibleSettlein.value = true dialogFormVisibleSettlein.value = true
} }
@ -185,10 +202,18 @@
// //
const submitBtn = async () => { const submitBtn = async () => {
console.log(AssemblyRegisterAddress, '地址***---***') console.log(AssemblyRegisterAddress, '地址***---***')
equipmentDeploymentParams.location = AssemblyRegisterAddress.join(',') equipmentDeploymentParams.value.location = AssemblyRegisterAddress.join(',')
// equipmentDeploymentParams.typeId = deviceType.join(',') // equipmentDeploymentParams.typeId = deviceType.join(',')
const res = await equipmentDeploymentApi(equipmentDeploymentParams) const res: any = await equipmentDeploymentApi(equipmentDeploymentParams)
console.log(res, '商品入驻结果999') if (res.code === 200) {
ElMessage({
type: 'success',
message: '入驻成功'
})
dialogFormVisibleSettlein.value = false
getList()
}
/* ruleFormRef.value.validate((valid: any) => { /* ruleFormRef.value.validate((valid: any) => {
console.log(valid) console.log(valid)
@ -196,62 +221,62 @@
} }
const tableProps: any = ref([ const tableProps: any = ref([
{ v_label: '编码', v_props: 'v_code', v_slot: '', width: '' }, { v_label: '编码', v_props: 'code', v_slot: '', width: '' },
{ v_label: '租赁范围', v_props: 'v_lease_scope', v_slot: '', width: '' }, { v_label: '租赁范围', v_props: 'leaseScope', v_slot: '', width: '' },
{ v_label: '装备类型', v_props: 'v_equipment_type', v_slot: '', width: '' }, { v_label: '装备类型', v_props: 'modelName', v_slot: '', width: '' },
{ v_label: '装备名称', v_props: 'v_equipment_name', v_slot: '', width: '' }, { v_label: '装备名称', v_props: 'v_equipment_name', v_slot: '', width: '' },
{ v_label: '租金', v_props: 'v_rent', v_slot: '', width: '' }, { v_label: '租金', v_props: 'monthLeasePrice', v_slot: '', width: '' },
{ v_label: '状态', v_props: 'v_type', v_slot: 'v_type', width: '' }, { v_label: '状态', v_props: 'maStatus', v_slot: 'v_type', width: '' },
{ v_label: '操作', v_props: 'v_operate', v_slot: 'operate', width: '140px' } { v_label: '操作', v_props: 'v_operate', v_slot: 'operate', width: '140px' }
]) ])
const tableData: any = [ // const tableData: any = [
{ // {
v_code: '123456', // v_code: '123456',
v_lease_scope: '2023/12/12', // v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机', // v_equipment_type: '',
v_equipment_name: '2023新版挖掘机', // v_equipment_name: '2023',
v_rent: '123/月', // v_rent: '123/',
v_type: 1, // v_type: 1,
v_operate: '' // v_operate: ''
}, // },
{ // {
v_code: '123456', // v_code: '123456',
v_lease_scope: '2023/12/12', // v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机', // v_equipment_type: '',
v_equipment_name: '2023新版挖掘机', // v_equipment_name: '2023',
v_rent: '123/月', // v_rent: '123/',
v_type: 2, // v_type: 2,
v_operate: '' // v_operate: ''
}, // },
{ // {
v_code: '123456', // v_code: '123456',
v_lease_scope: '2023/12/12', // v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机', // v_equipment_type: '',
v_equipment_name: '2023新版挖掘机', // v_equipment_name: '2023',
v_rent: '123/月', // v_rent: '123/',
v_type: 3, // v_type: 3,
v_operate: '' // v_operate: ''
}, // },
{ // {
v_code: '123456', // v_code: '123456',
v_lease_scope: '2023/12/12', // v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机', // v_equipment_type: '',
v_equipment_name: '2023新版挖掘机', // v_equipment_name: '2023',
v_rent: '123/月', // v_rent: '123/',
v_type: 3, // v_type: 3,
v_operate: '' // v_operate: ''
}, // },
{ // {
v_code: '123456', // v_code: '123456',
v_lease_scope: '2023/12/12', // v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机', // v_equipment_type: '',
v_equipment_name: '2023新版挖掘机', // v_equipment_name: '2023',
v_rent: '123/月', // v_rent: '123/',
v_type: 3, // v_type: 3,
v_operate: '' // v_operate: ''
} // }
] // ]
// lable // lable
const formItemList: any = ref([ const formItemList: any = ref([
@ -263,7 +288,7 @@
]) ])
// //
const dialogFormVisibleSettlein = ref(false) const dialogFormVisibleSettlein: any = ref(false)
const rules = ref({ const rules = ref({
v_name: [ v_name: [
@ -293,11 +318,12 @@
</FormComponent> </FormComponent>
<!-- 表格 --> <!-- 表格 -->
<TableComponent :tableProps="tableProps" :tableData="tableData" @getRowId="getRowId"> <TableComponent :tableProps="tableProps" :tableData="tableData.list" @getRowId="getRowId">
<template v-slot:v_type="{ row }"> <template v-slot:v_type="{ row }">
<el-tag v-if="row.v_type === 1" size="small" type="success">租赁中</el-tag> <el-tag v-if="row.maStatus === '15'" size="small" type="info">待上架审批</el-tag>
<el-tag v-if="row.v_type === 2" size="small" type="warning">已上架</el-tag> <el-tag v-if="row.maStatus === '16'" size="small" type="warning">待租</el-tag>
<el-tag v-if="row.v_type === 3" size="small" type="info">待上架</el-tag> <el-tag v-if="row.maStatus === '17'" size="small" type="success">在租</el-tag>
<el-tag v-if="row.maStatus === '18'" size="small" type="danger">下架</el-tag>
</template> </template>
<template v-slot:operate="{ row }"> <template v-slot:operate="{ row }">
<el-button size="small" type="primary" @click="editRowInfo(row)">编辑</el-button> <el-button size="small" type="primary" @click="editRowInfo(row)">编辑</el-button>
@ -323,7 +349,7 @@
<el-input <el-input
autocomplete="off" autocomplete="off"
style="width: 360px" style="width: 360px"
v-model="equipmentDeploymentParams.easeScope" v-model="equipmentDeploymentParams.leaseScope"
clearable /> clearable />
</el-form-item> </el-form-item>
<el-form-item label="设备所在地"> <el-form-item label="设备所在地">
@ -484,8 +510,8 @@
style="width: 220px; margin: 0 5px" style="width: 220px; margin: 0 5px"
clearable clearable
v-model="equipmentDeploymentParams.isOperator"> v-model="equipmentDeploymentParams.isOperator">
<el-option label="是" value="1"></el-option> <el-option label="是" value="0"></el-option>
<el-option label="是" value="2"></el-option> <el-option label="否" value="1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>

View File

@ -5,25 +5,58 @@
import TableComponent from 'components/TableComponent/index.vue' import TableComponent from 'components/TableComponent/index.vue'
import FormComponent from 'components/FormComponent/index.vue' import FormComponent from 'components/FormComponent/index.vue'
import PagingComponent from 'components/PagingComponent/index.vue' import PagingComponent from 'components/PagingComponent/index.vue'
import { getEquipmentListApi } from 'http/api/usercenter/goodsmang'
import { goodsUpApi } from 'http/api/usercenter/goodsupdown'
import { ElMessage } from 'element-plus'
const pageSize = 20 const pageSize = 20
const pageNumber = 1 const pageNumber = 1
const total: any = 20 const total: any = ref(0)
//
const groundingParams: any = ref([])
// //
const getList = () => { const getList = async () => {
console.log('获取数据列表***') const res: any = await getEquipmentListApi({})
console.log('获取数据列表***', res)
total.value = res.total
tableData.value = res.rows
} }
// getList()
//
const getRowId = (val: any) => { const getRowId = (val: any) => {
console.log(val, '需要删除的数据源**') console.log(val, '需要删除的数据源**')
val.forEach((item: any, index: any) => {
groundingParams.value[index] = {
/* 设备id */
maId: item.maId,
/* 申请时间 */
applyTime: '',
/* 申请人 */
applyUser: '',
/* 申请企业*/
applyCompany: '',
/* 1为上架 2为下架 */
type: 1
}
})
} }
// //
const handleGrounding = () => { const handleGrounding = async () => {
console.log('上架设备') const res: any = await goodsUpApi(groundingParams.value)
if (res.code === 200) {
ElMessage({
type: 'success',
message: '批量上架申请成功'
})
getList()
groundingParams.value = []
}
} }
// //
const handleOffshelf = () => { const handleOffshelf = () => {
console.log('下架设备') console.log('下架设备')
} }
@ -35,64 +68,45 @@
const deleteRowInfo = (row: any) => { const deleteRowInfo = (row: any) => {
console.log(row, '删除当前数据') console.log(row, '删除当前数据')
} }
//
const groundingBtn = async (row: any) => {
groundingParams.value[0] = {
/* 设备id */
maId: row.maId,
/* 申请时间 */
applyTime: '',
/* 申请人 */
applyUser: '',
/* 申请企业*/
applyCompany: '',
/* 1为上架 2为下架 */
type: 1
}
const res: any = await goodsUpApi(groundingParams.value)
if (res.code === 200) {
ElMessage({
type: 'success',
message: '上架申请成功'
})
getList()
groundingParams.value = []
}
}
//
const offShelfBtn = () => {}
const tableProps: any = ref([ const tableProps: any = ref([
{ v_label: '编码', v_props: 'v_code', v_slot: '', width: '' }, { v_label: '编码', v_props: 'code', v_slot: '', width: '' },
{ v_label: '租赁范围', v_props: 'v_lease_scope', v_slot: '', width: '' }, { v_label: '租赁范围', v_props: 'leaseScope', v_slot: '', width: '' },
{ v_label: '装备类型', v_props: 'v_equipment_type', v_slot: '', width: '' }, { v_label: '装备类型', v_props: 'modelName', v_slot: '', width: '' },
{ v_label: '装备名称', v_props: 'v_equipment_name', v_slot: '', width: '' }, { v_label: '装备名称', v_props: 'v_equipment_name', v_slot: '', width: '' },
{ v_label: '租金', v_props: 'v_rent', v_slot: '', width: '' }, { v_label: '租金', v_props: 'monthLeasePrice', v_slot: '', width: '' },
{ v_label: '状态', v_props: 'v_type', v_slot: 'v_type', width: '' }, { v_label: '状态', v_props: 'maStatus', v_slot: 'v_type', width: '' },
{ v_label: '操作', v_props: 'v_operate', v_slot: 'operate', width: '140px' } { v_label: '操作', v_props: 'v_operate', v_slot: 'operate', width: '200px' }
]) ])
const tableData: any = [ const tableData: any = ref([])
{
v_code: '123456',
v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机',
v_equipment_name: '2023新版挖掘机',
v_rent: '123/月',
v_type: 1,
v_operate: ''
},
{
v_code: '123456',
v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机',
v_equipment_name: '2023新版挖掘机',
v_rent: '123/月',
v_type: 2,
v_operate: ''
},
{
v_code: '123456',
v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机',
v_equipment_name: '2023新版挖掘机',
v_rent: '123/月',
v_type: 3,
v_operate: ''
},
{
v_code: '123456',
v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机',
v_equipment_name: '2023新版挖掘机',
v_rent: '123/月',
v_type: 3,
v_operate: ''
},
{
v_code: '123456',
v_lease_scope: '2023/12/12',
v_equipment_type: '挖掘机',
v_equipment_name: '2023新版挖掘机',
v_rent: '123/月',
v_type: 3,
v_operate: ''
}
]
// lable // lable
const formItemList: any = ref([ const formItemList: any = ref([
@ -110,7 +124,7 @@
<FormComponent :formItemList="formItemList"> <FormComponent :formItemList="formItemList">
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleGrounding">批量上架</el-button> <el-button type="primary" @click="handleGrounding">批量上架</el-button>
<el-button type="wanring" @click="handleOffshelf">批量下架</el-button> <el-button type="warning" @click="handleOffshelf">批量下架</el-button>
</el-form-item> </el-form-item>
</FormComponent> </FormComponent>
@ -118,11 +132,14 @@
<TableComponent :tableProps="tableProps" :tableData="tableData" @getRowId="getRowId"> <TableComponent :tableProps="tableProps" :tableData="tableData" @getRowId="getRowId">
<template v-slot:v_type="{ row }"> <template v-slot:v_type="{ row }">
<el-tag v-if="row.v_type === 1" size="small" type="success">租赁中</el-tag> <el-tag v-if="row.maStatus === '15'" size="small" type="info">待上架审批</el-tag>
<el-tag v-if="row.v_type === 2" size="small" type="warning">已上架</el-tag> <el-tag v-if="row.maStatus === '16'" size="small" type="warning">待租</el-tag>
<el-tag v-if="row.v_type === 3" size="small" type="info">待上架</el-tag> <el-tag v-if="row.maStatus === '17'" size="small" type="success">在租</el-tag>
<el-tag v-if="row.maStatus === '18'" size="small" type="danger">下架</el-tag>
</template> </template>
<template v-slot:operate="{ row }"> <template v-slot:operate="{ row }">
<el-button size="small" type="primary" @click="groundingBtn(row)">上架</el-button>
<el-button size="small" type="primary" @click="offShelfBtn(row)">下架</el-button>
<el-button size="small" type="primary" @click="editRowInfo(row)">编辑</el-button> <el-button size="small" type="primary" @click="editRowInfo(row)">编辑</el-button>
<el-button size="small" type="danger" @click="deleteRowInfo(row)">删除</el-button> <el-button size="small" type="danger" @click="deleteRowInfo(row)">删除</el-button>
</template> </template>

View File

@ -2,6 +2,7 @@
import { ref } from 'vue' import { ref } from 'vue'
const queryParams = ref({}) const queryParams = ref({})
import PagingComponent from 'components/PagingComponent/index.vue' import PagingComponent from 'components/PagingComponent/index.vue'
const pageSize = 20 const pageSize = 20
const pageNumber = 1 const pageNumber = 1
const total: any = 20 const total: any = 20

View File

@ -0,0 +1,102 @@
<script setup lang="ts"></script>
<template>
<el-form :inline="true" label-width="120px">
<el-row>
<el-form-item>订单编号 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item>单位 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>联系电话 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>租赁时长 xxxxx12134566</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item>设备进场地址 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>详细地址 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>项目说明 xxxxx12134566</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item>设备编号 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>设备类型 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>设备组别 xxxxx12134566</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item>设备名称 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>设备规格 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>机手需求 xxxxx12134566</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item>租金 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>发票类型 xxxxx12134566</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>订单起止时间 xxxxx12134566</el-form-item>
</el-col>
</el-row>
<h3>费用明细</h3>
<el-table border>
<el-table-column label="订单起止时间"></el-table-column>
<el-table-column label="租赁时常"></el-table-column>
<el-table-column label="租金"></el-table-column>
<el-table-column label="合计"></el-table-column>
</el-table>
<el-form-item>
<el-button>添加增项</el-button>
<el-button>添加减项</el-button>
</el-form-item>
<el-table border>
<el-table-column label="类别"></el-table-column>
<el-table-column label="描述"></el-table-column>
<el-table-column label="金额"></el-table-column>
</el-table>
<br />
<el-form-item>订单金额 xxxx</el-form-item>
<el-form-item>
<el-button>确认结算</el-button>
</el-form-item>
</el-form>
</template>
<style lang="scss">
.el-form {
padding: 15px;
h3 {
margin: 10px 0;
font-size: 16px;
color: #333;
font-weight: bold;
}
}
</style>