增加商品词条模块

This commit is contained in:
sj
2022-09-29 17:04:00 +08:00
parent e81c4987ba
commit 36efe2efac
5 changed files with 179 additions and 11 deletions
+5 -4
View File
@@ -213,7 +213,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="商品详情:">
<ueditor-wrap v-model="formValidate.description" :config="myConfig" @beforeInit="addCustomDialog" style="width: 90%;"></ueditor-wrap>
<vue-ueditor-wrap v-model="formValidate.description" :config="myConfig" @beforeInit="addCustomDialog" style="width: 90%;"></vue-ueditor-wrap>
</el-form-item>
</el-col>
</el-row>
@@ -356,7 +356,6 @@
</template>
<script>
import { getCates } from '@/api/bxg/yxStoreCategory'
import { initData} from '@/api/bxg/data'
import { add, edit, getInfo, isFormatAttr } from '@/api/bxg/yxStoreProduct'
import editor from '../../components/Editor'
@@ -366,9 +365,9 @@ import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import MaterialList from '@/components/material'
import singlePic from '@/components/singlematerial'
import UeditorWrap from 'vue-ueditor-wrap';
import VueUeditorWrap from 'vue-ueditor-wrap';
export default {
components: { editor, picUpload, mulpicUpload, Treeselect, MaterialList, UeditorWrap, singlePic },
components: { editor, picUpload, mulpicUpload, Treeselect, MaterialList, VueUeditorWrap, singlePic },
data() {
return {
//品牌列表
@@ -692,9 +691,11 @@ export default {
console.log('data:'+data,res)
if(data){
let cate_id = parseInt(data.cate_id) || 0;
let brand_id = parseInt(data.brand_id) || 0;
this.attrs = data.items || [];
that.formValidate = data;
that.formValidate.cate_id = cate_id;
that.formValidate.brand_id = brand_id;
that.oneFormValidate = [data.attr];
that.formValidate.header = [];
that.generate();
+137
View File
@@ -0,0 +1,137 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<!-- <el-form-item label="词条id">-->
<!-- <el-input v-model="form.id" style="width: 370px;" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="租户id" prop="tenantId">-->
<!-- <el-input v-model="form.tenantId" style="width: 370px;" />-->
<!-- </el-form-item>-->
<el-form-item label="词条名称" prop="entryName">
<el-input v-model="form.entryName" style="width: 370px;" />
</el-form-item>
<el-form-item label="词条讲解" prop="entryInfo">
<el-input type="textarea" v-model="form.entryInfo" style="width: 370px;min-height:100px" />
</el-form-item>
<!-- <el-form-item label="添加时间">-->
<!-- <el-input v-model="form.createTime" style="width: 370px;" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="更新时间">-->
<!-- <el-input v-model="form.updateTime" style="width: 370px;" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="是否删除">-->
<!-- <el-input v-model="form.isDel" style="width: 370px;" />-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column v-if="columns.visible('id')" prop="id" label="词条id" />
<!-- <el-table-column v-if="columns.visible('tenantId')" prop="tenantId" label="租户id" />-->
<el-table-column v-if="columns.visible('entryName')" prop="entryName" label="词条名称" />
<el-table-column v-if="columns.visible('entryInfo')" prop="entryInfo" label="词条讲解" width="500"/>
<el-table-column v-if="columns.visible('createTime')" prop="createTime" label="添加时间">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column v-if="columns.visible('updateTime')" prop="updateTime" label="更新时间">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column v-if="columns.visible('isDel')" prop="isDel" label="是否删除" />-->
<el-table-column v-permission="['admin','yxStoreEntry:edit','yxStoreEntry:del']" label="操作" width="150px" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudYxStoreEntry from '@/api/bxg/yxStoreEntry'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import MaterialList from "@/components/material";
import Cookies from "js-cookie";
// crud交由presenter持有
const defaultCrud = CRUD({ title: '词条', url: '/bxg/api/yxStoreEntry', sort: 'id,desc', crudMethod: { ...crudYxStoreEntry }})
const defaultForm = { id: null, entryName: null, entryInfo: null,
createTime: null, updateTime: null, isDel: null, tenantId: Cookies.get('tenantId') }
export default {
name: 'yxStoreEntry',
components: { pagination, crudOperation, rrOperation, udOperation ,MaterialList},
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
data() {
return {
picArr: [],
permission: {
add: ['admin', 'YxStoreEntry:add'],
edit: ['admin', 'YxStoreEntry:edit'],
del: ['admin', 'YxStoreEntry:del']
},
rules: {
entryName: [
{ required: true, message: '词条名称不能为空', trigger: 'blur' }
],
entryInfo: [
{ required: true, message: '词条讲解不能为空', trigger: 'blur' }
]
} }
},
watch: {
picArr: function(val) {
this.form.pic = val.join(',')
}
},
methods: {
// 获取数据前设置好接口地址
[CRUD.HOOK.beforeRefresh]() {
return true
}, // 新增与编辑前做的操作
[CRUD.HOOK.afterToCU](crud, form) {
},
}
}
</script>
<style scoped>
.table-img {
display: inline-block;
text-align: center;
background: #ccc;
color: #fff;
white-space: nowrap;
position: relative;
overflow: hidden;
vertical-align: middle;
width: 32px;
height: 32px;
line-height: 32px;
}
</style>