You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

422 lines
9.3 KiB

4 years ago
// pages/supplier/good/index.js
import https from "../../../utils/https"
import util from "../../../utils/util"
Page({
/**
* 页面的初始数据
*/
data: {
supplierinfo:null,
error:{},
info:{
"product_name":""
},
sku:[],
oldSku:[],
submitFlag:false,
nameerror:false,
skuerror:false,
showFlagIndex:-1,
flagText:""
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
https.user_post("supplierapply/get_supplier_apply",{}).then(res=>{
if(res.data){
this.setData({
supplierinfo:res.data
})
}
https.user_post('supplierapply/add_sku',{},'GET').then(res=>{
console.log(res.data);
if(res.data.length>0){
this.setData({
info:{
product_name:res.data[0].product_name
},
oldSku:res.data,
submitFlag:true
})
// 初始化规格信息
let sku = [];
res.data.map(item=>{
sku.push({
sku_img:{
value:item.sku_img
},
sku_name:{
value:item.sku_name
},
line_desc:{
value:item.line_desc
},
use_desc:{
value:item.use_desc
},
cost_desc:{
value:item.cost_desc
},
mark_price:{
value:item.mark_price
},
cost_price:{
value:item.cost_price
},
reserve_desc:{
value:item.reserve_desc
},
available_time:{
value:item.available_time
},
is_realname:{
value:item.is_realname+""
},
refund_desc:{
value:item.refund_desc
},
stock:{
value:item.stock
},
id:{
value:item.id
},
audit:{
value:item.audit
},
audit_text:{
value:item.audit_text
},
refund_msg:{
value:item.refund_msg
},
show:true
})
})
this.setData({
sku:sku
})
}
})
});
},
changeProductName(e){
let info = this.data.info;
info.product_name = e.detail.value;
this.setData({
info:info,
nameerror:info.product_name==""
})
this.checkOk()
},
checkOk:function(){
let flag = true,sku=this.data.sku;
if(this.data.info.product_name=="" || sku.length==0){
flag = false;
}
if(flag){
for(let i=0;i<sku.length;i++){
for(let key in sku[i]){
if(key!='show' && key!='refund_msg' && key!='audit' && key!='audit_text' && (sku[i][key].value==="" || sku[i][key].value.length==0)){
console.log(key)
flag = false;
break;
}
}
}
}
this.setData({
submitFlag:flag
})
},
submit(){
if(this.data.submitFlag){
let sku = [];
this.data.sku.map(item=>{
let skuItem={};
for(let key in item){
if(key=='sku_img'){
skuItem.sku_img = item.sku_img.value.join(",");
}
else if(key!='show' && key!='audit' && key!='audit_text' && key!='refund_msg'){
skuItem[key] = item[key].value;
}
}
sku.push(skuItem);
})
https.user_post("supplierapply/add_sku",{
product_name:this.data.info.product_name,
sku:sku
}).then(res=>{
if(res.code==1){
wx.showToast({
title: '添加成功',
icon:'success',
mask:true
})
setTimeout(()=>{
util.back()
},1000)
}
console.log(res)
})
}
else {
let sku = this.data.sku;
if(sku.length==0){
this.setData({
skuerror:true,
nameerror:this.data.info.product_name==""
})
return;
}
sku.map(item=>{
for(let key in item){
if(key!='show' && (item[key].value=="" || item[key].value.length==0)){
item[key].error = true
}
}
})
this.setData({
sku:sku,
nameerror:this.data.info.product_name==""
})
}
},
changeInfo(e){
let name = e.currentTarget.dataset.name,sku=this.data.sku,index = e.currentTarget.dataset.index;
sku[index][name].value = e.detail.value;
if(e.detail.value!=""){
sku[index][name].error=false;
}
this.setData({
sku:sku
})
this.checkOk()
},
blurname(){
this.setData({
nameerror:this.data.info.product_name==""
})
},
blur(e){
let name = e.currentTarget.dataset.name,sku=this.data.sku,index = e.currentTarget.dataset.index;
if(sku[index][name].value==""){
sku[index][name].error=true;
}
this.setData({
sku:sku
})
},
addSku(){
let sku = this.data.sku;
sku.push({
sku_name:{
value:""
},
sku_img:{
value:[]
},
line_desc:{
value:""
},
use_desc:{
value:""
},
cost_desc:{
value:""
},
mark_price:{
value:""
},
cost_price:{
value:""
},
reserve_desc:{
value:""
},
available_time:{
value:""
},
is_realname:{
value:"0"
},
refund_desc:{
value:""
},
stock:{
value:""
},
show:true
})
this.setData({
sku:sku,
skuerror:false,
submitFlag:false
})
},
delSku(e){
let index = e.currentTarget.dataset.index,sku = this.data.sku,_this=this;
wx.showModal({
title:"确定删除此规格?",
content:"此页面信息不会保存",
success(res){
if(res.confirm){
sku.splice(index,1);
_this.setData({
sku:sku
})
_this.checkOk()
}
}
})
},
delImg(e){
let index = e.currentTarget.dataset.index,sku = this.data.sku,_this=this,imgindex = e.currentTarget.dataset.imgindex;
wx.showModal({
title:"提示",
content:"确定删除此照片?",
success(res){
if(res.confirm){
sku[index].sku_img.value.splice(imgindex,1);
_this.setData({
sku:sku
})
}
}
})
},
arrow(e){
let sku = this.data.sku,index = e.currentTarget.dataset.index;
sku[index].show = !sku[index].show;
this.setData({
sku:sku
})
},
realCheck(e){
let index = e.currentTarget.dataset.index,value = e.currentTarget.dataset.value,sku=this.data.sku;
if(sku[index].audit && sku[index].audit.value<2){
return;
}
sku[index].is_realname.value = value;
this.setData({
sku:sku
})
this.checkOk()
},
upload(e){
let index = e.currentTarget.dataset.index,sku=this.data.sku,that=this;
wx.chooseImage({
count: 3,
success:function(res){
if(res && res.tempFilePaths && res.tempFilePaths.length>0){
wx.showLoading({
title: '上传中',
mask:true
})
let ajaxes=[];
res.tempFilePaths.map(item=>{
let ajax = new Promise((resolve,reject)=>{
wx.uploadFile({
filePath: item,
name: 'file',
url: https.baseUrl + 'pbservice.other/upload',
header:{
token: wx.getStorageSync('jstrip_token'),
},
success:function(r){
var r = JSON.parse(r.data);
let img = r.data.url;
resolve(img);
}
})
})
ajaxes.push(ajax);
})
Promise.all(ajaxes).then(res=>{
sku[index].sku_img.value = sku[index].sku_img.value.concat(res);
that.setData({
sku:sku
})
that.checkOk()
wx.hideLoading({})
}).catch(err=>{
console.log(err)
wx.showToast({
title: '图片上传失败',
icon:'none'
})
})
}
}
})
},
showMsg(e){
let item = e.currentTarget.dataset.item;
if(item.audit.value==2){
wx.showModal({
title:"审核失败",
content:item.refund_msg.value,
showCancel:false
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
showFlag(e){
this.setData({
showFlagIndex:e.currentTarget.dataset.index,
flagText:e.currentTarget.dataset.text
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})