2018-12-07 17:17:46 +08:00
|
|
|
|
import Taro, { Component } from '@tarojs/taro'
|
2018-12-11 17:34:06 +08:00
|
|
|
|
import { View, Text } from '@tarojs/components'
|
2018-12-24 17:35:51 +08:00
|
|
|
|
import { AtInput, AtButton, Picker, AtIcon, AtModal, AtToast ,AtSearchBar} from 'taro-ui'
|
2018-12-14 17:10:23 +08:00
|
|
|
|
import URL from '../../serviceAPI.config'
|
2018-12-07 17:17:46 +08:00
|
|
|
|
|
|
|
|
|
import copyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import './mySupplyDemand.scss'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log('hi')
|
|
|
|
|
class MySupplyDemand extends Component {
|
|
|
|
|
|
|
|
|
|
config = {
|
|
|
|
|
navigationBarTitleText: '我的供求'
|
|
|
|
|
}
|
|
|
|
|
constructor() {
|
|
|
|
|
super(...arguments)
|
|
|
|
|
this.state = {
|
2018-12-19 17:40:32 +08:00
|
|
|
|
demandSupplyCate: ['全部', '需求', '供应', '人才'],
|
2018-12-11 17:34:06 +08:00
|
|
|
|
demandSupplyCateSelected: '全部',
|
2018-12-19 17:40:32 +08:00
|
|
|
|
demandSupplyState: ['全部', '上架', '下架'],
|
2018-12-11 17:34:06 +08:00
|
|
|
|
demandSupplyStatesSelected: '全部',
|
2018-12-19 17:40:32 +08:00
|
|
|
|
title: '',
|
2018-12-11 17:34:06 +08:00
|
|
|
|
startDateSel: '2018-04-22',
|
|
|
|
|
endDateSel: '2018-04-22',
|
2018-12-19 17:40:32 +08:00
|
|
|
|
allDemandSupply: [],
|
2018-12-24 17:35:51 +08:00
|
|
|
|
totalDemandSupply: '',
|
|
|
|
|
isToast: false,// 是否显示轻提示
|
|
|
|
|
toastContent: '', // 轻提示内容
|
|
|
|
|
isConfirmWindow: false, // 是否显示确认弹窗
|
|
|
|
|
demandSupplyItemName: '',// 确认框提示时 使用的供求名
|
|
|
|
|
demandSupplyId: '',// 删除我的供求时的供求id
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-07 17:17:46 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-12-24 17:35:51 +08:00
|
|
|
|
//获取我的供求API
|
2018-12-19 17:40:32 +08:00
|
|
|
|
getMySupplyDemand({ curr_page = 1, page_count = 20 }) {
|
2018-12-14 17:10:23 +08:00
|
|
|
|
Taro.request({
|
|
|
|
|
url: URL.MySupplyDemand,
|
|
|
|
|
method: 'POST',
|
|
|
|
|
dataType: 'json',
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-14 17:10:23 +08:00
|
|
|
|
data: {
|
2018-12-19 17:40:32 +08:00
|
|
|
|
param: JSON.stringify({
|
|
|
|
|
curr_page: curr_page,
|
|
|
|
|
page_count: page_count
|
|
|
|
|
})
|
2018-12-14 17:10:23 +08:00
|
|
|
|
},
|
|
|
|
|
header: {
|
2018-12-19 17:40:32 +08:00
|
|
|
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
2018-12-14 17:10:23 +08:00
|
|
|
|
'content-type': 'application/x-www-form-urlencoded',
|
|
|
|
|
'X-Requested-With': 'XMLHttpRequest'
|
|
|
|
|
}
|
|
|
|
|
}).then(res => {
|
2018-12-19 17:40:32 +08:00
|
|
|
|
if (res.data.err_msg === "success") {
|
2018-12-24 17:35:51 +08:00
|
|
|
|
// 判断是否有res.data.supplys , 如果没有就是空数组[]
|
|
|
|
|
this.setState({ allDemandSupply: res.data.supplys?res.data.supplys:[], totalDemandSupply: res.data.count })
|
2018-12-19 17:40:32 +08:00
|
|
|
|
}
|
2018-12-24 17:35:51 +08:00
|
|
|
|
})
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-24 17:35:51 +08:00
|
|
|
|
}
|
|
|
|
|
//搜索我的供求api
|
|
|
|
|
searchDemandSupply({ curr_page = 1, page_count = 20, sd_type = "2", state = "1", sd_title = "1", update_dateL = "2018-12-18", update_dateU = "2018-12-20" }) {
|
|
|
|
|
Taro.request({
|
|
|
|
|
url: URL.SearchDemandSupply,
|
|
|
|
|
method: 'POST',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: {
|
|
|
|
|
param: JSON.stringify({
|
|
|
|
|
curr_page: curr_page,
|
|
|
|
|
page_count: page_count,
|
|
|
|
|
sd_type: sd_type,
|
|
|
|
|
state: state,
|
|
|
|
|
sd_title: sd_title,
|
|
|
|
|
update_dateL: update_dateL,
|
|
|
|
|
update_dateU: update_dateU
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
header: {
|
|
|
|
|
'content-type': 'application/x-www-form-urlencoded',
|
|
|
|
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
|
|
|
|
'X-Requested-With': 'XMLHttpRequest'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.then(res => {
|
|
|
|
|
//this.setState({ grabOrderSuccess: res.data.err_msg,isGrabOrderSuccess: true })
|
|
|
|
|
console.log('我的供求搜索结果', res)
|
|
|
|
|
|
|
|
|
|
this.setState({ allDemandSupply: res.data.supplys, totalDemandSupply: res.data.count })
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 删除我的供求api
|
|
|
|
|
onDelete({ sdID = 0 }) {
|
|
|
|
|
Taro.request({
|
|
|
|
|
url: URL.DeleteDemandSupply,
|
|
|
|
|
method: 'POST',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
data: {
|
|
|
|
|
sdID: sdID
|
|
|
|
|
},
|
|
|
|
|
header: {
|
|
|
|
|
'content-type': 'application/x-www-form-urlencoded',
|
|
|
|
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
|
|
|
|
'X-Requested-With': 'XMLHttpRequest'
|
|
|
|
|
}
|
2018-12-14 17:10:23 +08:00
|
|
|
|
})
|
2018-12-24 17:35:51 +08:00
|
|
|
|
.then(res => {
|
|
|
|
|
if (res.data.err_msg == 'success') {
|
|
|
|
|
console.log('删除成功')
|
|
|
|
|
this.setState({ toastContent: '删除成功', isToast: true }, () => {
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
this.setState({ isToast: false })
|
|
|
|
|
this.getMySupplyDemand({})
|
|
|
|
|
}, 2000)
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
this.setState({ toastContent: res.data.err_msg, isToast: true }, () => {
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
this.setState({ isToast: false })
|
|
|
|
|
|
|
|
|
|
}, 2000)
|
|
|
|
|
})
|
|
|
|
|
}
|
2018-12-14 17:10:23 +08:00
|
|
|
|
|
2018-12-24 17:35:51 +08:00
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
.catch(error => {
|
|
|
|
|
this.setState({ toastContent: '删除失败', isToast: true }, () => {
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
this.setState({ isToast: false })
|
|
|
|
|
}, 2000)
|
|
|
|
|
})
|
|
|
|
|
})
|
2018-12-14 17:10:23 +08:00
|
|
|
|
}
|
2018-12-24 17:35:51 +08:00
|
|
|
|
//搜索我的供求
|
|
|
|
|
|
2018-12-14 17:10:23 +08:00
|
|
|
|
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-24 17:35:51 +08:00
|
|
|
|
// 新增我的供求
|
|
|
|
|
addDemandSupply() {
|
|
|
|
|
Taro.navigateTo({
|
|
|
|
|
url: '/pages/supplyDemandPublish/supplyDemandPublish'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-11 17:34:06 +08:00
|
|
|
|
//修改供求类型
|
|
|
|
|
demSupplyCateChange = e => {
|
2018-12-07 17:17:46 +08:00
|
|
|
|
this.setState({
|
2018-12-11 17:34:06 +08:00
|
|
|
|
demandSupplyCateSelected: this.state.demandSupplyCate[e.detail.value]
|
2018-12-07 17:17:46 +08:00
|
|
|
|
})
|
|
|
|
|
}
|
2018-12-11 17:34:06 +08:00
|
|
|
|
// 修改供求状态
|
|
|
|
|
demSupplyStateChange = e => {
|
2018-12-07 17:17:46 +08:00
|
|
|
|
this.setState({
|
2018-12-11 17:34:06 +08:00
|
|
|
|
demandSupplyStatesSelected: this.state.demandSupplyState[e.detail.value]
|
2018-12-07 17:17:46 +08:00
|
|
|
|
})
|
|
|
|
|
}
|
2018-12-19 17:40:32 +08:00
|
|
|
|
titleChange(event) {
|
|
|
|
|
this.setState({ title: event })
|
2018-12-11 17:34:06 +08:00
|
|
|
|
}
|
|
|
|
|
// 修改开始日期
|
|
|
|
|
onStartDateChange = e => {
|
|
|
|
|
this.setState({
|
|
|
|
|
startDateSel: e.detail.value
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 修改结束日期
|
|
|
|
|
onEndDateChange = e => {
|
2018-12-07 17:17:46 +08:00
|
|
|
|
this.setState({
|
2018-12-11 17:34:06 +08:00
|
|
|
|
endDateSel: e.detail.value
|
2018-12-07 17:17:46 +08:00
|
|
|
|
})
|
|
|
|
|
}
|
2018-12-24 17:35:51 +08:00
|
|
|
|
handleWindowModClose() {
|
|
|
|
|
this.setState({ isConfirmWindow: false })
|
|
|
|
|
}
|
|
|
|
|
handleWindowModCancel() {
|
|
|
|
|
this.setState({ isConfirmWindow: false })
|
|
|
|
|
}
|
|
|
|
|
handleWindowConfirm() {
|
|
|
|
|
this.setState({ isConfirmWindow: false })
|
|
|
|
|
this.onDelete({ sdID: this.state.demandSupplyId })
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 删除我的供求
|
|
|
|
|
handleOnDelete(id, itemName) {
|
|
|
|
|
|
|
|
|
|
this.setState({ isConfirmWindow: true, demandSupplyItemName: itemName, demandSupplyId: id })
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 编辑我的供求
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查看我的供求
|
2018-12-07 17:17:46 +08:00
|
|
|
|
componentWillReceiveProps(nextProps) {
|
|
|
|
|
console.log(this.props, nextProps)
|
|
|
|
|
}
|
|
|
|
|
|
2018-12-19 17:40:32 +08:00
|
|
|
|
componentDidMount() {
|
2018-12-14 17:10:23 +08:00
|
|
|
|
this.getMySupplyDemand({})
|
|
|
|
|
}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
componentWillUnmount() { }
|
|
|
|
|
|
|
|
|
|
componentDidShow() { }
|
|
|
|
|
|
|
|
|
|
componentDidHide() { }
|
|
|
|
|
|
|
|
|
|
render() {
|
2018-12-24 17:35:51 +08:00
|
|
|
|
// 提示模态弹窗element
|
|
|
|
|
const modalMessageConfirmElement = <AtModal className='modal'
|
|
|
|
|
isOpened={this.state.isConfirmWindow}
|
|
|
|
|
title='提示'
|
|
|
|
|
cancelText='取消'
|
|
|
|
|
confirmText='确认'
|
|
|
|
|
onClose={this.handleWindowModClose}
|
|
|
|
|
onCancel={this.handleWindowModCancel}
|
|
|
|
|
onConfirm={this.handleWindowConfirm.bind(this)}
|
|
|
|
|
content={'确认删除' + this.state.demandSupplyItemName + '?'}
|
|
|
|
|
/>
|
|
|
|
|
// 轻提示
|
|
|
|
|
const toastElement = <AtToast
|
|
|
|
|
isOpened={this.state.isToast}
|
|
|
|
|
text={this.state.toastContent}
|
|
|
|
|
duration={2000}
|
|
|
|
|
></AtToast>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
const demandSupplyElementArray = this.state.allDemandSupply.length ? this.state.allDemandSupply.map((item, index) => {
|
2018-12-24 17:35:51 +08:00
|
|
|
|
return <View key={index} className='info-container'>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
<View className='type'>
|
|
|
|
|
<Text className='title'>需求类型:</Text>
|
|
|
|
|
<Text className='info'>{item.type_name}</Text>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='demand-title'>
|
|
|
|
|
<Text className='title'>需求标题:</Text>
|
|
|
|
|
<Text className='info'>{item.sd_title}</Text>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='contact-name'>
|
|
|
|
|
<Text className='title'>联系人:</Text>
|
|
|
|
|
<Text className='info'>{item.user_name}</Text>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='contact-number'>
|
|
|
|
|
<Text className='title'>电话号码:</Text>
|
|
|
|
|
<Text className='info'>{item.user_phone}</Text>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='demand-status'>
|
|
|
|
|
<Text className='title'>需求状态:</Text>
|
|
|
|
|
<Text className='info'>{item.state}</Text>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='update-time'>
|
|
|
|
|
<Text className='title'>更新时间:</Text>
|
|
|
|
|
<Text className='info'>{item.update_date}</Text>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='info-button-box'>
|
|
|
|
|
<View className='button'>
|
|
|
|
|
<AtButton type='primary' size='small'>查看</AtButton>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='button'>
|
|
|
|
|
<AtButton type='primary' size='small'>编辑</AtButton>
|
|
|
|
|
</View>
|
2018-12-24 17:35:51 +08:00
|
|
|
|
<View className='button' onClick={this.handleOnDelete.bind(this, item.sd_id, item.sd_title)}>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
<AtButton type='primary' className='button-a' size='small'>删除</AtButton>
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</View>
|
2018-12-24 17:35:51 +08:00
|
|
|
|
}) : <View className='title' >
|
|
|
|
|
没有更多了....
|
|
|
|
|
</View >
|
2018-12-07 17:17:46 +08:00
|
|
|
|
return (
|
|
|
|
|
<View className='mySupplyDemand'>
|
2018-12-24 17:35:51 +08:00
|
|
|
|
{/* 是否删除供求确认框 */}
|
|
|
|
|
{modalMessageConfirmElement}
|
|
|
|
|
{/* 轻提示 */}
|
|
|
|
|
{toastElement}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<View className='searchBar-box'>
|
|
|
|
|
<AtSearchBar className='search-button'
|
|
|
|
|
actionName='搜索'
|
|
|
|
|
value={this.state.value}
|
|
|
|
|
onChange={this.onChange.bind(this)}
|
|
|
|
|
onActionClick={this.onActionClick.bind(this)}
|
|
|
|
|
/>
|
|
|
|
|
</View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
{/* 供求类型 */}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='page-section'>
|
|
|
|
|
<View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Picker mode='selector' range={this.state.demandSupplyCate} onChange={this.demSupplyCateChange.bind(this)}>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='picker'>
|
|
|
|
|
<View className='title-box'>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Text className='title'><Text className='require'>*</Text>供求类型:</Text> <Text className='selected'>{this.state.demandSupplyCateSelected}</Text>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
</Picker>
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
{/* 供求状态 */}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='page-section'>
|
|
|
|
|
|
|
|
|
|
<View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Picker mode='selector' range={this.state.demandSupplyState} onChange={this.demSupplyStateChange.bind(this)}>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='picker'>
|
|
|
|
|
<View className='title-box'>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Text className='title'> <Text className='require'>*</Text>供求状态:</Text> <Text className='selected'>{this.state.demandSupplyStatesSelected}</Text>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
|
|
|
|
|
|
|
|
|
</View>
|
|
|
|
|
</Picker>
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
{/* 供求标题 */}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='input-box'>
|
|
|
|
|
<Text className='require'>*</Text>
|
|
|
|
|
<AtInput
|
2018-12-19 17:40:32 +08:00
|
|
|
|
name='value'
|
|
|
|
|
title='供求标题:'
|
|
|
|
|
placeholder='供求标题·'
|
|
|
|
|
type='text'
|
|
|
|
|
value={this.state.title}
|
|
|
|
|
onChange={this.titleChange.bind(this)}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
/>
|
|
|
|
|
</View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
{/* 开始和结束日期 */}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='page-section'>
|
|
|
|
|
<View className='picker-box'>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Picker mode='date' className='picker-container' onChange={this.onStartDateChange}>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='picker'>
|
|
|
|
|
<View className='title-box'>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Text className='title'><Text className='require'>*</Text>开始日期:</Text> <Text className='selected'>{this.state.startDateSel}</Text>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
|
|
|
|
</Picker>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
<Picker className='picker-container' mode='date' onChange={this.onEndDateChange}>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='picker'>
|
|
|
|
|
<View className='title-box'>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
<Text className='title'><Text className='require'>*</Text>结束日期:</Text> <Text className='selected'>{this.state.endDateSel}</Text>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
</Picker>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
|
|
|
|
|
<View className='button-box'>
|
2018-12-24 17:35:51 +08:00
|
|
|
|
<View className='button' onClick={this.searchDemandSupply.bind(this)}>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<AtButton type='primary' size='small'>
|
|
|
|
|
<AtIcon value='search' size='12' color='white'></AtIcon>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
搜索</AtButton>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
2018-12-24 17:35:51 +08:00
|
|
|
|
<View className='button' onClick={this.addDemandSupply.bind(this)}>
|
2018-12-10 17:38:17 +08:00
|
|
|
|
<AtButton type='primary' className='button-a' size='small'>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<AtIcon value='add' size='12' color='white'></AtIcon>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
新增</AtButton>
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
|
|
|
|
</View>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
<View className='total-count'>一共<Text className='number'>{this.state.totalDemandSupply}</Text> 条记录</View>
|
2018-12-11 17:34:06 +08:00
|
|
|
|
{/* 我的供求信息 */}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
<View className='info-box'>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
{demandSupplyElementArray}
|
2018-12-07 17:17:46 +08:00
|
|
|
|
</View>
|
2018-12-19 17:40:32 +08:00
|
|
|
|
|
2018-12-07 17:17:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<copyrightComponent></copyrightComponent>
|
|
|
|
|
|
|
|
|
|
</View>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default MySupplyDemand
|