我的需求页面
This commit is contained in:
parent
e8931a05a3
commit
8d81766dec
@ -31,6 +31,7 @@ class App extends Component {
|
|||||||
'pages/myDemandSupplyEdit/myDemandSupplyEdit',// 我的供求编辑页面
|
'pages/myDemandSupplyEdit/myDemandSupplyEdit',// 我的供求编辑页面
|
||||||
'pages/supplyDemandView/supplyDemandView',// 查看单个供求页面
|
'pages/supplyDemandView/supplyDemandView',// 查看单个供求页面
|
||||||
'pages/grabOrderPage/grabOrderPage',// 抢单页面
|
'pages/grabOrderPage/grabOrderPage',// 抢单页面
|
||||||
|
'pages/myNeeds/myNeeds',// 我的需求页面
|
||||||
// 'pages/shopDescription/shopDescription',
|
// 'pages/shopDescription/shopDescription',
|
||||||
],
|
],
|
||||||
window: {
|
window: {
|
||||||
|
@ -28,7 +28,7 @@ class bottomNav extends Component {
|
|||||||
{ name: '商品发布', url: '/pages/goodsPublish/goodsPublish' },
|
{ name: '商品发布', url: '/pages/goodsPublish/goodsPublish' },
|
||||||
{ name: '供求发布', url: '/pages/supplyDemandPublish/supplyDemandPublish' },
|
{ name: '供求发布', url: '/pages/supplyDemandPublish/supplyDemandPublish' },
|
||||||
{ name: '我的供求', url: '/pages/mySupplyDemand/mySupplyDemand' },
|
{ name: '我的供求', url: '/pages/mySupplyDemand/mySupplyDemand' },
|
||||||
{ name: '更多', url: '' },
|
{ name: '我的需求', url: '/pages/myNeeds/myNeeds' },
|
||||||
]
|
]
|
||||||
let path=otherData[value].url
|
let path=otherData[value].url
|
||||||
Taro.navigateTo({
|
Taro.navigateTo({
|
||||||
@ -49,11 +49,11 @@ class bottomNav extends Component {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
const otherData=[
|
const otherData=[
|
||||||
{ name: '首页', url:'pages/home/home'},
|
{ name: '首页', url: 'pages/home/home' },
|
||||||
{ name: '商品发布', url:'pages/shop/shop'},
|
{ name: '商品发布', url: 'pages/goodsPublish/goodsPublish' },
|
||||||
{ name: '供求发布', url:'pages/supplyDemandPubish/supplyDemandPubish'},
|
{ name: '供求发布', url: 'pages/supplyDemandPublish/supplyDemandPublish' },
|
||||||
{name:'我的供求',url:''},
|
{ name: '我的供求', url: 'pages/mySupplyDemand/mySupplyDemand' },
|
||||||
{name:'更多',url:''},
|
{ name: '我的需求', url: 'pages/myNeeds/myNeeds' },
|
||||||
]
|
]
|
||||||
// const otherDataElementsArray = this.props.otherData? this.props.otherData.menu.map((item, index) => {
|
// const otherDataElementsArray = this.props.otherData? this.props.otherData.menu.map((item, index) => {
|
||||||
const otherDataElementsArray = otherData.map((item, index) => {
|
const otherDataElementsArray = otherData.map((item, index) => {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import Taro, { Component } from '@tarojs/taro'
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
import { View, Text, Image , Swiper, SwiperItem} from '@tarojs/components'
|
import { View, Text, Image , Swiper, SwiperItem} from '@tarojs/components'
|
||||||
|
|
||||||
import { AtTabs, AtTabsPane, AtSegmentedControl, AtIcon, AtToast, Picker } from 'taro-ui'
|
import { AtTabs, AtTabsPane, AtSegmentedControl, AtIcon, Picker } from 'taro-ui'
|
||||||
import copyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
import copyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
||||||
|
|
||||||
import URL from '../../serviceAPI.config'
|
import URL from '../../serviceAPI.config'
|
||||||
@ -19,7 +19,6 @@ class Goods extends Component {
|
|||||||
this.state = {
|
this.state = {
|
||||||
current: 0, // 当前大类评论区
|
current: 0, // 当前大类评论区
|
||||||
subCurrent: 0, // 当前小类评论区
|
subCurrent: 0, // 当前小类评论区
|
||||||
isOpened: false, // 是否显示轻提示
|
|
||||||
selector: ['0', '1', '2', '3'], // 数量或者规格选择
|
selector: ['0', '1', '2', '3'], // 数量或者规格选择
|
||||||
selectorChecked: '0', // 已选择的数量或规格
|
selectorChecked: '0', // 已选择的数量或规格
|
||||||
productImagesUrl: '', // 图片地址
|
productImagesUrl: '', // 图片地址
|
||||||
@ -46,22 +45,33 @@ class Goods extends Component {
|
|||||||
},
|
},
|
||||||
header: {
|
header: {
|
||||||
'content-type': 'application/x-www-form-urlencoded',
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
console.log('商品详情:', res)
|
console.log('商品详情:', res)
|
||||||
this.setState({
|
if(res.data.err_msg==="success"){
|
||||||
productImagesUrl: res.data.goods.goods_pic,
|
this.setState({
|
||||||
productName: res.data.goods.goods_name,
|
productImagesUrl: res.data.goods.goods_pic,
|
||||||
productDes: res.data.goods.goods_profiles,
|
productName: res.data.goods.goods_name,
|
||||||
oldPirce: res.data.goods.goods_org_price,
|
productDes: res.data.goods.goods_profiles,
|
||||||
specialPrice: res.data.goods.goods_price,
|
oldPirce: res.data.goods.goods_org_price,
|
||||||
productType: res.data.goods.goods_type_name,
|
specialPrice: res.data.goods.goods_price,
|
||||||
serviceArea: res.data.goodsRegionName[0],
|
productType: res.data.goods.goods_type_name,
|
||||||
monthSold: res.data.goods.month_sales,
|
serviceArea: res.data.goodsRegionName[0],
|
||||||
totalSold: res.data.goods.sales_volume,
|
monthSold: res.data.goods.month_sales,
|
||||||
browsingCount: res.data.goods.browse_times,
|
totalSold: res.data.goods.sales_volume,
|
||||||
|
browsingCount: res.data.goods.browse_times,
|
||||||
|
})
|
||||||
|
|
||||||
|
}else{
|
||||||
|
Taro.showToast({
|
||||||
|
title:res.data.err_msg,
|
||||||
|
icon:'none',
|
||||||
|
duration:1000
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -86,7 +96,20 @@ class Goods extends Component {
|
|||||||
}
|
}
|
||||||
// 收藏商品
|
// 收藏商品
|
||||||
saveItem() {
|
saveItem() {
|
||||||
this.setState({ isOpened: true })
|
Taro.showToast({
|
||||||
|
title:'收藏成功',
|
||||||
|
icon:'success',
|
||||||
|
duration:1500
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//添加到购物车
|
||||||
|
addToCart(){
|
||||||
|
Taro.showToast({
|
||||||
|
title:'添加成功',
|
||||||
|
icon:'success',
|
||||||
|
duration:1500
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
// 数量或者规格方法
|
// 数量或者规格方法
|
||||||
onChange = e => {
|
onChange = e => {
|
||||||
@ -205,7 +228,7 @@ class Goods extends Component {
|
|||||||
{/* 详情和评论区 */}
|
{/* 详情和评论区 */}
|
||||||
<View className='details-box'>
|
<View className='details-box'>
|
||||||
{/* 大类 */}
|
{/* 大类 */}
|
||||||
<AtTabs selectedColor='#FF7142' className='alltabs' animated={false} current={this.state.current} tabList={mainTabList} onClick={this.handleClick.bind(this)}>
|
<AtTabs className='alltabs' animated={false} current={this.state.current} tabList={mainTabList} onClick={this.handleClick.bind(this)}>
|
||||||
<AtTabsPane current={this.state.current} index={0} >
|
<AtTabsPane current={this.state.current} index={0} >
|
||||||
<View style='background-color: #FAFBFC;' >
|
<View style='background-color: #FAFBFC;' >
|
||||||
|
|
||||||
@ -277,15 +300,16 @@ class Goods extends Component {
|
|||||||
</View>
|
</View>
|
||||||
<View className='collection' onClick={this.saveItem.bind(this)}>
|
<View className='collection' onClick={this.saveItem.bind(this)}>
|
||||||
<AtIcon className='icon' value='heart' size='12' color='white'></AtIcon>
|
<AtIcon className='icon' value='heart' size='12' color='white'></AtIcon>
|
||||||
<AtToast
|
|
||||||
isOpened={this.state.isOpened}
|
|
||||||
duration={1000}
|
|
||||||
text='收藏成功'
|
|
||||||
></AtToast>
|
|
||||||
<Text className='title'>收藏商品</Text>
|
<Text className='title'>收藏商品</Text>
|
||||||
</View>
|
</View>
|
||||||
<View className='add-cart'>
|
<View className='add-cart' onClick={this.addToCart.bind(this)}>
|
||||||
加入购物车
|
|
||||||
|
<AtIcon className='icon' value='shopping-cart' size='12' color='white'></AtIcon>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Text className='title'> 加入购物车</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ $themeColor:#FF7142;
|
|||||||
.at-tabs{
|
.at-tabs{
|
||||||
|
|
||||||
.at-tabs__item--active{
|
.at-tabs__item--active{
|
||||||
color:$themeColor
|
// color:$themeColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.description-title{
|
.description-title{
|
||||||
@ -176,6 +176,13 @@ $themeColor:#FF7142;
|
|||||||
flex:1;
|
flex:1;
|
||||||
color: #333;
|
color: #333;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
|
.icon{
|
||||||
|
vertical-align: middle
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.collection{
|
.collection{
|
||||||
@ -195,6 +202,13 @@ $themeColor:#FF7142;
|
|||||||
flex:1;
|
flex:1;
|
||||||
background-color:#F03726;
|
background-color:#F03726;
|
||||||
color: white;
|
color: white;
|
||||||
|
.icon{
|
||||||
|
vertical-align: middle
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
import Taro, { Component } from '@tarojs/taro'
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
import { View, Text, Radio, RadioGroup, Label } from '@tarojs/components'
|
import { View, Text,Input } from '@tarojs/components'
|
||||||
import { AtInput, AtImagePicker, AtTextarea, AtButton, Picker, AtToast } from 'taro-ui'
|
import { AtInput, AtImagePicker, AtTextarea, AtButton, Picker, } from 'taro-ui'
|
||||||
|
|
||||||
import URL from '../../serviceAPI.config'
|
import URL from '../../serviceAPI.config'
|
||||||
|
|
||||||
|
|
||||||
import './goodsPublish.scss'
|
import './goodsPublish.scss'
|
||||||
import { throws } from 'assert';
|
|
||||||
|
|
||||||
class GoodsPublish extends Component {
|
class GoodsPublish extends Component {
|
||||||
|
|
||||||
@ -105,7 +104,8 @@ class GoodsPublish extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 发布商品api
|
// 发布商品api
|
||||||
uploadGoods({ goods_name = "test2", goods_price = "1.00",
|
uploadGoods({ goods_name = "test2",
|
||||||
|
goods_price = "1.00",
|
||||||
goods_unit = "1", goods_profiles = "test2",
|
goods_unit = "1", goods_profiles = "test2",
|
||||||
class_id = "10103",
|
class_id = "10103",
|
||||||
shop_class_id = "1930" }) {
|
shop_class_id = "1930" }) {
|
||||||
@ -126,14 +126,15 @@ class GoodsPublish extends Component {
|
|||||||
file_id: this.state.ImagesInfo[i].file_id,
|
file_id: this.state.ImagesInfo[i].file_id,
|
||||||
file_type: 1,
|
file_type: 1,
|
||||||
if_cover: 0,
|
if_cover: 0,
|
||||||
file_sort: 1
|
file_sort: i+1
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
alert('图片为空')
|
alert('图片为空')
|
||||||
}
|
}
|
||||||
|
console.log('页面图片列表',this.state.pickerImageUrl)
|
||||||
|
console.log('图片参数列表',uploadProductGoodFileParams)
|
||||||
Taro.request({
|
Taro.request({
|
||||||
url: URL.UploadProduct,
|
url: URL.UploadProduct,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@ -159,17 +160,30 @@ class GoodsPublish extends Component {
|
|||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
Taro.hideLoading()
|
Taro.hideLoading()
|
||||||
Taro.showToast({
|
if(res.data.err_msg==='success'){
|
||||||
title: '发布成功',
|
|
||||||
icon: 'success',
|
Taro.showToast({
|
||||||
duration: 1000
|
title: '发布成功',
|
||||||
})
|
icon: 'success',
|
||||||
setTimeout(() => {
|
duration: 1000
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
|
||||||
|
Taro.navigateTo({
|
||||||
|
url: '/pages/goods/goods?id='+res.data.goods_id
|
||||||
|
})
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Taro.showToast({
|
||||||
|
title: res.data.err_msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Taro.navigateTo({
|
|
||||||
url: '/pages/goods/goods?id='+res.data.goods_id
|
|
||||||
})
|
|
||||||
}, 1000);
|
|
||||||
|
|
||||||
console.log('上传商品', res)
|
console.log('上传商品', res)
|
||||||
}
|
}
|
||||||
@ -224,6 +238,9 @@ class GoodsPublish extends Component {
|
|||||||
this.setState({
|
this.setState({
|
||||||
productPrice: event
|
productPrice: event
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
productUnitChange(event) {
|
productUnitChange(event) {
|
||||||
this.setState({
|
this.setState({
|
||||||
@ -256,6 +273,7 @@ class GoodsPublish extends Component {
|
|||||||
const imagePath = URL.Base + data.file_path
|
const imagePath = URL.Base + data.file_path
|
||||||
const newPickerImageUrl = that.state.pickerImageUrl.concat({ url: imagePath })
|
const newPickerImageUrl = that.state.pickerImageUrl.concat({ url: imagePath })
|
||||||
const newImageInfo = that.state.ImagesInfo.concat(data)
|
const newImageInfo = that.state.ImagesInfo.concat(data)
|
||||||
|
console.log('第一',newImageInfo)
|
||||||
that.setState({ pickerImageUrl: newPickerImageUrl, ImagesInfo: newImageInfo }, () => {
|
that.setState({ pickerImageUrl: newPickerImageUrl, ImagesInfo: newImageInfo }, () => {
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: '上传成功',
|
title: '上传成功',
|
||||||
@ -268,7 +286,8 @@ class GoodsPublish extends Component {
|
|||||||
}
|
}
|
||||||
if (operationType === 'remove') {
|
if (operationType === 'remove') {
|
||||||
this.state.pickerImageUrl.splice(index, 1);
|
this.state.pickerImageUrl.splice(index, 1);
|
||||||
this.setState({ files: this.state.pickerImageUrl });
|
this.state.ImagesInfo.splice(index, 1);
|
||||||
|
this.setState({ pickerImageUrl: this.state.pickerImageUrl,ImagesInfo:this.state.ImagesInfo });
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: '删除成功',
|
title: '删除成功',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
|
@ -3,6 +3,8 @@ import Taro, { Component } from '@tarojs/taro'
|
|||||||
import { View, Text } from '@tarojs/components'
|
import { View, Text } from '@tarojs/components'
|
||||||
import { AtButton, AtIcon } from 'taro-ui'
|
import { AtButton, AtIcon } from 'taro-ui'
|
||||||
|
|
||||||
|
import URL from '../../serviceAPI.config'
|
||||||
|
|
||||||
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
||||||
|
|
||||||
|
|
||||||
@ -13,9 +15,65 @@ class GrabOrderPage extends Component {
|
|||||||
config = {
|
config = {
|
||||||
navigationBarTitleText: '抢单页面'
|
navigationBarTitleText: '抢单页面'
|
||||||
}
|
}
|
||||||
|
constructor() {
|
||||||
|
super(...arguments);
|
||||||
|
this.state = {
|
||||||
|
type: '',
|
||||||
|
title: '',
|
||||||
|
browsing: '',
|
||||||
|
contactName: '',
|
||||||
|
contactNumber: '',
|
||||||
|
address: '',
|
||||||
|
content: '',
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取抢单信息api supplyDemandDetails
|
||||||
|
getGrabOrderInfo() {
|
||||||
|
Taro.request({
|
||||||
|
url: URL.supplyDemandDetails,
|
||||||
|
method: 'GET',
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
demandId: this.$router.params.orderId,
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
|
'X-Requested-With': 'XMLHttpRequest'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log('抢单详情获取成功', res)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
type: res.data.sdInfo.sd_type,
|
||||||
|
title: res.data.sdInfo.sd_title,
|
||||||
|
browsing: res.data.sdInfo.browse_times,
|
||||||
|
contactName: res.data.sdInfo.user_name,
|
||||||
|
contactNumber: res.data.sdInfo.user_phone,
|
||||||
|
address: res.data.sdInfo.user_address,
|
||||||
|
content: res.data.sdInfo.sd_desc,
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(error => {
|
||||||
|
console.log('抢单详情获取失败', error)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
callPhoneNumber(){
|
||||||
|
Taro.makePhoneCall({
|
||||||
|
phoneNumber: this.state.contactNumber
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
console.log(this.$router.params.orderId)
|
||||||
|
this.getGrabOrderInfo()
|
||||||
}
|
}
|
||||||
componentWillReceiveProps(nextProps) {
|
componentWillReceiveProps(nextProps) {
|
||||||
console.log(this.props, nextProps)
|
console.log(this.props, nextProps)
|
||||||
@ -46,7 +104,7 @@ class GrabOrderPage extends Component {
|
|||||||
<Text className='title'>联系人:</Text>
|
<Text className='title'>联系人:</Text>
|
||||||
<Text className='content'>{this.state.contactName}</Text>
|
<Text className='content'>{this.state.contactName}</Text>
|
||||||
</View>
|
</View>
|
||||||
<View className='phone-number box'>
|
<View className='phone-number box' onClick={this.callPhoneNumber.bind(this)} >
|
||||||
<Text className='title'>联系电话:</Text>
|
<Text className='title'>联系电话:</Text>
|
||||||
<Text className='content'>{this.state.contactNumber}</Text>
|
<Text className='content'>{this.state.contactNumber}</Text>
|
||||||
</View>
|
</View>
|
||||||
|
@ -7,6 +7,11 @@
|
|||||||
.title{
|
.title{
|
||||||
font-weight: bold
|
font-weight: bold
|
||||||
}
|
}
|
||||||
|
.phone-number{
|
||||||
|
.content{
|
||||||
|
color:#0579c6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.button-box{
|
.button-box{
|
||||||
|
@ -24,7 +24,6 @@ class Home extends Component {
|
|||||||
otherData: [], // 底部导航栏
|
otherData: [], // 底部导航栏
|
||||||
isOpen: false, // 抢单消息提示
|
isOpen: false, // 抢单消息提示
|
||||||
grabOrderId: '',//抢到订单的id
|
grabOrderId: '',//抢到订单的id
|
||||||
|
|
||||||
isMore: 'noMore',// 加载更多店铺
|
isMore: 'noMore',// 加载更多店铺
|
||||||
userName:'',//用户名字
|
userName:'',//用户名字
|
||||||
userPhone:'',// 用户电话
|
userPhone:'',// 用户电话
|
||||||
@ -35,8 +34,9 @@ class Home extends Component {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//api 得到首页的信息
|
//api得到首页的信息
|
||||||
getHomeCategoriesInfo() {
|
getHomeCategoriesInfo() {
|
||||||
|
|
||||||
Taro.request({
|
Taro.request({
|
||||||
url: URL.ShopWxStore,
|
url: URL.ShopWxStore,
|
||||||
header: {
|
header: {
|
||||||
@ -170,7 +170,7 @@ class Home extends Component {
|
|||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: res.data.err_msg,
|
title: res.data.err_msg==='success'?'抢单成功':res.data.err_msg,
|
||||||
icon:'none',
|
icon:'none',
|
||||||
duration:1500
|
duration:1500
|
||||||
})
|
})
|
||||||
@ -227,10 +227,10 @@ class Home extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 导航去抢单页面
|
// 导航去抢单页面
|
||||||
goToGrabOrderPage(){
|
goToGrabOrderPage(orderId){
|
||||||
Taro.navigateTo({
|
Taro.navigateTo({
|
||||||
|
|
||||||
url:'/pages/grabOrderPage/grabOrderPage'
|
url:'/pages/grabOrderPage/grabOrderPage?orderId='+orderId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
@ -282,7 +282,7 @@ class Home extends Component {
|
|||||||
const demandingElemensArray = this.state.demanding.length ? this.state.demanding.map((item, index) => {
|
const demandingElemensArray = this.state.demanding.length ? this.state.demanding.map((item, index) => {
|
||||||
return <SwiperItem key={index} >
|
return <SwiperItem key={index} >
|
||||||
<View className='demanding-item' >
|
<View className='demanding-item' >
|
||||||
<View onClick={this.goToGrabOrderPage.bind(this)}>
|
<View onClick={this.goToGrabOrderPage.bind(this,item.sd_id)}>
|
||||||
<View className='item-tag'>
|
<View className='item-tag'>
|
||||||
<Text className='item-tag-text'> {item.class_name}</Text>
|
<Text className='item-tag-text'> {item.class_name}</Text>
|
||||||
</View>
|
</View>
|
||||||
|
@ -35,6 +35,8 @@ class Index extends Component {
|
|||||||
// url: '/pages/mySupplyDemand/mySupplyDemand'
|
// url: '/pages/mySupplyDemand/mySupplyDemand'
|
||||||
// url:'/pages/grabOrderPage/grabOrderPage'
|
// url:'/pages/grabOrderPage/grabOrderPage'
|
||||||
url:'/pages/home/home'
|
url:'/pages/home/home'
|
||||||
|
//url:'/pages/myNeeds/myNeeds'
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
componentWillReceiveProps (nextProps) {
|
componentWillReceiveProps (nextProps) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Taro, { Component } from '@tarojs/taro'
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
import { View, Radio, } from '@tarojs/components'
|
import { View, Radio, } from '@tarojs/components'
|
||||||
import { AtInput, Text, AtButton, AtIcon, Picker, Image, AtPagination, } from 'taro-ui'
|
import { AtInput, Text, AtButton, AtIcon, Picker, Image, AtPagination,AtModal,AtModalHeader,AtModalContent,AtModalAction,Button } from 'taro-ui'
|
||||||
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
||||||
import URL from '../../serviceAPI.config'
|
import URL from '../../serviceAPI.config'
|
||||||
|
|
||||||
@ -37,10 +37,12 @@ class MyGoodList extends Component {
|
|||||||
myGoodListTotal: 0,// 后台的商品总数
|
myGoodListTotal: 0,// 后台的商品总数
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
goodsStateParam: 1,//商品状态参数
|
goodsStateParam: 1,//商品状态参数
|
||||||
pageCountParam: 10,// 商品数量参数
|
pageCountParam: 5,// 商品数量参数
|
||||||
currPageParam: 1,// 当前页面 参数
|
currPageParam: 1,// 当前页面 参数
|
||||||
isCheckAll: false,// 是否checked
|
isCheckAll: false,// 是否checked
|
||||||
goodsIdList: [],//商品Id 列表
|
goodsIdList: [],//商品Id 列表
|
||||||
|
isOpenDeleteModal:false,// 是否显示删除模态框
|
||||||
|
isOpenOffStockModal:false,// 是否显示下架模态框
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -114,9 +116,13 @@ class MyGoodList extends Component {
|
|||||||
if (res.statusCode === 200) {
|
if (res.statusCode === 200) {
|
||||||
console.log('我的商品列表', JSON.parse(res.data))
|
console.log('我的商品列表', JSON.parse(res.data))
|
||||||
const data = JSON.parse(res.data)
|
const data = JSON.parse(res.data)
|
||||||
data.goods.forEach(item => {
|
if(data.goods){
|
||||||
item.checked = false
|
data.goods.forEach(item => {
|
||||||
});
|
item.checked = false
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
const goodCount = Number(data.goodsCount)
|
const goodCount = Number(data.goodsCount)
|
||||||
this.setState({
|
this.setState({
|
||||||
myGoodList: data.goods,
|
myGoodList: data.goods,
|
||||||
@ -379,7 +385,9 @@ class MyGoodList extends Component {
|
|||||||
item.checked = !this.state.isCheckAll
|
item.checked = !this.state.isCheckAll
|
||||||
return item
|
return item
|
||||||
})
|
})
|
||||||
this.setState({ isCheckAll: !this.state.isCheckAll, myGoodList: newMyGoodList })
|
this.setState({ isCheckAll: !this.state.isCheckAll, myGoodList: newMyGoodList },()=>{
|
||||||
|
console.log('全选列表',this.state.myGoodList)
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,19 +405,20 @@ class MyGoodList extends Component {
|
|||||||
}
|
}
|
||||||
// 删除商品
|
// 删除商品
|
||||||
deleteGoodsHandler() {
|
deleteGoodsHandler() {
|
||||||
|
|
||||||
const checkedGoodsId = []
|
const checkedGoodsId = []
|
||||||
this.state.myGoodList.forEach(item => {
|
this.state.myGoodList.forEach(item => {
|
||||||
if (item.checked) {
|
if (item.checked) {
|
||||||
checkedGoodsId.push(item.goods_id)
|
checkedGoodsId.push(item.goods_id)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
checkedGoodsId.length ? this.setState({isOpenDeleteModal:true}): Taro.showToast({
|
||||||
checkedGoodsId.length ? this.deleteGood({ goodsID: checkedGoodsId }) : Taro.showToast({
|
|
||||||
title:'请选择要删除的商品',
|
title:'请选择要删除的商品',
|
||||||
icon:'none',
|
icon:'none',
|
||||||
duration:1500
|
duration:1500
|
||||||
})
|
})
|
||||||
|
// // this.deleteGood({ goodsID: checkedGoodsId })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// 改变商品状态
|
// 改变商品状态
|
||||||
@ -420,10 +429,11 @@ class MyGoodList extends Component {
|
|||||||
checkedGoodsId.push(item.goods_id)
|
checkedGoodsId.push(item.goods_id)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
checkedGoodsId.length ? this.changeGoodState({ goodsID: checkedGoodsId }) : this.setState({ isToast: true, toastText: '请选择要下架的商品' }, () => {
|
//this.changeGoodState({ goodsID: checkedGoodsId })
|
||||||
setTimeout(() => {
|
checkedGoodsId.length ? this.setState({isOpenOffStockModal:true}) : Taro.showToast({
|
||||||
this.setState({ isToast: false })
|
title:'请选择要下架的商品',
|
||||||
}, 2000);
|
icon:'none',
|
||||||
|
duration:1500
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 导航到商品编辑页面myGoodsEdit
|
// 导航到商品编辑页面myGoodsEdit
|
||||||
@ -438,6 +448,41 @@ class MyGoodList extends Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DeleteConfirm(){
|
||||||
|
this.setState({
|
||||||
|
isOpenDeleteModal:false
|
||||||
|
})
|
||||||
|
const checkedGoodsId = []
|
||||||
|
this.state.myGoodList.forEach(item => {
|
||||||
|
if (item.checked) {
|
||||||
|
checkedGoodsId.push(item.goods_id)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.deleteGood({ goodsID: checkedGoodsId })
|
||||||
|
}
|
||||||
|
deleteModalClose(){
|
||||||
|
this.setState({
|
||||||
|
isOpenDeleteModal:false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
OffStockConfirm(){
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
isOpenOffStockModal:false
|
||||||
|
})
|
||||||
|
const checkedGoodsId = []
|
||||||
|
this.state.myGoodList.forEach(item => {
|
||||||
|
if (item.checked) {
|
||||||
|
checkedGoodsId.push(item.goods_id)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.changeGoodState({ goodsID: checkedGoodsId })
|
||||||
|
}
|
||||||
|
offStockModalClose(){
|
||||||
|
this.setState({
|
||||||
|
isOpenOffStockModal:false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.getMyGoodListApi({})
|
this.getMyGoodListApi({})
|
||||||
@ -484,10 +529,30 @@ class MyGoodList extends Component {
|
|||||||
{isTure ? <AtIcon value='chevron-down' size='10' color='#F00'></AtIcon> : <AtIcon value='chevron-up' size='10' color='#F00'></AtIcon>}
|
{isTure ? <AtIcon value='chevron-down' size='10' color='#F00'></AtIcon> : <AtIcon value='chevron-up' size='10' color='#F00'></AtIcon>}
|
||||||
</View>
|
</View>
|
||||||
})
|
})
|
||||||
|
// 删除提示模态弹窗element
|
||||||
|
const modalMessageDeleteElement = <AtModal isOpened={this.state.isOpenDeleteModal}>
|
||||||
|
<AtModalHeader>提示</AtModalHeader>
|
||||||
|
<AtModalContent>
|
||||||
|
确定要删除已选商品?
|
||||||
|
</AtModalContent>
|
||||||
|
<AtModalAction> <Button onClick={this.deleteModalClose.bind(this)}>取消</Button> <Button className='orange' onClick={this.DeleteConfirm.bind(this)}>确定</Button> </AtModalAction>
|
||||||
|
</AtModal>
|
||||||
|
// 下架提示模态弹窗element
|
||||||
|
const modalMessageOffStockElement = <AtModal isOpened={this.state.isOpenOffStockModal}>
|
||||||
|
<AtModalHeader>提示</AtModalHeader>
|
||||||
|
<AtModalContent>
|
||||||
|
确定要下架已选商品?
|
||||||
|
</AtModalContent>
|
||||||
|
<AtModalAction> <Button onClick={this.offStockModalClose.bind(this)}>取消</Button> <Button className='orange' onClick={this.OffStockConfirm.bind(this)}>确定</Button> </AtModalAction>
|
||||||
|
</AtModal>
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View className='MyGoodList'>
|
<View className='MyGoodList'>
|
||||||
|
{/* 删除模态提示框 */}
|
||||||
|
{modalMessageDeleteElement}
|
||||||
|
{/* 下架模态框提示 */}
|
||||||
|
{modalMessageOffStockElement}
|
||||||
|
|
||||||
<View className='border-box'>
|
<View className='border-box'>
|
||||||
<AtInput
|
<AtInput
|
||||||
@ -604,7 +669,7 @@ class MyGoodList extends Component {
|
|||||||
<View className='pagination-box'>
|
<View className='pagination-box'>
|
||||||
<AtPagination
|
<AtPagination
|
||||||
total={this.state.myGoodListTotal}
|
total={this.state.myGoodListTotal}
|
||||||
pageSize={10}
|
pageSize={5}
|
||||||
current={this.state.currentPage}
|
current={this.state.currentPage}
|
||||||
onPageChange={this.state.paginationNav.bind(this)}
|
onPageChange={this.state.paginationNav.bind(this)}
|
||||||
>
|
>
|
||||||
|
@ -24,9 +24,6 @@ class MyGoodsEdit extends Component {
|
|||||||
ImagesInfo: [],// 后台传回来的图片信息
|
ImagesInfo: [],// 后台传回来的图片信息
|
||||||
goodsTypeParam: '',//商品分类参数
|
goodsTypeParam: '',//商品分类参数
|
||||||
goodId: '',//商品id
|
goodId: '',//商品id
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//获取商品信息api GetProductInfo
|
//获取商品信息api GetProductInfo
|
||||||
@ -75,7 +72,7 @@ class MyGoodsEdit extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 店铺分类目录请求 api
|
// 店铺分类目录请求 api
|
||||||
async getShopCateList() {
|
getShopCateList() {
|
||||||
Taro.request({
|
Taro.request({
|
||||||
url: URL.GetShopCategoryList,
|
url: URL.GetShopCategoryList,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@ -102,7 +99,7 @@ class MyGoodsEdit extends Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.setState({ shopCategoryList: shopCategory }, () => {
|
this.setState({ shopCategoryList: shopCategory }, () => {
|
||||||
|
this.getGoodsInfo()
|
||||||
})
|
})
|
||||||
console.log('店铺分类目录', res)
|
console.log('店铺分类目录', res)
|
||||||
return
|
return
|
||||||
@ -139,7 +136,8 @@ class MyGoodsEdit extends Component {
|
|||||||
file_id: this.state.ImagesInfo[i].file_id,
|
file_id: this.state.ImagesInfo[i].file_id,
|
||||||
file_type: 1,
|
file_type: 1,
|
||||||
if_cover: 0,
|
if_cover: 0,
|
||||||
file_sort: 1
|
file_sort: i+1
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -152,7 +150,7 @@ class MyGoodsEdit extends Component {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
data: {
|
data: {
|
||||||
deployType: 1,
|
deployType: 2,
|
||||||
action: 2,
|
action: 2,
|
||||||
goods: JSON.stringify({
|
goods: JSON.stringify({
|
||||||
goods_name: goods_name,
|
goods_name: goods_name,
|
||||||
@ -238,9 +236,11 @@ class MyGoodsEdit extends Component {
|
|||||||
success(response) {
|
success(response) {
|
||||||
|
|
||||||
const data = JSON.parse(response.data)
|
const data = JSON.parse(response.data)
|
||||||
|
console.log('imagedata',data)
|
||||||
const imagePath = URL.Base + data.file_path
|
const imagePath = URL.Base + data.file_path
|
||||||
const newPickerImageUrl = that.state.pickerImageUrl.concat({ url: imagePath })
|
const newPickerImageUrl = that.state.pickerImageUrl.concat({ url: imagePath })
|
||||||
const newImageInfo = that.state.ImagesInfo.concat(data)
|
const newImageInfo = that.state.ImagesInfo.concat(data)
|
||||||
|
console.log('新添加后的图片列表',newImageInfo)
|
||||||
|
|
||||||
that.setState({
|
that.setState({
|
||||||
pickerImageUrl: newPickerImageUrl,
|
pickerImageUrl: newPickerImageUrl,
|
||||||
@ -272,10 +272,7 @@ class MyGoodsEdit extends Component {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 图片上传失败
|
|
||||||
onFail(mes) {
|
|
||||||
console.log(mes)
|
|
||||||
}
|
|
||||||
|
|
||||||
onClickUploadGoods() {
|
onClickUploadGoods() {
|
||||||
if (this.state.productName && this.state.productPrice && this.state.productUnit && this.state.ImagesInfo.length && this.state.shopCategoryCheckedPicker.id) {
|
if (this.state.productName && this.state.productPrice && this.state.productUnit && this.state.ImagesInfo.length && this.state.shopCategoryCheckedPicker.id) {
|
||||||
@ -317,10 +314,7 @@ class MyGoodsEdit extends Component {
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
|
||||||
this.getShopCateList().then(() => {
|
this.getShopCateList()
|
||||||
this.getGoodsInfo()
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
308
src/pages/myNeeds/myNeeds.js
Normal file
308
src/pages/myNeeds/myNeeds.js
Normal file
@ -0,0 +1,308 @@
|
|||||||
|
//myNeeds
|
||||||
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
|
import { View, Text, Button } from '@tarojs/components'
|
||||||
|
import { AtInput, AtButton, Picker, AtIcon, AtModal, AtModalHeader, AtModalContent, AtModalAction, AtPagination } from 'taro-ui'
|
||||||
|
import URL from '../../serviceAPI.config'
|
||||||
|
|
||||||
|
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
||||||
|
|
||||||
|
|
||||||
|
import './myNeeds.scss'
|
||||||
|
|
||||||
|
|
||||||
|
class MyNeeds extends Component {
|
||||||
|
config = {
|
||||||
|
navigationBarTitleText: '我的需求'
|
||||||
|
}
|
||||||
|
constructor() {
|
||||||
|
super(...arguments)
|
||||||
|
this.state = {
|
||||||
|
title: '',
|
||||||
|
startDateSel: '',
|
||||||
|
endDateSel: '',
|
||||||
|
industryType: '',
|
||||||
|
needsType: [{ name: '业主需求', id: '4' }, { name: '效果图', id: '5' }],
|
||||||
|
needsTypeSelected: { name: '业主需求', id: '4' },
|
||||||
|
needsState: [
|
||||||
|
{ name: '全部', id: '' },
|
||||||
|
{ name: '作废', id: '0' }
|
||||||
|
, { name: '在用', id: '1' },
|
||||||
|
{ name: '设计中', id: '2' },
|
||||||
|
{ name: '已设计', id: '3' }],
|
||||||
|
needsStateSelected: { name: '全部', id: '' },
|
||||||
|
allNeedsList: [],// 我的需求列表
|
||||||
|
totalNeeds: 0,// 我的需求数量
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//请求我的需求列表 api GetMyNeedsList
|
||||||
|
getGetMyNeedsList({ curr_page = 1, page_count = 10, sd_type = 4 }) {
|
||||||
|
Taro.request({
|
||||||
|
url: URL.GetMyNeedsList,
|
||||||
|
method: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
|
|
||||||
|
data: {
|
||||||
|
param: JSON.stringify({
|
||||||
|
curr_page: curr_page,
|
||||||
|
page_count: page_count,
|
||||||
|
sd_type: sd_type
|
||||||
|
})
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'X-Requested-With': 'XMLHttpRequest'
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res.data.err_msg === "success") {
|
||||||
|
// 判断是否有res.data.supplys , 如果没有就是空数组[]
|
||||||
|
Taro.hideLoading()
|
||||||
|
console.log('我的需求列表', res)
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
allNeedsList: res.data.supplys || [],
|
||||||
|
totalNeeds: Number(res.data.count)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
// 行业分类筛选列表GetIndustryTypeList
|
||||||
|
getGetMyNeedsList() {
|
||||||
|
Taro.request({
|
||||||
|
url: URL.GetIndustryTypeList,
|
||||||
|
method: 'GET',
|
||||||
|
dataType: 'json',
|
||||||
|
|
||||||
|
|
||||||
|
header: {
|
||||||
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'X-Requested-With': 'XMLHttpRequest'
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
|
||||||
|
console.log('行业分类列表', res)
|
||||||
|
|
||||||
|
// this.setState({
|
||||||
|
// allNeedsList: res.data.supplys || [],
|
||||||
|
// totalNeeds: Number(res.data.count)
|
||||||
|
// })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
})}
|
||||||
|
|
||||||
|
// 搜索按钮
|
||||||
|
onSearchButtonHandler() {
|
||||||
|
Taro.showLoading({ title: '加载中' }).then(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.searchDemandSupply({})
|
||||||
|
this.setState({ currentPage: 1 })
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
// 新增我的需求
|
||||||
|
addDemandSupply() {
|
||||||
|
Taro.navigateTo({
|
||||||
|
url: '/pages/supplyDemandPublish/supplyDemandPublish'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
titleChange(event) {
|
||||||
|
this.setState({ title: event })
|
||||||
|
}
|
||||||
|
// 修改开始日期
|
||||||
|
onStartDateChange = e => {
|
||||||
|
this.setState({
|
||||||
|
startDateSel: e.detail.value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 修改结束日期
|
||||||
|
onEndDateChange = e => {
|
||||||
|
this.setState({
|
||||||
|
endDateSel: e.detail.value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// needsStateChange = e => {
|
||||||
|
// this.setState({
|
||||||
|
// needsStatesSelected: this.state.needsState[e.detail.value]
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
needsTypeChange = e => {
|
||||||
|
this.setState({
|
||||||
|
needsTypeSelected: this.state.needsType[e.detail.value]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
needsStateChange = e => {
|
||||||
|
this.setState({
|
||||||
|
needsStateSelected: this.state.needsState[e.detail.value]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.getGetMyNeedsList({})
|
||||||
|
this.getGetMyNeedsList()
|
||||||
|
}
|
||||||
|
componentWillReceiveProps(nextProps) {
|
||||||
|
console.log(this.props, nextProps)
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() { }
|
||||||
|
|
||||||
|
componentDidShow() { }
|
||||||
|
|
||||||
|
componentDidHide() { }
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const myNeedsListArrayElement = this.allNeedsList.map((item, index) => {
|
||||||
|
return <View className='needs-box' key={index}>
|
||||||
|
<View className='industy-type box'>
|
||||||
|
<Text classname='title'>行业分类:</Text>
|
||||||
|
<Text classname='content'>{item.sd_type}</Text>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
<View className='needs-title box'>
|
||||||
|
<Text classname='title'>需求标题:</Text>
|
||||||
|
<Text classname='content'>{item.sd_title}</Text>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
<View className='needs-state box'>
|
||||||
|
<Text classname='title'>需求状态:</Text>
|
||||||
|
<Text classname='content'>{item.state}</Text>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
<View className='update-time box'>
|
||||||
|
<Text classname='title'>更新时间:</Text>
|
||||||
|
<Text classname='content'>{item.update_date}</Text>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
<View className='info-button-box'>
|
||||||
|
<View className='button' onClick={this.goToSupplyDemandPage.bind(this, item.sd_id)}>
|
||||||
|
<AtButton type='primary' size='small'>查看</AtButton>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
})
|
||||||
|
return (
|
||||||
|
<View className='myNeeds'>
|
||||||
|
{/* 需求标题 */}
|
||||||
|
<View className='input-box'>
|
||||||
|
|
||||||
|
<AtInput
|
||||||
|
name='value'
|
||||||
|
title='需求标题:'
|
||||||
|
placeholder='需求标题·'
|
||||||
|
type='text'
|
||||||
|
value={this.state.title}
|
||||||
|
onChange={this.titleChange.bind(this)}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
{/* 开始和结束日期 */}
|
||||||
|
<View className='page-section'>
|
||||||
|
<View className='picker-box'>
|
||||||
|
<Picker mode='date' className='picker-container' onChange={this.onStartDateChange}>
|
||||||
|
<View className='picker'>
|
||||||
|
<View className='title-box'>
|
||||||
|
<Text className='title'>开始日期:</Text> <Text className='selected'>{this.state.startDateSel}</Text>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</Picker>
|
||||||
|
<Picker className='picker-container' mode='date' start={this.state.startDateSel} onChange={this.onEndDateChange}>
|
||||||
|
<View className='picker'>
|
||||||
|
<View className='title-box'>
|
||||||
|
<Text className='title'>结束日期:</Text> <Text className='selected'>{this.state.endDateSel}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</Picker>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
{/* 行业分类 */}
|
||||||
|
|
||||||
|
<View className='page-section'>
|
||||||
|
<View>
|
||||||
|
<Picker mode='selector' rangeKey='name' range={this.state.demandSupplyCate} onChange={this.demSupplyCateChange.bind(this)}>
|
||||||
|
<View className='picker'>
|
||||||
|
<View className='title-box'>
|
||||||
|
<Text className='title'>行业分类:</Text> <Text className='selected'>{this.state.demandSupplyCateSelected.name}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</Picker>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
{/* 需求类型 */}
|
||||||
|
<View className='page-section'>
|
||||||
|
<View>
|
||||||
|
<Picker mode='selector' rangeKey='name' range={this.state.needsType} onChange={this.needsTypeChange.bind(this)}>
|
||||||
|
<View className='picker'>
|
||||||
|
<View className='title-box'>
|
||||||
|
<Text className='title'>需求类型:</Text> <Text className='selected'>{this.state.needsTypeSelected.name}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</Picker>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
{/* 需求状态 */}
|
||||||
|
<View className='page-section'>
|
||||||
|
|
||||||
|
<View>
|
||||||
|
<Picker mode='selector' rangeKey='name' range={this.state.needsState} onChange={this.needsStateChange.bind(this)}>
|
||||||
|
<View className='picker'>
|
||||||
|
<View className='title-box'>
|
||||||
|
<Text className='title'> 需求状态:</Text> <Text className='selected'>{this.state.needsStateSelected.name}</Text>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</Picker>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<View className='button-box'>
|
||||||
|
<View className='button' onClick={this.onSearchButtonHandler.bind(this)}>
|
||||||
|
<AtButton type='primary' size='small'>
|
||||||
|
<AtIcon value='search' size='12' color='white'></AtIcon>
|
||||||
|
搜索</AtButton>
|
||||||
|
</View>
|
||||||
|
<View className='button' onClick={this.addDemandSupply.bind(this)}>
|
||||||
|
<AtButton type='primary' className='button-a' size='small'>
|
||||||
|
<AtIcon value='add' size='12' color='white'></AtIcon>
|
||||||
|
新增</AtButton>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View className='total'>
|
||||||
|
共<Text className='count'>{this.state.totalNeeds}</Text> 条记录
|
||||||
|
</View>
|
||||||
|
{/* 我的需求信息 */}
|
||||||
|
<View className='info-box'>
|
||||||
|
{myNeedsListArrayElement}
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View className='pagination-box'>
|
||||||
|
<AtPagination
|
||||||
|
total={this.state.totalDemandSupply}
|
||||||
|
pageSize={10}
|
||||||
|
current={this.state.currentPage}
|
||||||
|
onPageChange={this.state.paginationNav.bind(this)}
|
||||||
|
>
|
||||||
|
</AtPagination>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MyNeeds
|
127
src/pages/myNeeds/myNeeds.scss
Normal file
127
src/pages/myNeeds/myNeeds.scss
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
$themeColor:#FF7142;
|
||||||
|
.myNeeds{
|
||||||
|
padding: 10px 20px;
|
||||||
|
font-size: 32rpx;
|
||||||
|
.require{
|
||||||
|
color:red;
|
||||||
|
line-height:100rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.total{
|
||||||
|
text-align: right;
|
||||||
|
margin: 20px;
|
||||||
|
.count{
|
||||||
|
color:red;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.at-input__container{
|
||||||
|
color:black;
|
||||||
|
font-weight: bold;
|
||||||
|
.at-input__input{
|
||||||
|
font-weight: normal
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.page-section{
|
||||||
|
border-bottom: 1Px solid #d6e4ef;
|
||||||
|
|
||||||
|
.picker{
|
||||||
|
// padding: 24rpx 0;
|
||||||
|
.selected{
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 20%;
|
||||||
|
font-size: 32rpx
|
||||||
|
}
|
||||||
|
.title-box{
|
||||||
|
.title{
|
||||||
|
//color: #333;
|
||||||
|
line-height:100rpx;
|
||||||
|
margin-right:16rpx;
|
||||||
|
width:172rpx;
|
||||||
|
font-size:32rpx;
|
||||||
|
vertical-align:middle;
|
||||||
|
text-align:left;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.input-box{
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 1Px solid #d6e4ef;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.picker-box{
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: row;
|
||||||
|
.picker-container{
|
||||||
|
flex:1
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.button-box{
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 40px 0;
|
||||||
|
padding: 0 120px;
|
||||||
|
|
||||||
|
.button{
|
||||||
|
flex:1;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
|
||||||
|
.at-button--primary{
|
||||||
|
background-color:$themeColor;
|
||||||
|
border:1PX solid $themeColor;
|
||||||
|
}
|
||||||
|
.button-a{
|
||||||
|
|
||||||
|
background-color:#5cb85c;
|
||||||
|
border:1PX solid #5cb85c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
text-align: center;
|
||||||
|
font-size: 35px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.pagination-box{
|
||||||
|
margin: 50px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-box{
|
||||||
|
|
||||||
|
font-size: 28px;
|
||||||
|
.needs-box{
|
||||||
|
margin-top: 10px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
box-shadow: 0 8px 8px #ddd;
|
||||||
|
padding: 10px;
|
||||||
|
.box{
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
.info-button-box{
|
||||||
|
margin: 20px 0 0 0;
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
.button{
|
||||||
|
// flex:1;
|
||||||
|
text-align: right;
|
||||||
|
margin:1% 1% 0;
|
||||||
|
|
||||||
|
.at-button--primary{
|
||||||
|
background-color:#FF9500;
|
||||||
|
border:1PX solid #FF9500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
@ -28,13 +28,13 @@ class MySupplyDemand extends Component {
|
|||||||
isConfirmWindow: false, // 是否显示确认弹窗
|
isConfirmWindow: false, // 是否显示确认弹窗
|
||||||
demandSupplyItemName: '',// 确认框提示时 使用的供求名
|
demandSupplyItemName: '',// 确认框提示时 使用的供求名
|
||||||
demandSupplyId: '',// 删除我的供求时的供求id
|
demandSupplyId: '',// 删除我的供求时的供求id
|
||||||
totalDemandSupply:'',//所有供求
|
totalDemandSupply:0,//所有供求
|
||||||
currentPage:1 //当前页数
|
currentPage:1 //当前页数
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//获取我的供求API
|
//获取我的供求列表API
|
||||||
getMySupplyDemand({ curr_page = 1, page_count = 10 }) {
|
getMySupplyDemand({ curr_page = 1, page_count = 10 }) {
|
||||||
Taro.request({
|
Taro.request({
|
||||||
url: URL.MySupplyDemand,
|
url: URL.MySupplyDemand,
|
||||||
@ -56,7 +56,8 @@ class MySupplyDemand extends Component {
|
|||||||
if (res.data.err_msg === "success") {
|
if (res.data.err_msg === "success") {
|
||||||
// 判断是否有res.data.supplys , 如果没有就是空数组[]
|
// 判断是否有res.data.supplys , 如果没有就是空数组[]
|
||||||
Taro.hideLoading()
|
Taro.hideLoading()
|
||||||
this.setState({ allDemandSupply: res.data.supplys || [], totalDemandSupply: res.data.count })
|
|
||||||
|
this.setState({ allDemandSupply: res.data.supplys || [], totalDemandSupply:Number(res.data.count) })
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -315,8 +316,6 @@ class MySupplyDemand extends Component {
|
|||||||
{modalMessageConfirmElement}
|
{modalMessageConfirmElement}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* 供求类型 */}
|
{/* 供求类型 */}
|
||||||
<View className='page-section'>
|
<View className='page-section'>
|
||||||
<View>
|
<View>
|
||||||
|
@ -88,8 +88,10 @@ $themeColor:#FF7142;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-box{
|
.info-box{
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
|
|
||||||
.info-container{
|
.info-container{
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
|
@ -17,6 +17,8 @@ const URL = {
|
|||||||
//所有业主供求
|
//所有业主供求
|
||||||
GetAllDemanding: LOCALURL + 'supply-allDemandList',// 获取所有业主需求
|
GetAllDemanding: LOCALURL + 'supply-allDemandList',// 获取所有业主需求
|
||||||
MySupplyDemand: LOCALURL + 'Supply-myList',// 我的供求
|
MySupplyDemand: LOCALURL + 'Supply-myList',// 我的供求
|
||||||
|
supplyDemandDetails: LOCALURL + 'supply-wxDemandDetail',// 单个供求详情
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -47,8 +49,9 @@ const URL = {
|
|||||||
|
|
||||||
// 商品编辑页面 Goods-wxEditPhoneDeploy
|
// 商品编辑页面 Goods-wxEditPhoneDeploy
|
||||||
GetProductInfo: LOCALURL + 'Goods-wxEditPhoneDeploy',// 获取单个商品信息
|
GetProductInfo: LOCALURL + 'Goods-wxEditPhoneDeploy',// 获取单个商品信息
|
||||||
|
//我的需求列表
|
||||||
|
GetMyNeedsList:LOCALURL+'Supply-userDemandList',// 获取我的需求列表
|
||||||
|
GetIndustryTypeList:LOCALURL+'shop-getIndustryClass'// 获取行业分类筛选列表
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user