提交 8dd826bf authored 作者: huaxinzhu's avatar huaxinzhu

1、添加商品-商品信息页面以及校验

上级 e3d51d21
<template> <template>
<div class="goods-info"> <div class="goods-info">
<el-form :model="goodsInfoForm" :rules="rules" ref="goodsInfoForm" label-width="120px" class="demo-goodsInfoForm"> <el-form :model="goodsInfoForm" :rules="goodsInfoRules" ref="goodsInfoForm" label-width="150px" class="demo-goodsInfoForm" size="small">
<el-form-item label="商品分类:"> <el-form-item label="商品分类:" prop="categoryStr">
<span class="type-text-span">{{ categoryStr }}</span><el-link class="edit-type-span el-icon-edit" :underline="false">修改所在类目</el-link> <el-input style="width:400px;" v-model="goodsInfoForm.categoryStr" :disabled="true"></el-input>
<!-- <span class="type-text-span">{{ goodsInfoForm.categoryStr }}</span>-->
<el-link class="edit-type-span el-icon-edit" type="primary" :underline="false" @click="editType">修改所在类目</el-link>
<span class="tip-span">该商品所在类目须支持七天无理由退货</span>
</el-form-item> </el-form-item>
<el-form-item label='商品标题:' prop="goodsName">
<el-input v-model="goodsInfoForm.goodsName" placeholder="请输入商品标题" style="width:400px;"></el-input>
<span class="tip-span ml20">商品名称限制在30字以内,不要填写与商品无关的词</span>
</el-form-item>
<el-form-item label="商品产地:" prop="producingArea">
<el-select v-model="goodsInfoForm.producingArea" placeholder="请选择商品产地" style="width: 400px;">
<el-option
v-for="item in areaOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="商品发货地:" prop="fhd">
<el-select v-model="goodsInfoForm.fhd" placeholder="请选择商品发货地" style="width: 400px;">
<el-option
v-for="item in areaOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属品牌:" prop="goodsBrand">
<el-select v-model="goodsInfoForm.goodsBrand" placeholder="请选择商品品牌" style="width: 400px;">
<el-option
v-for="item in brandOptions"
:key="item.id"
:label="item.brand_cn"
:value="item.id"
></el-option>
</el-select>
<el-link class="edit-type-span el-icon-plus" type="primary" :underline="false" @click="toBrand">新增品牌</el-link>
</el-form-item>
<el-form-item label='市场参考价链接:'>
<el-input v-model="goodsInfoForm.lj" placeholder="请输入京东或者淘宝的商品链接" style="width:400px;"></el-input>
</el-form-item>
<el-form-item label='商品编码:'>
<el-input v-model="goodsInfoForm.spbm" placeholder="请输入商品编码(非必须)" style="width:400px;"></el-input>
</el-form-item>
<el-form-item label="商品图片:" prop="sptp">
<span class="tip-span" style="display: block;line-height: 34px;">商品图片最多上传9张,默认第一张为主图 <span>单张图片需限制在2M以内,可上传png、jpg格式,尺寸要求为正方形</span></span>
<el-upload
class="upload-img"
list-type="picture-card"
action="#"
:limit="1"
:on-exceed="limitImg9"
:http-request="uploadGoodsImg"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:file-list="goodsImgFileList"
><i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="goodsImgVisible">
<img width="100%" :src="goodsImgUrlDialog" alt="">
</el-dialog>
</el-form-item>
</el-form> </el-form>
<!-- 修改 商品分类目录 -->
<el-dialog
v-loading="loadingSSQ"
class="add-workorder-dialog"
title="修改商品分类"
:visible.sync="editGoodsTypeDialog"
:destroy-on-close="true"
:before-close="cancelType"
width="60%"
center
>
<!-- <p>当前所选类目:<span></span></p>-->
<el-cascader-panel v-show="editGoodsTypeDialog" v-model="SSQGoodsList" :props='goodsprops' @change="SSQGoodsChange" ref="ssqGoodsCascader"></el-cascader-panel>
<span slot="footer" class="dialog-footer">
<el-button @click="cancelType" size="mini">取 消</el-button>
<el-button type="primary" @click="saveType" size="mini">确 定</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import { GetCategory, GetFreight, UploadImg } from '@/api/module/goods'
GetCategory, import { getAreaList } from '@/api/module/retreat/address';
GetFreight, import { getBrandsInf } from '@/api/module/brand/brand'
UploadImg
} from '@/api/module/goods'
import {getBrandsInf} from '@/api/module/brand/brand'
export default { export default {
name: 'goods', name: 'goods',
props: { props: {
...@@ -32,56 +119,49 @@ ...@@ -32,56 +119,49 @@
} }
}; };
return { return {
categoryStr: '', //loading: false,
// categoryStr: '',
goodsInfoDataClone: {},
/*------------------------------*/ areaOptions: [], // 地址 省
brandOptions: [], // 商品品牌
goodsInfoForm: { goodsInfoForm: {
outGoodsId: '', categoryStr: '', // 商品分类 地址拼接
value: [], categoryList: [],
goodsId: 0,
goodsName: '', goodsName: '',
scPrice: '', producingArea: [], // 产地
price: "", //市场价 单位分 fhd: [], // 发货地
goodsNowStock: "", goodsBrand: [], // 品牌
producingArea: '', sptp: '' // 商品图片
weight: '',
unit: '', //单位
goodsBrand: '', //品牌
resource: '1',
categoryId: 0,
freightId: 310, //运费模板ID
wlPrice: '',
pywlPrice: '',
jsPrice: '', //协议价
Delayompensate: "",
aftersaleTime: '7',
mark: '',
serviceagsTags: [],
description: ''
}, },
rules: { goodsInfoRules: {
categoryStr: [{required: true, message: '商品分类不能为空', trigger: 'blur'},],
goodsName: [ goodsName: [
{required: true, message: '请输入商品名称', trigger: 'blur'}, {required: true, message: '请输入商品名称', trigger: 'blur'},
{min: 3, max: 50, message: '长度在 3 到 50 个字符', trigger: 'blur'} {min: 3, max: 30, message: '商品标题限制在30字以内', trigger: 'blur'}
], ],
categoryId: [{required: true, message: '请选择商品分类', validator: categoryIdCheck}], producingArea:[{required: true, message: '请选择商品产地', trigger: 'change'}],
price: [{required: true, message: '请填写指导售价', trigger: 'blur'}], fhd: [{required: true, message: '请选择商品发货地', trigger: 'change'}],
jsPrice: [{required: true, message: '请填写结算售价', trigger: 'blur'}], goodsBrand: [{required: true, message: '请选择商品品牌', trigger: 'change'}],
scPrice: [{required: true, message: '请填写市场原价', trigger: 'blur'}], sptp: [{required: true, message: '请选择商品分类', validator: categoryIdCheck}]
goodsNowStock: [
{required: true, message: '商品库存不能为空', trigger: 'blur'},
{type: 'number', message: '商品库存要填写数字'},
],
unit: [{required: true, message: '商品单位不能为空', trigger: 'blur'}],
goodsBrand: [{required: true, message: '商品品牌不能为空', trigger: 'change'}]
}, },
// 运费模板列表 goodsImgFileList: [], // 商品图片地址 集合list
freightList: [], goodsImgVisible: false, // 图片能否预览
options1: [], goodsImgUrlDialog: '',
/* 修改 商品分类 */
loadingSSQ: false,
editGoodsTypeDialog: false,
SSQGoodsList: [], // 省市区 子组件goods的
goodsprops: {
expandTrigger: 'click',
lazy: true,
lazyLoad: this.lazyLoad,
value: "id",
label: 'name',
leaf: 'leaf'
},
} } // return end
}, },
components: {}, components: {},
watch: { watch: {
...@@ -93,198 +173,145 @@ ...@@ -93,198 +173,145 @@
// }, // },
}, },
created() { created() {
// 深拷贝一份最开始的数据,为初始化准备
this.goodsInfoDataClone = this.deepClone(this.goodsinfodata);
this.goodsInfoForm = this.goodsinfodata
// console.log("父组件传过来的",this.goodsinfodata)
// console.log("1111",this.goodsInfoForm)
// 获取 省
this.getArea();
// 获取 商品品牌
this.getBrands();
}, },
mounted() { mounted() {
this.getCategory(); // this.getCategory();
this.getFreight(); // this.getFreight();
this.getBrands(); // this.getBrands();
}, },
methods: { methods: {
fileChange(e){ // 获取 省
const list = this.$refs.file.files; getArea() {
console.log(list) let limboNode = {
this.indexall = list.length pid: 0
this.uplonds() };
}, getAreaList(limboNode).then( res=> {
uplonds(){ if(res.data) {
this.getBase64(this.$refs.file.files[this.index]).then((res) => { this.areaOptions = res.data;
let result = res.split(","); }else {
this.Base64img = result[1]; this.areaOptions = [];
let data = {"image": this.Base64img} }
this.quillUpdateImg = true;
UploadImg(data).then(res => {
if (res && res.data.code == 1) {
this.index++
this.goodsInfoFormdialogImageUrl.push({'url': res.data.data.imageUrl});
this.$message({ message:'上传成功',type:'success'});
// 获取富文本组件实例
let quill = this.$refs.myTextEditor.quill;
let length = quill.getSelection().index;
// 插入图片 res.data.url为服务器返回的图片地址
quill.insertEmbed(length, 'image', res.data.data.imageUrl)
// 调整光标到最后
quill.setSelection(length + 1)
if(this.index<this.indexall){
this.uplonds()
}else{
this.index = 0
this.quillUpdateImg = false;
}
}else {
this.$message({ message:'上传失败,请重新上传',type:'error'});
this.quillUpdateImg = false;
}
})
}); });
}, },
/*************************/ // 获取 商品品牌
// 上传图片前 getBrands() {
beforeUploadEdit(res, file) { getBrandsInf().then( res => {
// 显示loading动画 if(res.data) {
this.quillUpdateImg = true this.brandOptions = res.data.data;
}, }else {
// 上传图片成功 this.brandOptions = [];
uploadSectionFile(param, file, fileList) { }
this.getBase64(param.file).then((res) => {
let result = res.split(",");
this.Base64img = result[1];
let data = {"image": this.Base64img}
this.quillUpdateImg = true;
UploadImg(data).then(res => {
if (res && res.data.code == 1) {
this.goodsInfoFormdialogImageUrl.push({'url': res.data.data.imageUrl});
this.$message({ message:'上传成功',type:'success'});
// 获取富文本组件实例
let quill = this.$refs.myTextEditor.quill;
let length = quill.getSelection().index;
// 插入图片 res.data.url为服务器返回的图片地址
quill.insertEmbed(length, 'image', res.data.data.imageUrl)
// 调整光标到最后
quill.setSelection(length + 1)
}else {
this.$message({ message:'上传失败,请重新上传',type:'error'});
}
this.quillUpdateImg = false;
})
}); });
/*-----*/
}, },
// 图片转换为 base64 /* 修改 商品分类 类目 */
getBase64(file) { editType() {
return new Promise(function (resolve, reject) { this.SSQGoodsList = [];
let reader = new FileReader(); this.editGoodsTypeDialog = true;
let imgResult = ""; this.SSQGoodsList = this.goodsInfoForm.categoryList
reader.readAsDataURL(file); console.log(222,this.SSQGoodsList);
reader.onload = function () {
imgResult = reader.result;
};
reader.onerror = function (error) {
reject(error);
};
reader.onloadend = function () {
resolve(imgResult);
};
});
}, },
/*************************/ lazyLoad(node, resolve) {
// 服务标签 中,7天退换和不可退换只能2选一 this.getSSQArea(node, resolve);
serviceSingleChange(id) { },
let index4 = this.serviceagsTags.indexOf(4); getSSQArea(node, resolve) {
let index3 = this.serviceagsTags.indexOf(3); const level = node.level;
if(id == 3) { let limboNode = {};
if( index4 > -1) { if(level === 0) {
this.serviceagsTags.splice(index4,1) //debugger
} limboNode = {pid: 0}
} }
if(id == 4) { if(level === 1) {
if( index3 > -1) { //debugger
this.serviceagsTags.splice(index3,1) limboNode = { pid: node.value };
}
} }
}, if(level === 2) {
// 运费模板类型,change事件 limboNode = { pid: node.value };
freightIdTypeChange(val) {
// 0 单独运费 1 是运费模板
if(val === '1') {
if(this.goodsInfoForm.freightId == 0) {
this.goodsInfoForm.freightId = "全国包邮通用模板";
}
} }
}, //this.loadingSSQ = true;
// 获取品牌信息 getAreaList(limboNode).then(res => {
getBrands() { let result = {};
getBrandsInf().then(res => { if (level === 0) {
if (res.data.data) { result = res.data
this.brandOtions = res.data.data; result.forEach(item => {
item.value = item.id;
item.label = item.name;
item.children=[];
item.leaf = 0; // 可以控制 是否有下级 值为true都不行,必须等于0
})
} }
}); if (level === 1) {
}, result = res.data
// 获取 商品分类 信息 result.forEach(item => {
getCategory() { item.value = item.id;
GetCategory({}).then(response => { item.label = item.name
this.options1 = response.data.data; item.children=[];
}); //这句代码表示当点击最后一级的时候 label后面不会转圈圈 并把相关值赋值到选择器上
}, item.leaf = 0
// 运费模板 })
getFreight() { }
GetFreight(this.queryParams).then(response => { if (level === 2) {
this.freightList = response.data result = res.data
}); result.forEach(item => {
}, item.value = item.id;
handleChange(value) { item.label = item.name
this.goodsInfoForm.categoryId = value[value.length - 1] item.leaf = 1;
}, })
setTreeData(arr) {
// 删除所有 children,以防止多次调用
arr.forEach(function (item) {
delete item.children;
});
let map = {}; // 构建map
arr.forEach(i => {
map[i.third_id] = i; // 构建以third_id为键 当前数据为值
});
let treeData = [];
arr.forEach(child => {
const mapItem = map[child.parent_id]; // 判断当前数据的parent_id是否存在map中
if (mapItem) { // 存在则表示当前数据不是最顶层数据
// 注意: 这里的map中的数据是引用了arr的它的指向还是arr,当mapItem改变时arr也会改变,踩坑点
(mapItem.children || (mapItem.children = [])).push(child); // 这里判断mapItem中是否存在children, 存在则插入当前数据, 不存在则赋值children为[]然后再插入当前数据
} else { // 不存在则是组顶层数据
treeData.push(child);
} }
resolve(result)
//this.loadingSSQ = false;
}); });
return treeData;
}, },
onEditorChange({editor, html, text}) { SSQGoodsChange(value) {
this.content = html; //this.SSQGoodsList = value;
//console.log(315,this.content);
}, },
// 商品品牌 向后台传入 name // 确认 修改 商品分类
goodsBrandChange(indexId) { saveType() {
let obj = {};
obj = this.brandOtions.find((item)=>{//这里的userList就是上面遍历的数据源
return item.id === indexId;//筛选出匹配数据
});
this.goodsInfoForm.goodsBrand = obj.brand_cn;
}, },
// 维护品牌 // 取消 修改 商品分类
toBrand() { cancelType() {
this.$router.push({path: '/system/shop/brand'}); this.editGoodsTypeDialog = false;
},
// 上传 商品图片,限制 9 张
limitImg9() {
this.$message({ message: '最多上传9张图片', type: 'warning' })
}, },
// 上传 商品图片
uploadGoodsImg(param) {
this.getBase64(param.file).then( res => {
let result = res.split(",");
this.Base64img = result[1];
let data = {"image":this.Base64img};
//console.log(213,data);
resetGoodsInfForm(formName) { UploadImg(data).then( res=> {
this.$refs[formName].resetFields(); console.log(217,res);
// 详情描述,重置 let urlObj = {'url': ''};
this.content = ''; if(res.data) {
// 服务标签 urlObj.url = res.data.data.imageUrl;
this.serviceagsTags = []; this.goodsImgFileList.push(urlObj);
//console.log("重置后的数据:",this.goodsInfoForm); this.$message({type:'success',message:'图片上传成功'});
// 只清除一次,不浪费哦
if(this.goodsImgFileList.length < 1) {
this.$refs.goodsInfoForm.clearValidate('sptp');
}
}
});
});
}, },
// 商品信息 子组件 form表单校验 // 商品信息 子组件 form表单校验, 在父组件中被调用
validateGoodsInfForm () { validateGoodsInfForm () {
let flag = null let flag = null
this.$refs['goodsInfoForm'].validate(valid => { this.$refs['goodsInfoForm'].validate(valid => {
...@@ -296,23 +323,78 @@ ...@@ -296,23 +323,78 @@
}) })
return flag return flag
}, },
selectTm(indexId) { // 商品图片 预览
handlePictureCardPreview(file) {
this.goodsImgUrlDialog = file.url;
this.goodsImgVisible = true;
},
// 删除 商品图片
handleRemove(file) {
for (let i = 0; i < this.goodsImgFileList.length; i++) {
if (file.uid === this.goodsImgFileList[i].uid) {
this.goodsImgFileList.splice(i, 1)
}
}
if(this.goodsImgFileList.length === 0) {
this.$refs.goodsInfoForm.validateField('sptp')
}else {
this.$refs.goodsInfoForm.clearValidate('sptp');
}
},
// 维护品牌
toBrand() {
this.$router.push({path: '/system/shop/brand'});
}, },
} // 通用 方法
// 图片转换为 base64
getBase64(file) {
return new Promise(function (resolve, reject) {
let reader = new FileReader();
let imgResult = "";
reader.readAsDataURL(file);
reader.onload = function () {
imgResult = reader.result;
};
reader.onerror = function (error) {
reject(error);
};
reader.onloadend = function () {
resolve(imgResult);
};
});
},
} // methods end
} }
</script> </script>
<style scoped> <style scoped>
ul {
padding: 0;
}
.goods-info { .goods-info {
padding: 15px 0px; padding: 15px 0px;
margin-top: 18px;
} }
.type-text-span { .type-text-span {
display: inline-block; display: inline-block;
width: 300px; width: 400px;
/*margin: 0 20px 0;*/
} }
.edit-type-span { .edit-type-span {
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
margin: 0 20px;
}
/* 一般提示性文字 */
.tip-span {
color: #909399;
font-size: 12px;
} }
/deep/.el-form-item {
margin-bottom: 20px;
}
</style> </style>
...@@ -10,15 +10,15 @@ ...@@ -10,15 +10,15 @@
<p class="goods-type-tip">为商品设置正确的类目,能让商品快速的被搜索到</p> <p class="goods-type-tip">为商品设置正确的类目,能让商品快速的被搜索到</p>
</div> </div>
<div class="goods-type-options" v-loading="loading"> <div class="goods-type-options" v-loading="loading">
<el-cascader-panel v-model="SSQList" :props='props' @change="SSQChange" ref="ssqCascader" @blur="handleAddressFun"></el-cascader-panel> <el-cascader-panel v-model="SSQList" :props='props' @change="SSQChange" ref="ssqCascader"></el-cascader-panel>
</div> </div>
<el-button type="primary" class="next-step" :disabled="isNextStep" @click="nextStep">下一步</el-button> <el-button type="primary" class="next-step" :disabled="isNextStep" @click="nextStep">下一步</el-button>
</div> </div>
</el-card> </el-card>
<!-- 选择商品类目 end --> <!-- 选择商品类目 end -->
<!-- 添加商品 start --> <!-- 添加商品 start -->
<el-card class="box-card good-details-body" v-show="isShowGoodsDetails"> <el-card class="box-card good-details-body" v-if="isShowGoodsDetails">
<div class="floor-nav" id="floorNavList" :class="{'is-fixed': isFixed}"> <div class="floor-nav" id="floorNavList">
<ul class="nav-list"> <ul class="nav-list">
<li class="nav-list-item" :class="{'floor-item-active': isFIActive === index}" v-for="(item, index) in floorNav" :key="item.id" @click="setFloorNavMountClick(index)">{{ item.name }}</li> <li class="nav-list-item" :class="{'floor-item-active': isFIActive === index}" v-for="(item, index) in floorNav" :key="item.id" @click="setFloorNavMountClick(index)">{{ item.name }}</li>
</ul> </ul>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<div class="floor-item"> <div class="floor-item">
<div class="floor-item-box"> <div class="floor-item-box">
<p class="card-header-title floor-item-box-title"><span class="blue-block-goods blue-block-goods-title"></span>商品信息</p> <p class="card-header-title floor-item-box-title"><span class="blue-block-goods blue-block-goods-title"></span>商品信息</p>
<Goodsinfomation ref="GoodsInfo" :goodsinfodata='goodsinfodata'/> <Goodsinfomation ref="goodsInfo" :goodsinfodata='goodsinfodata'/>
</div> </div>
</div> </div>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</div> </div>
</div> </div>
<div class="submit-cont"> <div class="submit-cont">
<el-button type="primary" style="padding: 10px 30px;">提 交</el-button> <el-button type="primary" style="padding: 10px 30px;" @click="save">提 交</el-button>
</div> </div>
</el-card> </el-card>
<!-- 添加商品 end --> <!-- 添加商品 end -->
...@@ -79,12 +79,10 @@ ...@@ -79,12 +79,10 @@
leaf: 'leaf' leaf: 'leaf'
}, },
isNextStep: true, isNextStep: true,
isFixed: false,
scrollHeight: 0,
isShowGoodsDetails: false, isShowGoodsDetails: false,
isFIActive: 0, isFIActive: 0,
/**/ /**/
floorNav: [ // 自定义左侧楼层数 floorNav: [
{ id: 1, name: '商品信息' }, { id: 1, name: '商品信息' },
{ id: 2, name: '商品规格' }, { id: 2, name: '商品规格' },
{ id: 3, name: '商品售价' }, { id: 3, name: '商品售价' },
...@@ -92,7 +90,10 @@ ...@@ -92,7 +90,10 @@
{ id: 5, name: '售后及服务' }, { id: 5, name: '售后及服务' },
], ],
/* 商品信息 */ /* 商品信息 */
goodsinfodata: {} goodsinfodata: {
categoryList: [],
categoryStr: ''
}
} }
}, },
components: { components: {
...@@ -177,22 +178,20 @@ ...@@ -177,22 +178,20 @@
this.loading = false; this.loading = false;
}); });
}, },
// handleAddressFun: function(e,form,this.ssqStr){ // 添加商品后,下一步 操作
// // thsAreaCode = this.form.areaCode // 注意1:获取value值
// thsAreaCode = this.$refs['ssqCascader'].currentLabels //注意2: 获取label值
// console.log(thsAreaCode) // 注意3: 最终结果是个一维数组对象
//
// },
nextStep() { nextStep() {
// 注意数据格式 [1,2,3] 数组,且里面是数字类型 // 注意数据格式 [1,2,3] 数组,且里面是数字类型
// let a1 = [] let ssqLabelList = this.$refs['ssqCascader'].getCheckedNodes()[0].pathLabels;
// a1.push(this.SSQList[0]); this.goodsinfodata.categoryList = this.SSQList;
//let fuck1 = this.$refs['ssqCascader'].getCheckedNodes(this.SSQList) this.goodsinfodata.categoryStr = ssqLabelList[0] + '/' + ssqLabelList[1] + '/' + ssqLabelList[2];
// console.log(111,this.SSQList);
//console.log(222,fuck1);
this.isShowGoodsDetails = true; this.isShowGoodsDetails = true;
}, },
//
save() {
let isGoodInfMsg = this.$refs['goodsInfo'].validateGoodsInfForm();
},
/* 添加商品详细 */ /* 添加商品详细 */
/* 设置楼层导航事件驱动方法* @params Number index 楼层下标 */ /* 设置楼层导航事件驱动方法* @params Number index 楼层下标 */
setFloorNavMountClick(index) { setFloorNavMountClick(index) {
...@@ -202,8 +201,8 @@ ...@@ -202,8 +201,8 @@
floor_offsetTop = floor_item[index].offsetTop - floor_item[0].offsetTop, floor_offsetTop = floor_item[index].offsetTop - floor_item[0].offsetTop,
window_scrollTop = this.$refs.scrollview.scrollTop, window_scrollTop = this.$refs.scrollview.scrollTop,
timer = { timer = {
step: 50, step: 45,
times: 15, times: 18,
FLOOR_OFFSETTOP: floor_offsetTop FLOOR_OFFSETTOP: floor_offsetTop
} }
if (window_scrollTop > floor_offsetTop) { if (window_scrollTop > floor_offsetTop) {
...@@ -214,7 +213,6 @@ ...@@ -214,7 +213,6 @@
_this.setFloorScrollArrowDown(timer) _this.setFloorScrollArrowDown(timer)
} }
}, },
/* 设置楼层向上滚动* @params Object timer 定时器配置 */ /* 设置楼层向上滚动* @params Object timer 定时器配置 */
setFloorScrollArrowUp(timer) { setFloorScrollArrowUp(timer) {
//debugger //debugger
......
...@@ -793,7 +793,9 @@ ...@@ -793,7 +793,9 @@
// 订单导出 // 订单导出
handleExport(row) { handleExport(row) {
const rowIds = this.ids; const rowIds = this.ids;
let query = {page: 1, limit: 100} //console.log(777,rowIds);
let query = {page: 1, limit: 100};
// return
exportOrder(query).then(res => { exportOrder(query).then(res => {
if(res.code === 1) { if(res.code === 1) {
const link = document.createElement('a'); const link = document.createElement('a');
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论