Commit f57773da by 施宇

批量删除

parent d333b827
......@@ -199,6 +199,7 @@ image {
.c-com {
color: #515559;
word-break: break-all
}
/**询报价列表**/
......
......@@ -84,22 +84,13 @@ Component({
} else if (priceType == 6) {//tab页商品跳转
if (this.data.isDelete) {
let index = e.currentTarget.dataset.index;
let isdelete = this.data.priceList[index].isdelete;
let deleteGoodsData = wx.getStorageSync('deleteGoodsData')||[];
let temp = 'priceList[' + index + '].isdelete'
this.setData({
[temp]: !isdelete
})
if(!isdelete){
//选中
deleteGoodsData.push(goodId)
}else{
//取消
let i = deleteGoodsData.indexOf(goodId);
deleteGoodsData.splice(i,1);
let data = {
index: index,
isdelete: this.data.priceList[index].isdelete,
goodId: goodId
}
wx.setStorageSync('deleteGoodsData', deleteGoodsData)
//触发删除的自定义事件,逻辑在父组件中处理
this.triggerEvent('delete', data);
} else {
wx.navigateTo({
url: "/pages/detail/good/index?goodId=" + goodId + '&type=1'
......
......@@ -20,7 +20,8 @@ Page({
currency: 0,
isClick: true,
isShowTip: true,
array: ['RMB','USD']
array: ['RMB','USD'],
date:"",
},
bindPickerChange: function (e) {
this.setData({
......@@ -30,10 +31,10 @@ Page({
formSubmit: function(e) {
let obj = e.detail.value;
if (!obj.goods_name.trim().length) {
tips('请填写型号');
tips('请填写商品型号');
return
} else if (obj.goods_name.trim().length < 3) {
tips('型号不能小于3个字符');
tips('商品型号不能小于3个字符');
return
} else if (!obj.brand_name.trim().length) {
tips('请填写品牌');
......@@ -45,7 +46,7 @@ Page({
tips('请填写数量');
return
} else if (isNaN(Number(obj.number.trim()))) {
tips('数量必须为数字');
tips('需求数量必须为数字');
return
} else {
if (!fourPoint(obj.price)) {
......@@ -53,10 +54,10 @@ Page({
}
if (obj.hq == 2) { //期货
if (!obj.day.trim().length) {
tips('请填写货期');
tips('请填写时间');
return
} else if (obj.day.trim().length>6){
tips('货期不能大于6个字符');
tips('时间不能大于6个字符');
return
}
}
......@@ -170,5 +171,10 @@ Page({
this.setData({
isShowTip: false
})
},
bindDateChange:function(e){
this.setData({
date: e.detail.value
})
}
})
\ No newline at end of file
<!--pages/form/xj/index.wxml-->
<view class="form-view">
<view class="form-view-xj">
<view class="tip row bothSide verCenter {{isShowTip?'':'noheight'}}">
<view class="tip-left row verCenter">
<text class="icon iconfont iconiconxiantiaoshouji12 tip-icon"></text>
......@@ -20,41 +20,41 @@
</view>
<form bindsubmit="formSubmit">
<view class="form-item row verCenter">
<text class="form-item-title">*型号</text>
<text class="form-item-title form-item-title-135">*商品型号</text>
<view class="form-item-right">
<input placeholder="请输入产品型号(必填)" placeholder-class="placeholderClass" type="text" name="goods_name"></input>
</view>
</view>
<view class="form-item row verCenter px-hr-top">
<text class="form-item-title">*品牌</text>
<text class="form-item-title form-item-title-135">*品牌</text>
<view class="form-item-right">
<input placeholder="请输入品牌(必填)" placeholder-class="placeholderClass" type="text" name="brand_name"></input>
</view>
</view>
<view class="form-item row verCenter px-hr-top">
<text class="form-item-title"> 封装</text>
<text class="form-item-title form-item-title-135"> 封装</text>
<view class="form-item-right">
<input placeholder="请输入封装" placeholder-class="placeholderClass" type="text" name="encap"></input>
</view>
</view>
<view class="form-item row verCenter px-hr-top">
<text class="form-item-title">*数量</text>
<text class="form-item-title form-item-title-135">*需求数量</text>
<view class="form-item-right">
<input placeholder="请输入数量(必填)" placeholder-class="placeholderClass" type="number" name="number"></input>
</view>
</view>
<view class="form-item row verCenter px-hr-top bj-item">
<text class="form-item-title">*价格</text>
<text class="form-item-title form-item-title-135">*接受价</text>
<view class="form-item-right row verCenter bothSide">
<input placeholder="请输入单价" placeholder-class="placeholderClass" type="digit" name="price"></input>
<picker class="price-type" value="{{currency}}" range="{{array}}" bindchange="bindPickerChange">
<picker class="price-type" value="{{currency}}" range="{{array}}" bindchange="bindPickerChange">
<text class="price-value">{{array[currency]}}</text>
<text class="icon iconfont iconbianzu1"></text>
</picker>
</picker>
</view>
</view>
<view class="form-item row verCenter px-hr-top qx-item">
<text class="form-item-title">*货期</text>
<text class="form-item-title form-item-title-135">*货期需求</text>
<view class="form-item-right">
<radio-group name="hq" bindchange="radioChange">
<label>
......@@ -67,14 +67,30 @@
</view>
</view>
<view class="form-item row verCenter px-hr-top" hidden="{{!isShowTime}}">
<text class="form-item-title">*时间</text>
<text class="form-item-title form-item-title-135">*时间</text>
<view class="form-item-right">
<input placeholder="请输入货期时间(天)" placeholder-class="placeholderClass" type="text" name="day"></input>
</view>
</view>
<view class="form-hr"></view>
<view class="form-item row verCenter">
<text class="form-item-title form-item-title-165">*询价有效期</text>
<picker mode="date" value="{{date}}" start="2015-09-01" bindchange="bindDateChange" class="form-item-right jz-item-right">
<text wx:if="{{date}}">{{date}}</text>
<block wx:else>
<text>请选择截止日期</text>
<image src="/res/images/icons/left-icon.png"></image>
</block>
</picker>
<!-- <view class="form-item-right jz-item-right" bindtap="changeTime">
<text>请选择截止日期</text>
<image src="/res/images/icons/left-icon.png"></image>
</view> -->
</view>
<view class="form-hr"></view>
<view class="form-item row px-hr-bottom">
<text class="form-item-title">备注</text>
<text class="form-item-title form-item-title-135">备注</text>
<view class="form-item-right">
<textarea placeholder="请输入备注" placeholder-class="placeholderClass" maxlength="-1" name="remark" />
</view>
......
/* pages/form/xj/index.wxss */
@import '/res/css/form.wxss'
\ No newline at end of file
@import '/res/css/form.wxss';
.form-view-xj .form-item-title-135 {
flex:0 0 135rpx;
text-align: left;
}
.form-view-xj .form-item-title-165 {
flex:0 0 165rpx;
text-align: left;
}
.form-view-xj .form-item-right{
padding: 0 24rpx 0 60rpx;
}
.jz-item-right{
text-align: right;
font-size:28rpx;
color:#8A9299;
}
.jz-item-right image{
width:16rpx;
height:27rpx;
vertical-align: middle;
margin-left:12rpx;
}
\ No newline at end of file
......@@ -95,6 +95,7 @@ Page({
wx.removeStorageSync('myPassword');
wx.removeStorageSync('auth');
wx.removeStorageSync('is_ShowModal')
wx.removeStorageSync('deleteGoodsData')
// wx.removeStorageSync('imNick');
wx.reLaunch({
url: '/pages/person/auth/index',
......
......@@ -30,6 +30,7 @@ Page({
*/
onLoad: function (options) {
let me = this;
wx.removeStorageSync('deleteGoodsData');
if (judgeToken(true)) {
this.getData();
};
......@@ -67,8 +68,10 @@ Page({
p: 1,
total: 0,
time: "",
isShowBottom: false
isShowBottom: false,
isdelete: false
});
wx.removeStorageSync('deleteGoodsData');
this.getData();
},
......@@ -95,7 +98,6 @@ Page({
time: newArr[0].update_time
})
}
console.log(newArr)
me.setData({
priceList: newArr,
total: res.total,
......@@ -106,7 +108,8 @@ Page({
} else if (res.errcode === 110001 || res.errcode === 103001) {
if (me.data.p == 1) {
me.setData({
priceList: []
priceList: [],
total:0
})
}
if (isRefresh) {
......@@ -159,9 +162,11 @@ Page({
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
wx.removeStorageSync('deleteGoodsData');
this.setData({
p: 1,
isShowBottom: false
isShowBottom: false,
isdelete: false
});
this.getData(true);
},
......@@ -202,9 +207,97 @@ Page({
cancelGoods: function () {
this.setData({
isdelete: false,
})
});
let deleteGoodsData = wx.getStorageSync('deleteGoodsData') || [];
if (deleteGoodsData.length) {
for (let i = 0; i < this.data.priceList.length; i++) {
let index = deleteGoodsData.indexOf(this.data.priceList[i].goods_id);
if (index !== -1) {
let temp = 'priceList[' + i + '].isdelete';
this.setData({
[temp]: false
})
}
}
}
wx.removeStorageSync('deleteGoodsData');
},
deleteGoods: function () {
let deleteGoodsData = wx.getStorageSync('deleteGoodsData') || [];
let me = this;
if (!deleteGoodsData.length) {
return
}
wx.showModal({
title: '提示',
content: '是否确认删除当前选中的商品?',
confirmText: '取消',
confirmColor: "#0D84D1",
cancelText: "删除",
cancelColor: "#000000",
success(res) {
if (res.cancel) {
me.deleteGoodsAjax(deleteGoodsData)
}
}
})
},
//调用删除商品的接口
deleteGoodsAjax: function (data) {
let token = wx.getStorageSync('access_token');
let me = this;
getData(apis.goodsDelete, 'get', {
token: token,
'goods_id': JSON.stringify(data)
}, function (res) {
if (res.errcode === 0) {
//删除成功后手动将数据删除
wx.showToast({
title: '删除成功',
icon: 'none',
duration: 2000,
success: function () {
setTimeout(function () {
me.setData({
p: 1,
isShowBottom: false,
isdelete: false
})
me.getData();
wx.removeStorageSync('deleteGoodsData');
},1000)
}
})
} else {
wx.showToast({
title: '删除失败',
icon: 'none',
duration: 2000
})
}
}, true)
},
//子组件触发自定义的删除事件
onDelete: function (e) {
let index = e.detail.index;
let isdelete = e.detail.isdelete;
let goodId = e.detail.goodId
let deleteGoodsData = wx.getStorageSync('deleteGoodsData') || [];
let temp = 'priceList[' + index + '].isdelete'
this.setData({
[temp]: !isdelete
})
if (!isdelete) {
//选中
deleteGoodsData.push(goodId)
} else {
//取消
let i = deleteGoodsData.indexOf(goodId);
deleteGoodsData.splice(i, 1);
}
wx.setStorageSync('deleteGoodsData', deleteGoodsData)
}
})
\ No newline at end of file
......@@ -32,7 +32,7 @@
<text>新增商品</text>
</view>
</view>
<priceItem price-list="{{priceList}}" wx:if="{{priceList&&priceList.length!==0}}" price-type="6" is-delete="{{isdelete}}"></priceItem>
<priceItem price-list="{{priceList}}" wx:if="{{priceList&&priceList.length!==0}}" price-type="6" is-delete="{{isdelete}}" bind:delete="onDelete"></priceItem>
<view class="data-bottom row verCenter rowCenter" wx:if="{{isShowBottom}}">
<text class="line"></text>
<text class="text">我是有底线的</text>
......
......@@ -52,7 +52,7 @@
"list": []
},
"miniprogram": {
"current": 52,
"current": 53,
"list": [
{
"id": -1,
......@@ -422,6 +422,13 @@
"id": -1,
"name": "pages/tab/good/good",
"pathName": "pages/tab/good/good",
"query": "",
"scene": null
},
{
"id": -1,
"name": "pages/form/xj/index",
"pathName": "pages/form/xj/index",
"scene": null
}
]
......
......@@ -335,7 +335,11 @@ const apis = {
/**
* 确认兑换接口
*/
userExchangesConfirm: welfare_url + '/user_exchanges/exchange/confirm'
userExchangesConfirm: welfare_url + '/user_exchanges/exchange/confirm',
/**
* 批量删除商品
*/
goodsDelete: goods_url + '/goods/delete'
}
......
......@@ -49,7 +49,6 @@ const getImUser = () => {
}else{
avatar = res.data.avatar
}
console.log(res)
wx.setStorageSync('avatar', avatar);
wx.setStorageSync('company_name', res.data.company_name || '');
wx.setStorageSync("myUsername", res.data.im_username);
......
......@@ -23,7 +23,9 @@ const getData = (url, type, param, callBack, loading, isheader, istoken) => {
//是否启用loading加载效果
if (loading) {
wx.showLoading();
wx.showLoading({
mask:true
});
}
//是否启用请求头token
......@@ -78,6 +80,7 @@ const getData = (url, type, param, callBack, loading, isheader, istoken) => {
wx.removeStorageSync('myPassword');
wx.removeStorageSync('auth');
wx.removeStorageSync('is_ShowModal');
wx.removeStorageSync('deleteGoodsData');
WebIM.conn.close();
// wx.removeStorageSync('imNick');
wx.reLaunch({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment