打开main.js,创建过滤器
Vue.filter('dateFormat', function (originVal) {
const dt = new Date(originVal);
const y = dt.getFullYear();
const m = (dt.getMonth() + 1 + '').padStart(2, '0');
const d = (dt.getDate() + '').padStart(2, '0');
const hh = (dt.getHours() + '').padStart(2, '0');
const mm = (dt.getMinutes() + '').padStart(2, '0');
const ss = (dt.getSeconds() + '').padStart(2, '0');
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
})
在html中使用
<el-table-column label="创建时间" width="200">
<template v-slot="scope">{{scope.row.add_time | dateFormat}}template>
el-table-column>
addGoods() {
this.$router.push("/goods/add");
}
步骤条和Tab栏共用一个数据项
注意 el-steps用activeIndex-0 保证其为数值
<el-steps :space="200" :active="activeIndex - 0" finish-status="success" align-center>
<el-tabs tab-position="left" v-model="activeIndex">
activeIndex: "0"
beforeTabLeave(activeName, oldActiveName) {
if (oldActiveName === "0" && this.addForm.goods_cat.length === 0) {
this.$message.error("请先选择商品分类");
return false;
}
}
<el-form-item v-for="item in paramList" :key="item.attr_id" :label="item.attr_name">
<el-checkbox-group v-model="checkList">
<el-checkbox v-for="(item2,i) in item.attr_vals" :key="i" :label="item2" border>el-checkbox>
el-checkbox-group>
el-form-item>
<el-upload
class="upload-demo"
:action="uploadurl"
:on-preview="handlePreview"
:on-remove="handleRemove"
:file-list="fileList"
list-type="picture"
>
<el-button size="small" type="primary">点击上传el-button>
el-upload>
查看Netword → upload请求→Preview 无效token
原因:upload未使用axios发送请求,未携带token
解决:使用其attribute设置请求头对象
headerObj: {
Authorization: window.sessionStorage.getItem("token")
}
handleSuccess(response) {
console.log(response);
// 拼接图片信息对象,push至数组
const picInfo = { pic: response.data.tmp_path };
this.addForm.pics.push(picInfo);
console.log(this.addForm);
}
handleRemove(file) {
// 获取想要删除的临时路径
// 获取在pics中的索引值
// 移除
const path = file.response.data.tmp_path;
const index = this.addForm.pics.findIndex(x => x.pic === path);
this.addForm.pics.splice(index, 1);
console.log(this.addForm.pics);
},
使用on-preview监听,保存点击图片的Url,弹出对话框进行显示。
<el-dialog title="图片预览" :visible.sync="previewDialogVisible" width="50%">
<img :src="previewPath" class="previewimg" alt />
el-dialog>
//处理图片预览效果
handlePreview(file) {
this.previewDialogVisible = true;
// 1.获取图片的Url地址
this.previewPath = file.response.data.url;
},
需要安装依赖→运行依赖→vue-quill-editor
点击详情打开文档,选择全局挂载,在main.js中输入以下:
复制架构,声明数据和方法,添加一个添加商品的btn
需要对addForm进行深拷贝,因为我们需要将attr_vals转为字符串,如果直接在本身上转,会报错,因为其绑定在级联选择器上,而其只能绑定数组。
安装lodash
复制架构,声明数据和方法,添加一个添加商品的btn
[外链图片转存中…(img-DHtTMnIe-1610761213669)]
需要对addForm进行深拷贝,因为我们需要将attr_vals转为字符串,如果直接在本身上转,会报错,因为其绑定在级联选择器上,而其只能绑定数组。
安装lodash