提交 4c94e718 作者: 曹云

改-作业服务-列表接口,详情接口,详情-立即租赁接口

上级 d3b8b68b
import request, { Response } from '~/api/request';
import request, { Response } from '~/api/request'
export interface ListPageJobInfoParams {
pageNo:number,
pageSize:number,
appTypeId?:number,
industryId?:number,
inspectionName?:string,
string?:number,
regionId?:number,
pageNo: number
pageSize: number
appTypeId?: number
industryId?: number
inspectionName?: string
string?: number
regionId?: number
}
export interface Job {
id:number,
serviceName:string,
teamName:string,
price:number,
id: number
serviceName: string
teamName: string
price: number
}
export interface ListPageJobInfoResp {
pageNo: 1,
pageSize: 10,
list: Array<Job>,
totalCount: 0,
pageNo: 1
pageSize: 10
list: Array<Job>
totalCount: 0
totalPage: 0
}
export default {
//web-作业服务-分页
listPageJobServicesInfo: (params: ListPageJobInfoParams,option:{}): Promise<Response<ListPageJobInfoResp>> => {
return request('/release/work/queryTaskServiceList', 'post', params,option)
listPageJobServicesInfo: (
params: ListPageJobInfoParams,
option: {}
): Promise<Response<ListPageJobInfoResp>> => {
return request(
'/pms/backstage/work/queryWorkServiceList',
'post',
params,
option
)
},
}
\ No newline at end of file
}
......@@ -11,6 +11,7 @@ import {
DatePicker,
Image as AImage,
Input,
Cascader,
} from 'antd'
import { RangePickerProps } from 'antd/es/date-picker'
import type { TabsProps } from 'antd'
......@@ -18,6 +19,7 @@ import Evaluate from './components/evaluate'
import { useRouter } from 'next/router'
import api, { ListPageJobInfoResp } from './api'
import Image from 'next/image'
import { RegionResp } from '~/components/filter/api'
const { RangePicker } = DatePicker
const { TextArea } = Input
export default function JobServicesDetail() {
......@@ -38,18 +40,19 @@ export default function JobServicesDetail() {
children: (
<div className="teamIntroduction">
{/* <Image width={1100} height={800} src={detail?.teamPoster ? detail?.teamPoster : ''} alt='error'/> */}
<img
{/* <img
style={{ width: '100%' }}
src={detail?.teamPoster ? detail?.teamPoster : ''}
alt="error"
/>
/> */}
{detail?.serviceIntroduction}
</div>
),
},
{
key: '2',
label: `团队评价`,
children: <Evaluate evaluateInfo={detail?.evaluateInfo || []} />,
children: <Evaluate evaluateInfo={detail?.inspComtList || []} />,
},
]
......@@ -75,6 +78,15 @@ export default function JobServicesDetail() {
const [isModalOpen, setIsModalOpen] = useState(false)
const [loading, setLoading] = useState(false)
const [areaValue, setAreaValue] = useState<string>()
const [provinceList, setProvinceList] = useState<RegionResp[]>([])
useEffect(() => {
api.region().then((res) => {
console.log(res)
console.log(res?.result?.map((item) => item.childInfo).flat())
setProvinceList(res?.result || [])
})
}, [])
const disabledDate: RangePickerProps['disabledDate'] = (current) => {
return current && current < moment().endOf('day')
}
......@@ -84,25 +96,30 @@ export default function JobServicesDetail() {
.validateFields()
.then(async (values) => {
console.log(values)
const res = await api.insertOrderTask({
address: '西丽街道',
city: '深圳',
inspectionId: 1,
lat: 30,
lon: 120,
province: '广东',
address: values.address,
city: values.province[1],
inspectionId: detail?.id || 1,
lat: Number(values.lat),
lon: Number(values.lon),
province: values.province[0],
startTime: moment(new Date(values.dateDetail[0])).format(
'YYYY-MM-DD HH-MM-SS'
'YYYY-MM-DD HH:MM:SS'
),
endTime: moment(new Date(values.dateDetail[1])).format(
'YYYY-MM-DD HH-MM-SS'
'YYYY-MM-DD HH:MM:SS'
),
})
console.log(res)
// formDate.resetFields()
// setLoading(false)
// setIsModalOpen(false)
if (res.code === '200') {
message.success('提交成功')
formDate.resetFields()
setLoading(false)
setIsModalOpen(false)
} else {
message.error(res.message)
setLoading(false)
}
})
.catch((err) => {
message
......@@ -134,7 +151,7 @@ export default function JobServicesDetail() {
<div className="top-image">
<Image
fill
src={detail?.pictureUrl ? detail?.pictureUrl : ''}
src={detail?.coverPlan ? detail?.coverPlan : ''}
alt="error"
/>
</div>
......@@ -199,7 +216,7 @@ export default function JobServicesDetail() {
<div className="left">
<AImage
preview={{ visible: false }}
src={detail?.pictureUrl ? detail?.pictureUrl : ''}
src={detail?.coverPlan ? detail?.coverPlan : ''}
onClick={() => setVisible(true)}
style={{ width: 58, height: 58 }}
/>
......@@ -210,7 +227,7 @@ export default function JobServicesDetail() {
onVisibleChange: (vis) => setVisible(vis),
}}
>
<AImage src={detail?.pictureUrl ? detail?.pictureUrl : ''} />
<AImage src={detail?.coverPlan ? detail?.coverPlan : ''} />
</AImage.PreviewGroup>
</div>
</div>
......@@ -224,6 +241,7 @@ export default function JobServicesDetail() {
className="form-data"
>
<Form.Item
label="选择日期"
style={{ flex: 1, marginRight: 16 }}
name="dateDetail"
rules={[{ required: true, message: '请选择日期' }]}
......@@ -235,6 +253,56 @@ export default function JobServicesDetail() {
showTime
/>
</Form.Item>
<Form.Item
label="经度"
style={{ flex: 1, marginRight: 16 }}
name="lon"
rules={[{ required: true, message: '请输入经度' }]}
>
<Input placeholder="请输入经度" />
</Form.Item>
<Form.Item
label="纬度"
style={{ flex: 1, marginRight: 16 }}
name="lat"
rules={[{ required: true, message: '请输入纬度' }]}
>
<Input placeholder="请输入纬度" />
</Form.Item>
<Form.Item
label="选择省市"
style={{ flex: 1, marginRight: 16 }}
name="province"
rules={[{ required: true, message: '请选择省市' }]}
>
<Cascader
allowClear
placeholder="选择省市"
className="selectItem"
size="large"
fieldNames={{
label: 'name',
value: 'name',
children: 'childInfo',
}}
options={provinceList}
changeOnSelect
/>
</Form.Item>
<Form.Item
label="详细地址"
style={{ flex: 1, marginRight: 16 }}
name="address"
rules={[{ required: true, message: '请输入详情地址' }]}
>
<TextArea
value={areaValue}
onChange={(e) => setAreaValue(e.target.value)}
placeholder="请输入详情地址"
autoSize={{ minRows: 3, maxRows: 5 }}
style={{ width: 385, height: 72 }}
/>
</Form.Item>
<div>
任务描述(选填) 项目号、 业务负责人、
客户名称、演示设备(注明飞机、挂载、地面站)、现场联系人及电话
......
import request, { Response } from '~/api/request'
import { RegionResp } from '~/components/filter/api'
export interface ListPageJobInfoParams {
pageNo: number
pageSize: number
......@@ -30,6 +30,9 @@ export interface ListPageJobInfoResp {
teamPoster: string
evaluateInfo: Array<JobDetail>
item: number
coverPlan: string
serviceIntroduction: string
inspComtList: []
}
export interface GetJobServicesDetailParams {
......@@ -53,10 +56,14 @@ export default {
listDetailJobServicesInfo: (
params: GetJobServicesDetailParams
): Promise<Response<ListPageJobInfoResp>> => {
return request('/release/work/selectInspection', 'get', params)
return request('/pms/backstage/work/queryWorkService', 'get', params)
},
//web-作业服务-详情-立即预约
insertOrderTask: (params: GetOrderTaskParams): Promise<Response<null>> => {
return request('/oms/serviceOrderTask/insertOrderTask', 'post', params)
},
//区域
region: (): Promise<Response<Array<RegionResp>>> => {
return request('/pms/webDevice/getSecondDistrictInfo')
},
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论