Commit f57773da by 施宇

批量删除

parent d333b827
...@@ -199,6 +199,7 @@ image { ...@@ -199,6 +199,7 @@ image {
.c-com { .c-com {
color: #515559; color: #515559;
word-break: break-all
} }
/**询报价列表**/ /**询报价列表**/
......
...@@ -84,22 +84,13 @@ Component({ ...@@ -84,22 +84,13 @@ Component({
} else if (priceType == 6) {//tab页商品跳转 } else if (priceType == 6) {//tab页商品跳转
if (this.data.isDelete) { if (this.data.isDelete) {
let index = e.currentTarget.dataset.index; let index = e.currentTarget.dataset.index;
let isdelete = this.data.priceList[index].isdelete; let data = {
let deleteGoodsData = wx.getStorageSync('deleteGoodsData')||[]; index: index,
let temp = 'priceList[' + index + '].isdelete' isdelete: this.data.priceList[index].isdelete,
this.setData({ goodId: goodId
[temp]: !isdelete
})
if(!isdelete){
//选中
deleteGoodsData.push(goodId)
}else{
//取消
let i = deleteGoodsData.indexOf(goodId);
deleteGoodsData.splice(i,1);
} }
wx.setStorageSync('deleteGoodsData', deleteGoodsData) //触发删除的自定义事件,逻辑在父组件中处理
this.triggerEvent('delete', data);
} else { } else {
wx.navigateTo({ wx.navigateTo({
url: "/pages/detail/good/index?goodId=" + goodId + '&type=1' url: "/pages/detail/good/index?goodId=" + goodId + '&type=1'
......
...@@ -20,7 +20,8 @@ Page({ ...@@ -20,7 +20,8 @@ Page({
currency: 0, currency: 0,
isClick: true, isClick: true,
isShowTip: true, isShowTip: true,
array: ['RMB','USD'] array: ['RMB','USD'],
date:"",
}, },
bindPickerChange: function (e) { bindPickerChange: function (e) {
this.setData({ this.setData({
...@@ -30,10 +31,10 @@ Page({ ...@@ -30,10 +31,10 @@ Page({
formSubmit: function(e) { formSubmit: function(e) {
let obj = e.detail.value; let obj = e.detail.value;
if (!obj.goods_name.trim().length) { if (!obj.goods_name.trim().length) {
tips('请填写型号'); tips('请填写商品型号');
return return
} else if (obj.goods_name.trim().length < 3) { } else if (obj.goods_name.trim().length < 3) {
tips('型号不能小于3个字符'); tips('商品型号不能小于3个字符');
return return
} else if (!obj.brand_name.trim().length) { } else if (!obj.brand_name.trim().length) {
tips('请填写品牌'); tips('请填写品牌');
...@@ -45,7 +46,7 @@ Page({ ...@@ -45,7 +46,7 @@ Page({
tips('请填写数量'); tips('请填写数量');
return return
} else if (isNaN(Number(obj.number.trim()))) { } else if (isNaN(Number(obj.number.trim()))) {
tips('数量必须为数字'); tips('需求数量必须为数字');
return return
} else { } else {
if (!fourPoint(obj.price)) { if (!fourPoint(obj.price)) {
...@@ -53,10 +54,10 @@ Page({ ...@@ -53,10 +54,10 @@ Page({
} }
if (obj.hq == 2) { //期货 if (obj.hq == 2) { //期货
if (!obj.day.trim().length) { if (!obj.day.trim().length) {
tips('请填写货期'); tips('请填写时间');
return return
} else if (obj.day.trim().length>6){ } else if (obj.day.trim().length>6){
tips('货期不能大于6个字符'); tips('时间不能大于6个字符');
return return
} }
} }
...@@ -170,5 +171,10 @@ Page({ ...@@ -170,5 +171,10 @@ Page({
this.setData({ this.setData({
isShowTip: false isShowTip: false
}) })
},
bindDateChange:function(e){
this.setData({
date: e.detail.value
})
} }
}) })
\ No newline at end of file
<!--pages/form/xj/index.wxml--> <!--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 row bothSide verCenter {{isShowTip?'':'noheight'}}">
<view class="tip-left row verCenter"> <view class="tip-left row verCenter">
<text class="icon iconfont iconiconxiantiaoshouji12 tip-icon"></text> <text class="icon iconfont iconiconxiantiaoshouji12 tip-icon"></text>
...@@ -20,41 +20,41 @@ ...@@ -20,41 +20,41 @@
</view> </view>
<form bindsubmit="formSubmit"> <form bindsubmit="formSubmit">
<view class="form-item row verCenter"> <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"> <view class="form-item-right">
<input placeholder="请输入产品型号(必填)" placeholder-class="placeholderClass" type="text" name="goods_name"></input> <input placeholder="请输入产品型号(必填)" placeholder-class="placeholderClass" type="text" name="goods_name"></input>
</view> </view>
</view> </view>
<view class="form-item row verCenter px-hr-top"> <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"> <view class="form-item-right">
<input placeholder="请输入品牌(必填)" placeholder-class="placeholderClass" type="text" name="brand_name"></input> <input placeholder="请输入品牌(必填)" placeholder-class="placeholderClass" type="text" name="brand_name"></input>
</view> </view>
</view> </view>
<view class="form-item row verCenter px-hr-top"> <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"> <view class="form-item-right">
<input placeholder="请输入封装" placeholder-class="placeholderClass" type="text" name="encap"></input> <input placeholder="请输入封装" placeholder-class="placeholderClass" type="text" name="encap"></input>
</view> </view>
</view> </view>
<view class="form-item row verCenter px-hr-top"> <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"> <view class="form-item-right">
<input placeholder="请输入数量(必填)" placeholder-class="placeholderClass" type="number" name="number"></input> <input placeholder="请输入数量(必填)" placeholder-class="placeholderClass" type="number" name="number"></input>
</view> </view>
</view> </view>
<view class="form-item row verCenter px-hr-top bj-item"> <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"> <view class="form-item-right row verCenter bothSide">
<input placeholder="请输入单价" placeholder-class="placeholderClass" type="digit" name="price"></input> <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="price-value">{{array[currency]}}</text>
<text class="icon iconfont iconbianzu1"></text> <text class="icon iconfont iconbianzu1"></text>
</picker> </picker>
</view> </view>
</view> </view>
<view class="form-item row verCenter px-hr-top qx-item"> <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"> <view class="form-item-right">
<radio-group name="hq" bindchange="radioChange"> <radio-group name="hq" bindchange="radioChange">
<label> <label>
...@@ -67,14 +67,30 @@ ...@@ -67,14 +67,30 @@
</view> </view>
</view> </view>
<view class="form-item row verCenter px-hr-top" hidden="{{!isShowTime}}"> <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"> <view class="form-item-right">
<input placeholder="请输入货期时间(天)" placeholder-class="placeholderClass" type="text" name="day"></input> <input placeholder="请输入货期时间(天)" placeholder-class="placeholderClass" type="text" name="day"></input>
</view> </view>
</view> </view>
<view class="form-hr"></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"> <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"> <view class="form-item-right">
<textarea placeholder="请输入备注" placeholder-class="placeholderClass" maxlength="-1" name="remark" /> <textarea placeholder="请输入备注" placeholder-class="placeholderClass" maxlength="-1" name="remark" />
</view> </view>
......
/* pages/form/xj/index.wxss */ /* pages/form/xj/index.wxss */
@import '/res/css/form.wxss' @import '/res/css/form.wxss';
\ No newline at end of file
.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({ ...@@ -95,6 +95,7 @@ Page({
wx.removeStorageSync('myPassword'); wx.removeStorageSync('myPassword');
wx.removeStorageSync('auth'); wx.removeStorageSync('auth');
wx.removeStorageSync('is_ShowModal') wx.removeStorageSync('is_ShowModal')
wx.removeStorageSync('deleteGoodsData')
// wx.removeStorageSync('imNick'); // wx.removeStorageSync('imNick');
wx.reLaunch({ wx.reLaunch({
url: '/pages/person/auth/index', url: '/pages/person/auth/index',
......
...@@ -30,6 +30,7 @@ Page({ ...@@ -30,6 +30,7 @@ Page({
*/ */
onLoad: function (options) { onLoad: function (options) {
let me = this; let me = this;
wx.removeStorageSync('deleteGoodsData');
if (judgeToken(true)) { if (judgeToken(true)) {
this.getData(); this.getData();
}; };
...@@ -67,8 +68,10 @@ Page({ ...@@ -67,8 +68,10 @@ Page({
p: 1, p: 1,
total: 0, total: 0,
time: "", time: "",
isShowBottom: false isShowBottom: false,
isdelete: false
}); });
wx.removeStorageSync('deleteGoodsData');
this.getData(); this.getData();
}, },
...@@ -95,7 +98,6 @@ Page({ ...@@ -95,7 +98,6 @@ Page({
time: newArr[0].update_time time: newArr[0].update_time
}) })
} }
console.log(newArr)
me.setData({ me.setData({
priceList: newArr, priceList: newArr,
total: res.total, total: res.total,
...@@ -106,7 +108,8 @@ Page({ ...@@ -106,7 +108,8 @@ Page({
} else if (res.errcode === 110001 || res.errcode === 103001) { } else if (res.errcode === 110001 || res.errcode === 103001) {
if (me.data.p == 1) { if (me.data.p == 1) {
me.setData({ me.setData({
priceList: [] priceList: [],
total:0
}) })
} }
if (isRefresh) { if (isRefresh) {
...@@ -159,9 +162,11 @@ Page({ ...@@ -159,9 +162,11 @@ Page({
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function () {
wx.removeStorageSync('deleteGoodsData');
this.setData({ this.setData({
p: 1, p: 1,
isShowBottom: false isShowBottom: false,
isdelete: false
}); });
this.getData(true); this.getData(true);
}, },
...@@ -202,9 +207,97 @@ Page({ ...@@ -202,9 +207,97 @@ Page({
cancelGoods: function () { cancelGoods: function () {
this.setData({ this.setData({
isdelete: false, 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 () { 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 @@ ...@@ -32,7 +32,7 @@
<text>新增商品</text> <text>新增商品</text>
</view> </view>
</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}}"> <view class="data-bottom row verCenter rowCenter" wx:if="{{isShowBottom}}">
<text class="line"></text> <text class="line"></text>
<text class="text">我是有底线的</text> <text class="text">我是有底线的</text>
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
"list": [] "list": []
}, },
"miniprogram": { "miniprogram": {
"current": 52, "current": 53,
"list": [ "list": [
{ {
"id": -1, "id": -1,
...@@ -422,6 +422,13 @@ ...@@ -422,6 +422,13 @@
"id": -1, "id": -1,
"name": "pages/tab/good/good", "name": "pages/tab/good/good",
"pathName": "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 "scene": null
} }
] ]
......
...@@ -335,7 +335,11 @@ const apis = { ...@@ -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 = () => { ...@@ -49,7 +49,6 @@ const getImUser = () => {
}else{ }else{
avatar = res.data.avatar avatar = res.data.avatar
} }
console.log(res)
wx.setStorageSync('avatar', avatar); wx.setStorageSync('avatar', avatar);
wx.setStorageSync('company_name', res.data.company_name || ''); wx.setStorageSync('company_name', res.data.company_name || '');
wx.setStorageSync("myUsername", res.data.im_username); wx.setStorageSync("myUsername", res.data.im_username);
......
...@@ -23,7 +23,9 @@ const getData = (url, type, param, callBack, loading, isheader, istoken) => { ...@@ -23,7 +23,9 @@ const getData = (url, type, param, callBack, loading, isheader, istoken) => {
//是否启用loading加载效果 //是否启用loading加载效果
if (loading) { if (loading) {
wx.showLoading(); wx.showLoading({
mask:true
});
} }
//是否启用请求头token //是否启用请求头token
...@@ -78,6 +80,7 @@ const getData = (url, type, param, callBack, loading, isheader, istoken) => { ...@@ -78,6 +80,7 @@ const getData = (url, type, param, callBack, loading, isheader, istoken) => {
wx.removeStorageSync('myPassword'); wx.removeStorageSync('myPassword');
wx.removeStorageSync('auth'); wx.removeStorageSync('auth');
wx.removeStorageSync('is_ShowModal'); wx.removeStorageSync('is_ShowModal');
wx.removeStorageSync('deleteGoodsData');
WebIM.conn.close(); WebIM.conn.close();
// wx.removeStorageSync('imNick'); // wx.removeStorageSync('imNick');
wx.reLaunch({ 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