需求管理页面完善
This commit is contained in:
parent
97349aaec8
commit
a876914ce1
|
|
@ -4,11 +4,19 @@ import { get, post } from '../../index'
|
|||
export const addLeaseInfoApi = (data: any) => {
|
||||
return post('/material-mall/ma-lease/add', data)
|
||||
}
|
||||
// 需求管理编辑
|
||||
export const editLeaseInfoApi = (data: any) => {
|
||||
return post('/material-mall/ma-lease/edit', data)
|
||||
}
|
||||
// 需求列表查询
|
||||
export const getLeaseListApi = () => {
|
||||
return get('/material-mall/ma-lease/list', {})
|
||||
export const getLeaseListApi = (data: any) => {
|
||||
return get('/material-mall/ma-lease/list', data)
|
||||
}
|
||||
// 需求列表详情
|
||||
export const getLeaseDetailsByIdApi = (data: any) => {
|
||||
return get('/material-mall/ma-lease/getById', data)
|
||||
}
|
||||
// 删除
|
||||
export const deleteLeaseInfoApi = () => {
|
||||
return get('/material-mall/ma-lease/list', {})
|
||||
export const deleteLeaseInfoApi = (data: any) => {
|
||||
return post('/material-mall/ma-lease/deleteById', data)
|
||||
}
|
||||
|
|
@ -1,27 +1,85 @@
|
|||
<template>
|
||||
<!-- 寻源需求 -->
|
||||
<el-form :inline="true" size="default" label-width="auto">
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入需求名称" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入需求编号" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input placeholder="需求状态" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input placeholder="截止日期" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input placeholder="发布时间" />
|
||||
</el-form-item>
|
||||
<el-form
|
||||
:inline="true"
|
||||
size="default"
|
||||
label-width="0"
|
||||
ref="searchFormRef"
|
||||
:model="searchParams"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="leaseName">
|
||||
<el-input
|
||||
style="width: 100%"
|
||||
placeholder="请输入需求名称"
|
||||
v-model="searchParams.leaseName"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="leaseCode">
|
||||
<el-input
|
||||
style="width: 100%"
|
||||
placeholder="请输入需求编号"
|
||||
v-model="searchParams.leaseCode"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="leaseStatus">
|
||||
<el-select
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="选择需求状态"
|
||||
v-model="searchParams.leaseStatus"
|
||||
>
|
||||
<el-option label="待接单" :value="0" />
|
||||
<el-option label="已接单" :value="1" />
|
||||
<el-option label="已到期" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item>
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="endTime"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
value-format="YYYY-MM-DD"
|
||||
start-placeholder="截止开始日期"
|
||||
end-placeholder="截止结束日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item>
|
||||
<el-date-picker
|
||||
v-model="releaseTime"
|
||||
style="width: 100%"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
value-format="YYYY-MM-DD"
|
||||
start-placeholder="发布开始日期"
|
||||
end-placeholder="发布结束日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item>
|
||||
<el-button>查询</el-button>
|
||||
<el-button>重置</el-button>
|
||||
<el-button @click="getLeaseListData" type="primary">查询</el-button>
|
||||
<el-button @click="onReset">重置</el-button>
|
||||
<el-button
|
||||
@click="addOrEditDialogVisible = true"
|
||||
@click="
|
||||
() => {
|
||||
addOrEditDialogVisible = true
|
||||
isRepublish = true
|
||||
}
|
||||
"
|
||||
style="background-color: #17907f; color: #fff"
|
||||
>
|
||||
需求新建
|
||||
|
|
@ -42,24 +100,30 @@
|
|||
<el-table-column align="center" prop="leaseCode" label="需求编号" />
|
||||
<el-table-column align="center" prop="leaseName" label="需求名称" />
|
||||
<el-table-column align="center" prop="operateAddress" label="需求所在地" />
|
||||
<el-table-column align="center" prop="person" label="发布人" />
|
||||
<el-table-column align="center" prop="publishUser" label="发布人" />
|
||||
<el-table-column align="center" prop="endTime" label="需求截止日期" />
|
||||
<el-table-column align="center" prop="createTime" label="发布时间" />
|
||||
<el-table-column align="center" prop="startTime" label="发布时间" />
|
||||
<el-table-column align="center" prop="leaseStatusName" label="需求状态" />
|
||||
<el-table-column align="center" label="操作" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button size="small" text type="primary"> 重新发布 </el-button>
|
||||
<el-button
|
||||
text
|
||||
size="small"
|
||||
type="primary"
|
||||
v-if="row.leaseStatus === 2"
|
||||
@click="onRepublish(row.id)"
|
||||
>
|
||||
重新发布
|
||||
</el-button>
|
||||
<el-popconfirm
|
||||
width="220"
|
||||
:icon="InfoFilled"
|
||||
icon-color="#626AEF"
|
||||
title="确定删除该项需求吗?"
|
||||
@confirm="onDelete(row)"
|
||||
@confirm="onDelete(row.id)"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button size="small" text type="danger" @click="onDelete(row)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button size="small" text type="danger"> 删除 </el-button>
|
||||
</template>
|
||||
<template #actions="{ confirm }">
|
||||
<el-button size="small">取消</el-button>
|
||||
|
|
@ -70,6 +134,30 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- <el-pagination
|
||||
size="small"
|
||||
background
|
||||
layout="prev, pager, next"
|
||||
:page-size="searchParams.pageSize"
|
||||
:total="total"
|
||||
class="mt-4"
|
||||
@current-change="onCurrentChange"
|
||||
v-if="total > 0"
|
||||
/> -->
|
||||
|
||||
<el-pagination
|
||||
style="text-align: right"
|
||||
background
|
||||
size="small"
|
||||
:total="total"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="searchParams.pageSize"
|
||||
:current-page="searchParams.pageNum"
|
||||
layout="total, prev, pager, next,sizes"
|
||||
@size-change="onCurrentChange"
|
||||
@current-change="onCurrentChange"
|
||||
/>
|
||||
|
||||
<!-- 新增修改对话框 -->
|
||||
<el-dialog
|
||||
title="新增"
|
||||
|
|
@ -180,6 +268,7 @@
|
|||
value-format="YYYY-MM-DD"
|
||||
v-model="addOrEditForm.endTime"
|
||||
placeholder="请选择需求截止日期"
|
||||
:disabled-date="disabledDate"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -230,8 +319,7 @@
|
|||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="onCancel">取消</el-button>
|
||||
<el-button type="primary" @click="onSubmit(false)"> 保存 </el-button>
|
||||
<el-button type="primary" @click="onSubmit(true)"> 提交 </el-button>
|
||||
<el-button type="primary" @click="onSubmit()"> 提交 </el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
|
@ -240,7 +328,13 @@
|
|||
<script setup lang="ts">
|
||||
import UploadComponentNew from 'components/uploadComponentNew/index.vue'
|
||||
import { getCompanyListApi, getGoodsClassListApi } from 'http/api/home'
|
||||
import { addLeaseInfoApi, getLeaseListApi, deleteLeaseInfoApi } from 'http/api/sourcing/index'
|
||||
import {
|
||||
addLeaseInfoApi,
|
||||
getLeaseListApi,
|
||||
editLeaseInfoApi,
|
||||
deleteLeaseInfoApi,
|
||||
getLeaseDetailsByIdApi,
|
||||
} from 'http/api/sourcing/index'
|
||||
import { InfoFilled } from '@element-plus/icons-vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
const uploadUrl = import.meta.env.VITE_API_URL + '/file/upload'
|
||||
|
|
@ -248,7 +342,23 @@ const addOrEditDialogVisible = ref(false)
|
|||
const companyOptions = ref<any>([])
|
||||
const classOptions = ref<any>([])
|
||||
const addOrEditFormRef = ref<any>(null)
|
||||
const searchFormRef = ref<any>(null)
|
||||
const leaseList = ref<any>([])
|
||||
const isRepublish = ref(true)
|
||||
const total = ref(0)
|
||||
const endTime = ref([])
|
||||
const releaseTime = ref([])
|
||||
const searchParams = reactive({
|
||||
leaseName: '',
|
||||
leaseCode: '',
|
||||
leaseStatus: '',
|
||||
finishStartTime: '',
|
||||
finishEndTime: '',
|
||||
publishStartTime: '',
|
||||
publishEndTime: '',
|
||||
pageSize: 10,
|
||||
pageNum: 1,
|
||||
})
|
||||
const addOrEditForm = reactive<any>({
|
||||
leaseName: '',
|
||||
typeId: '',
|
||||
|
|
@ -283,53 +393,122 @@ const addOrEditFormRules = reactive({
|
|||
fileInfoList: [{ required: true, message: '请上传参考图片', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
const successResultCallBackFnDevicePic = () => {
|
||||
console.log(99999)
|
||||
const disabledDate = (date: any) => {
|
||||
const today = new Date()
|
||||
// 禁用今天之前的日期
|
||||
return date.getTime() < today.getTime()
|
||||
}
|
||||
|
||||
const successResultCallBackFnDevicePic = (list: any) => {
|
||||
console.log(99999, list)
|
||||
}
|
||||
|
||||
const getClassAndCompanyData = async () => {
|
||||
const classResult: any = await getGoodsClassListApi()
|
||||
const companyResult: any = await getCompanyListApi()
|
||||
|
||||
console.log('装备分类', classResult)
|
||||
console.log('公司信息', companyResult)
|
||||
|
||||
classOptions.value = classResult.data
|
||||
companyOptions.value = companyResult.data
|
||||
}
|
||||
|
||||
const onCurrentChange = (val: any) => {
|
||||
console.log(val)
|
||||
}
|
||||
|
||||
// 获取列表
|
||||
const getLeaseListData = async () => {
|
||||
const { data: res }: any = await getLeaseListApi()
|
||||
console.log(res, '列表返回结果')
|
||||
if (endTime.value.length > 0) {
|
||||
searchParams.finishStartTime = endTime.value[0]
|
||||
searchParams.finishEndTime = endTime.value[1]
|
||||
}
|
||||
if (releaseTime.value.length > 0) {
|
||||
searchParams.publishStartTime = releaseTime.value[0]
|
||||
searchParams.publishEndTime = releaseTime.value[1]
|
||||
}
|
||||
const { data: res }: any = await getLeaseListApi(searchParams)
|
||||
leaseList.value = res.rows
|
||||
total.value = res.total
|
||||
}
|
||||
|
||||
// 重置
|
||||
const onReset = () => {
|
||||
endTime.value = []
|
||||
releaseTime.value = []
|
||||
searchParams.finishStartTime = ''
|
||||
searchParams.finishEndTime = ''
|
||||
searchParams.publishStartTime = ''
|
||||
searchParams.publishEndTime = ''
|
||||
searchFormRef.value.resetFields()
|
||||
getLeaseListData()
|
||||
}
|
||||
// 删除
|
||||
const onDelete = (row: any) => {
|
||||
deleteLeaseInfoApi()
|
||||
}
|
||||
|
||||
// 提交
|
||||
const onSubmit = async (type: boolean) => {
|
||||
addOrEditFormRef.value.validate((valid: any) => {
|
||||
if (valid) {
|
||||
console.log('校验通过')
|
||||
}
|
||||
})
|
||||
addOrEditForm.typeId = addOrEditForm.typeIds[addOrEditForm.typeIds.length - 1]
|
||||
addOrEditForm.isSubmit = type
|
||||
const res: any = await addLeaseInfoApi(addOrEditForm)
|
||||
console.log(res, '表单提交结果')
|
||||
|
||||
const onDelete = async (id: any) => {
|
||||
const res: any = await deleteLeaseInfoApi({ id })
|
||||
if (res.code === 200) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: `${type ? '提交' : '保存'}成功`,
|
||||
message: '删除成功',
|
||||
})
|
||||
addOrEditFormRef.value.resetFields()
|
||||
addOrEditDialogVisible.value = false
|
||||
getLeaseListData()
|
||||
}
|
||||
}
|
||||
// 重新发布
|
||||
const onRepublish = async (id: any) => {
|
||||
isRepublish.value = false
|
||||
const res: any = await getLeaseDetailsByIdApi({ id })
|
||||
const {
|
||||
leaseName,
|
||||
typeId,
|
||||
companyId,
|
||||
person,
|
||||
personPhone,
|
||||
leaseDay,
|
||||
leaseNum,
|
||||
endTime,
|
||||
description,
|
||||
typeIds,
|
||||
} = res.data
|
||||
|
||||
Object.assign(addOrEditForm, {
|
||||
leaseName,
|
||||
typeId,
|
||||
companyId,
|
||||
person,
|
||||
personPhone,
|
||||
leaseDay,
|
||||
leaseNum,
|
||||
endTime,
|
||||
description,
|
||||
typeIds,
|
||||
id,
|
||||
})
|
||||
|
||||
addOrEditForm.typeIds = addOrEditForm.typeIds.map((e: any) => {
|
||||
return (e *= 1)
|
||||
})
|
||||
addOrEditDialogVisible.value = true
|
||||
}
|
||||
|
||||
// 提交
|
||||
const onSubmit = () => {
|
||||
addOrEditFormRef.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
addOrEditForm.isSubmit = isRepublish.value
|
||||
addOrEditForm.typeId = addOrEditForm.typeIds[addOrEditForm.typeIds.length - 1]
|
||||
const SUBMIT_API = isRepublish.value ? addLeaseInfoApi : editLeaseInfoApi
|
||||
const res: any = await SUBMIT_API(addOrEditForm)
|
||||
if (res.code === 200) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '提交成功',
|
||||
})
|
||||
addOrEditFormRef.value.resetFields()
|
||||
addOrEditDialogVisible.value = false
|
||||
getLeaseListData()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 取消按钮
|
||||
const onCancel = () => {
|
||||
|
|
@ -347,4 +526,11 @@ onMounted(() => {
|
|||
:deep.upload-tip .el-form-item__label {
|
||||
color: transparent;
|
||||
}
|
||||
.el-pagination {
|
||||
justify-content: flex-end;
|
||||
padding: 5px 0;
|
||||
}
|
||||
:deep.el-pagination.is-background .el-pager li.is-active {
|
||||
background-color: #3cb4a6;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue