feat: 新增项目总览API并优化球机分配功能
新增项目总览API接口,用于查询项目列表 优化球机分配功能,增加分配状态判断和自动刷新列表 修改项目总览页面,移除无用tab并简化施工单位输入 格式化球机分配时间,确保数据格式统一
This commit is contained in:
parent
c0917ad406
commit
ed7bce1f73
|
|
@ -0,0 +1,10 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询项目总览列表
|
||||||
|
export function FetchProjectOverviewList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/manage/contractor/projectFullProcess/list ',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -1,21 +1,13 @@
|
||||||
<!-- 业主模块-项目总览-列表页 -->
|
<!-- 业主模块-项目总览-列表页 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="MainBox">
|
<div class="MainBox">
|
||||||
<el-tabs v-model="activeTab" class="mb-4">
|
|
||||||
<el-tab-pane label="签发列表" name="1"></el-tab-pane>
|
|
||||||
<el-tab-pane label="历史记录" name="2"></el-tab-pane>
|
|
||||||
<el-tab-pane label="统计报表" name="3"></el-tab-pane>
|
|
||||||
</el-tabs>
|
|
||||||
<el-form :model="queryForm" inline class="card-box mb-4" label-position="top">
|
<el-form :model="queryForm" inline class="card-box mb-4" label-position="top">
|
||||||
<el-form-item label="项目名称/编号">
|
<el-form-item label="项目名称/编号">
|
||||||
<el-input v-model="queryForm.name" placeholder="请输入项目名称/编号"></el-input>
|
<el-input v-model="queryForm.name" placeholder="请输入项目名称/编号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="施工单位">
|
<el-form-item label="施工单位">
|
||||||
<el-select v-model="queryForm.enterpriseName" placeholder="请选择施工单位">
|
<el-input v-model="queryForm.enterpriseName" placeholder="请输入施工单位"></el-input>
|
||||||
<el-option label="单位1" value="1"></el-option>
|
|
||||||
<el-option label="单位2" value="2"></el-option>
|
|
||||||
<el-option label="单位3" value="3"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="作业类型">
|
<el-form-item label="作业类型">
|
||||||
<el-select v-model="queryForm.jobType" placeholder="请选择作业类型">
|
<el-select v-model="queryForm.jobType" placeholder="请选择作业类型">
|
||||||
|
|
@ -92,7 +84,6 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup name="Index">
|
<script setup name="Index">
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
const activeTab = ref("1"); // 当前选中的tab
|
|
||||||
|
|
||||||
// 查询表单数据
|
// 查询表单数据
|
||||||
const queryForm = ref({
|
const queryForm = ref({
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="180">
|
<el-table-column label="操作" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button size="small" type="text" @click="handleAssignBallhead(scope.row)">分配球机</el-button>
|
<el-button v-if="scope.row.allocStatus === '0'" size="small" type="text" @click="handleAssignBallhead(scope.row)">分配球机</el-button>
|
||||||
<el-button size="small" type="primary" link @click="handleViewDetail(scope.row)">查看详情</el-button>
|
<el-button size="small" type="primary" link @click="handleViewDetail(scope.row)">查看详情</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -182,6 +182,7 @@ const handleCancel = () => {
|
||||||
console.log('关闭弹窗')
|
console.log('关闭弹窗')
|
||||||
dialogShow.value = false
|
dialogShow.value = false
|
||||||
isReadonly.value = false
|
isReadonly.value = false
|
||||||
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import dayjs from 'dayjs'
|
||||||
import { ref, watch, defineProps } from 'vue'
|
import { ref, watch, defineProps } from 'vue'
|
||||||
import { listAvailableCamera, confirmAllocation, getAllocationDetail, getCameraDetail } from '@/api/tenement/highRiskProject'
|
import { listAvailableCamera, confirmAllocation, getAllocationDetail, getCameraDetail } from '@/api/tenement/highRiskProject'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
@ -359,10 +360,11 @@ const handleSubmit = async () => {
|
||||||
|
|
||||||
// 准备提交数据
|
// 准备提交数据
|
||||||
const submitData = {
|
const submitData = {
|
||||||
|
applicationId: props.projectInfo?.applicationId || '', // 球机申请表ID
|
||||||
projectId: props.projectInfo?.id || props.projectInfo?.projectId, // 项目ID
|
projectId: props.projectInfo?.id || props.projectInfo?.projectId, // 项目ID
|
||||||
cameraIds: selectedCameras.value.map(camera => camera.id || camera.cameraId), // 选中的球机ID数组
|
cameraIds: selectedCameras.value.map(camera => camera.id || camera.cameraId), // 选中的球机ID数组
|
||||||
allocBy: form.value.assigner, // 分配人
|
allocBy: form.value.assigner, // 分配人
|
||||||
allocTime: form.value.assignTime, // 分配时间
|
allocTime: dayjs(form.value.assignTime).format('YYYY-MM-DD HH:mm:ss'), // 分配时间
|
||||||
allocNote: form.value.deliveryAddress // 配送地址
|
allocNote: form.value.deliveryAddress // 配送地址
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue