From 8dd826bfe4a25d51673e1cb874508e9ae9c75767 Mon Sep 17 00:00:00 2001 From: huaxinzhu <15565133664@163.com> Date: Tue, 6 Jul 2021 18:52:15 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B7=BB=E5=8A=A0=E5=95=86=E5=93=81-?= =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=A1=E6=81=AF=E9=A1=B5=E9=9D=A2=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/add/components/goodsinfomation.vue | 528 ++++++++++-------- src/views/system/goods/add/index.vue | 44 +- src/views/system/order/index.vue | 4 +- 3 files changed, 329 insertions(+), 247 deletions(-) diff --git a/src/views/system/goods/add/components/goodsinfomation.vue b/src/views/system/goods/add/components/goodsinfomation.vue index 73360cc..741ba73 100644 --- a/src/views/system/goods/add/components/goodsinfomation.vue +++ b/src/views/system/goods/add/components/goodsinfomation.vue @@ -1,20 +1,107 @@ <template> <div class="goods-info"> - <el-form :model="goodsInfoForm" :rules="rules" ref="goodsInfoForm" label-width="120px" class="demo-goodsInfoForm"> - <el-form-item label="商å“分类:"> - <span class="type-text-span">{{ categoryStr }}</span><el-link class="edit-type-span el-icon-edit" :underline="false">修改所在类目</el-link> + <el-form :model="goodsInfoForm" :rules="goodsInfoRules" ref="goodsInfoForm" label-width="150px" class="demo-goodsInfoForm" size="small"> + <el-form-item label="商å“分类:" prop="categoryStr"> + <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 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-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> </template> <script> - import { - GetCategory, - GetFreight, - UploadImg - } from '@/api/module/goods' - import {getBrandsInf} from '@/api/module/brand/brand' + import { GetCategory, GetFreight, UploadImg } from '@/api/module/goods' + import { getAreaList } from '@/api/module/retreat/address'; + import { getBrandsInf } from '@/api/module/brand/brand' export default { name: 'goods', props: { @@ -32,56 +119,49 @@ } }; return { - categoryStr: '', - - - /*------------------------------*/ + //loading: false, + // categoryStr: '', + goodsInfoDataClone: {}, + areaOptions: [], // åœ°å€ çœ + brandOptions: [], // 商å“å“牌 goodsInfoForm: { - outGoodsId: '', - value: [], - goodsId: 0, + categoryStr: '', // 商å“分类 åœ°å€æ‹¼æŽ¥ + categoryList: [], goodsName: '', - scPrice: '', - price: "", //市场价 å•ä½åˆ† - goodsNowStock: "", - producingArea: '', - weight: '', - unit: '', //å•ä½ - goodsBrand: '', //å“牌 - resource: '1', - categoryId: 0, - freightId: 310, //è¿è´¹æ¨¡æ¿ID - wlPrice: '', - pywlPrice: '', - jsPrice: '', //å议价 - Delayompensate: "", - aftersaleTime: '7', - mark: '', - serviceagsTags: [], - description: '' + producingArea: [], // 产地 + fhd: [], // å‘货地 + goodsBrand: [], // å“牌 + sptp: '' // 商å“图片 }, - rules: { + goodsInfoRules: { + categoryStr: [{required: true, message: '商å“分类ä¸èƒ½ä¸ºç©º', trigger: 'blur'},], goodsName: [ {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}], - price: [{required: true, message: '请填写指导售价', trigger: 'blur'}], - jsPrice: [{required: true, message: '请填写结算售价', trigger: 'blur'}], - scPrice: [{required: true, message: '请填写市场原价', trigger: 'blur'}], - goodsNowStock: [ - {required: true, message: '商å“库å˜ä¸èƒ½ä¸ºç©º', trigger: 'blur'}, - {type: 'number', message: '商å“库å˜è¦å¡«å†™æ•°å—'}, - ], - unit: [{required: true, message: '商å“å•ä½ä¸èƒ½ä¸ºç©º', trigger: 'blur'}], - goodsBrand: [{required: true, message: '商å“å“牌ä¸èƒ½ä¸ºç©º', trigger: 'change'}] + producingArea:[{required: true, message: '请选择商å“产地', trigger: 'change'}], + fhd: [{required: true, message: '请选择商å“å‘货地', trigger: 'change'}], + goodsBrand: [{required: true, message: '请选择商å“å“牌', trigger: 'change'}], + sptp: [{required: true, message: '请选择商å“分类', validator: categoryIdCheck}] }, - // è¿è´¹æ¨¡æ¿åˆ—表 - freightList: [], - options1: [], + goodsImgFileList: [], // 商å“å›¾ç‰‡åœ°å€ é›†åˆlist + goodsImgVisible: false, // 图片能å¦é¢„览 + goodsImgUrlDialog: '', + /* 修改 商å“分类 */ + loadingSSQ: false, + editGoodsTypeDialog: false, + SSQGoodsList: [], // çœå¸‚区 å组件goodsçš„ + goodsprops: { + expandTrigger: 'click', + lazy: true, + lazyLoad: this.lazyLoad, + value: "id", + label: 'name', + leaf: 'leaf' + }, - } + } // return end }, components: {}, watch: { @@ -93,198 +173,145 @@ // }, }, 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() { - this.getCategory(); - this.getFreight(); - this.getBrands(); + // this.getCategory(); + // this.getFreight(); + // this.getBrands(); }, methods: { - fileChange(e){ - const list = this.$refs.file.files; - console.log(list) - this.indexall = list.length - this.uplonds() - }, - uplonds(){ - this.getBase64(this.$refs.file.files[this.index]).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.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; - } - - }) + // èŽ·å– çœ + getArea() { + let limboNode = { + pid: 0 + }; + getAreaList(limboNode).then( res=> { + if(res.data) { + this.areaOptions = res.data; + }else { + this.areaOptions = []; + } }); }, - /*************************/ - // ä¸Šä¼ å›¾ç‰‡å‰ - beforeUploadEdit(res, file) { - // 显示loading动画 - this.quillUpdateImg = true - }, - // ä¸Šä¼ å›¾ç‰‡æˆåŠŸ - 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; - }) + // èŽ·å– å•†å“å“牌 + getBrands() { + getBrandsInf().then( res => { + if(res.data) { + this.brandOptions = res.data.data; + }else { + this.brandOptions = []; + } }); - /*-----*/ }, - // 图片转æ¢ä¸º 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); - }; - }); + /* 修改 商å“分类 类目 */ + editType() { + this.SSQGoodsList = []; + this.editGoodsTypeDialog = true; + this.SSQGoodsList = this.goodsInfoForm.categoryList + console.log(222,this.SSQGoodsList); }, - /*************************/ - // æœåŠ¡æ ‡ç¾ ä¸ï¼Œ7天退æ¢å’Œä¸å¯é€€æ¢åªèƒ½2选一 - serviceSingleChange(id) { - let index4 = this.serviceagsTags.indexOf(4); - let index3 = this.serviceagsTags.indexOf(3); - if(id == 3) { - if( index4 > -1) { - this.serviceagsTags.splice(index4,1) - } + lazyLoad(node, resolve) { + this.getSSQArea(node, resolve); + }, + getSSQArea(node, resolve) { + const level = node.level; + let limboNode = {}; + if(level === 0) { + //debugger + limboNode = {pid: 0} } - if(id == 4) { - if( index3 > -1) { - this.serviceagsTags.splice(index3,1) - } + if(level === 1) { + //debugger + limboNode = { pid: node.value }; } - }, - // è¿è´¹æ¨¡æ¿ç±»åž‹ï¼Œchange事件 - freightIdTypeChange(val) { - // 0 å•独è¿è´¹ 1 是è¿è´¹æ¨¡æ¿ - if(val === '1') { - if(this.goodsInfoForm.freightId == 0) { - this.goodsInfoForm.freightId = "全国包邮通用模æ¿"; - } + if(level === 2) { + limboNode = { pid: node.value }; } - }, - // 获å–å“ç‰Œä¿¡æ¯ - getBrands() { - getBrandsInf().then(res => { - if (res.data.data) { - this.brandOtions = res.data.data; + //this.loadingSSQ = true; + getAreaList(limboNode).then(res => { + let result = {}; + if (level === 0) { + result = res.data + result.forEach(item => { + item.value = item.id; + item.label = item.name; + item.children=[]; + item.leaf = 0; // å¯ä»¥æŽ§åˆ¶ æ˜¯å¦æœ‰ä¸‹çº§ 值为true都ä¸è¡Œï¼Œå¿…é¡»ç‰äºŽ0 + }) } - }); - }, - // èŽ·å– å•†å“分类 ä¿¡æ¯ - getCategory() { - GetCategory({}).then(response => { - this.options1 = response.data.data; - }); - }, - // è¿è´¹æ¨¡æ¿ - getFreight() { - GetFreight(this.queryParams).then(response => { - this.freightList = response.data - }); - }, - handleChange(value) { - this.goodsInfoForm.categoryId = value[value.length - 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); + if (level === 1) { + result = res.data + result.forEach(item => { + item.value = item.id; + item.label = item.name + item.children=[]; + //è¿™å¥ä»£ç 表示当点击最åŽä¸€çº§çš„æ—¶å€™ labelåŽé¢ä¸ä¼šè½¬åœˆåœˆ 并把相关值赋值到选择器上 + item.leaf = 0 + }) + } + if (level === 2) { + result = res.data + result.forEach(item => { + item.value = item.id; + item.label = item.name + item.leaf = 1; + }) } + resolve(result) + //this.loadingSSQ = false; }); - return treeData; }, - onEditorChange({editor, html, text}) { - this.content = html; - //console.log(315,this.content); + SSQGoodsChange(value) { + //this.SSQGoodsList = value; }, - // 商å“å“牌 å‘åŽå°ä¼ å…¥ name - goodsBrandChange(indexId) { - let obj = {}; - obj = this.brandOtions.find((item)=>{//这里的userList就是上é¢éåŽ†çš„æ•°æ®æº - return item.id === indexId;//ç›é€‰å‡ºåŒ¹é…æ•°æ® - }); - this.goodsInfoForm.goodsBrand = obj.brand_cn; + // 确认 修改 商å“分类 + saveType() { + }, - // 维护å“牌 - toBrand() { - this.$router.push({path: '/system/shop/brand'}); + // å–æ¶ˆ 修改 商å“分类 + cancelType() { + 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) { - this.$refs[formName].resetFields(); - // 详情æè¿°ï¼Œé‡ç½® - this.content = ''; - // æœåŠ¡æ ‡ç¾ - this.serviceagsTags = []; - //console.log("é‡ç½®åŽçš„æ•°æ®ï¼š",this.goodsInfoForm); + UploadImg(data).then( res=> { + console.log(217,res); + let urlObj = {'url': ''}; + if(res.data) { + urlObj.url = res.data.data.imageUrl; + this.goodsImgFileList.push(urlObj); + this.$message({type:'success',message:'å›¾ç‰‡ä¸Šä¼ æˆåŠŸ'}); + // åªæ¸…é™¤ä¸€æ¬¡ï¼Œä¸æµªè´¹å“¦ + if(this.goodsImgFileList.length < 1) { + this.$refs.goodsInfoForm.clearValidate('sptp'); + } + } + }); + }); }, - // 商å“ä¿¡æ¯ å组件 formè¡¨å•æ ¡éªŒ + // 商å“ä¿¡æ¯ å组件 formè¡¨å•æ ¡éªŒ, 在父组件ä¸è¢«è°ƒç”¨ validateGoodsInfForm () { let flag = null this.$refs['goodsInfoForm'].validate(valid => { @@ -296,23 +323,78 @@ }) 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> <style scoped> + ul { + padding: 0; + } .goods-info { padding: 15px 0px; + margin-top: 18px; } .type-text-span { display: inline-block; - width: 300px; + width: 400px; + /*margin: 0 20px 0;*/ } .edit-type-span { display: inline-block; cursor: pointer; + margin: 0 20px; +} +/* 一般æç¤ºæ€§æ–‡å— */ +.tip-span { + color: #909399; + font-size: 12px; } + /deep/.el-form-item { + margin-bottom: 20px; + } </style> diff --git a/src/views/system/goods/add/index.vue b/src/views/system/goods/add/index.vue index b703123..d8c2a6c 100644 --- a/src/views/system/goods/add/index.vue +++ b/src/views/system/goods/add/index.vue @@ -10,15 +10,15 @@ <p class="goods-type-tip">为商å“设置æ£ç¡®çš„类目,能让商å“快速的被æœç´¢åˆ°</p> </div> <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> <el-button type="primary" class="next-step" :disabled="isNextStep" @click="nextStep">下一æ¥</el-button> </div> </el-card> <!-- 选择商å“类目 end --> <!-- æ·»åŠ å•†å“ start --> - <el-card class="box-card good-details-body" v-show="isShowGoodsDetails"> - <div class="floor-nav" id="floorNavList" :class="{'is-fixed': isFixed}"> + <el-card class="box-card good-details-body" v-if="isShowGoodsDetails"> + <div class="floor-nav" id="floorNavList"> <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> </ul> @@ -27,7 +27,7 @@ <div class="floor-item"> <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> - <Goodsinfomation ref="GoodsInfo" :goodsinfodata='goodsinfodata'/> + <Goodsinfomation ref="goodsInfo" :goodsinfodata='goodsinfodata'/> </div> </div> @@ -53,7 +53,7 @@ </div> </div> <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> </el-card> <!-- æ·»åŠ å•†å“ end --> @@ -79,12 +79,10 @@ leaf: 'leaf' }, isNextStep: true, - isFixed: false, - scrollHeight: 0, isShowGoodsDetails: false, isFIActive: 0, /**/ - floorNav: [ // 自定义左侧楼层数 + floorNav: [ { id: 1, name: '商å“ä¿¡æ¯' }, { id: 2, name: '商å“è§„æ ¼' }, { id: 3, name: '商å“售价' }, @@ -92,7 +90,10 @@ { id: 5, name: 'å”®åŽåŠæœåŠ¡' }, ], /* 商å“ä¿¡æ¯ */ - goodsinfodata: {} + goodsinfodata: { + categoryList: [], + categoryStr: '' + } } }, components: { @@ -177,22 +178,20 @@ 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() { // æ³¨æ„æ•°æ®æ ¼å¼ [1,2,3] æ•°ç»„ï¼Œä¸”é‡Œé¢æ˜¯æ•°å—类型 - // let a1 = [] - // a1.push(this.SSQList[0]); - //let fuck1 = this.$refs['ssqCascader'].getCheckedNodes(this.SSQList) - // console.log(111,this.SSQList); - //console.log(222,fuck1); + let ssqLabelList = this.$refs['ssqCascader'].getCheckedNodes()[0].pathLabels; + this.goodsinfodata.categoryList = this.SSQList; + this.goodsinfodata.categoryStr = ssqLabelList[0] + '/' + ssqLabelList[1] + '/' + ssqLabelList[2]; this.isShowGoodsDetails = true; }, + // + save() { + let isGoodInfMsg = this.$refs['goodsInfo'].validateGoodsInfForm(); + }, + /* æ·»åŠ å•†å“详细 */ /* 设置楼层导航事件驱动方法* @params Number index æ¥¼å±‚ä¸‹æ ‡ */ setFloorNavMountClick(index) { @@ -202,8 +201,8 @@ floor_offsetTop = floor_item[index].offsetTop - floor_item[0].offsetTop, window_scrollTop = this.$refs.scrollview.scrollTop, timer = { - step: 50, - times: 15, + step: 45, + times: 18, FLOOR_OFFSETTOP: floor_offsetTop } if (window_scrollTop > floor_offsetTop) { @@ -214,7 +213,6 @@ _this.setFloorScrollArrowDown(timer) } }, - /* 设置楼层å‘上滚动* @params Object timer 定时器é…ç½® */ setFloorScrollArrowUp(timer) { //debugger diff --git a/src/views/system/order/index.vue b/src/views/system/order/index.vue index dcc89fc..d57262f 100644 --- a/src/views/system/order/index.vue +++ b/src/views/system/order/index.vue @@ -793,7 +793,9 @@ // 订å•导出 handleExport(row) { 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 => { if(res.code === 1) { const link = document.createElement('a'); -- 2.18.1