整体调整

This commit is contained in:
liupopo
2023-03-01 17:09:41 +08:00
parent d46da55237
commit 5a52e5de04
35 changed files with 292 additions and 126 deletions

View File

@@ -1677,7 +1677,8 @@ hidden: true
component: Layout,
redirect: '/cms/help',
name: 'cms',
meta: {title: '内容管理', icon: 'home'},
// meta: {title: '内容管理', icon: 'home'},
meta: {title: '农机服务', icon: 'home'},
children: [
{
path: 'cmsZhaoPin',
@@ -1723,12 +1724,13 @@ hidden: true
path: 'subject',
name: 'subject',
component: () => import('@/views/cms/subject/index'),
meta: {title: '专题列表', icon: 'product-list'}
// meta: {title: '专题列表', icon: 'product-list'}
meta: {title: '农机资讯', icon: 'product-list'}
}, {
path: 'addSubject',
name: 'addSubject',
component: () => import('@/views/cms/subject/add'),
meta: {title: '添加专题'},
meta: {title: '添加资讯'},
hidden: true
},
{

View File

@@ -2,7 +2,7 @@
<el-card class="form-container" shadow="never">
<el-form :model="subject" :rules="rules" ref="subjectFrom" label-width="150px">
<el-form-item label="分类:" prop="categoryId">
<!-- <el-form-item label="分类:" prop="categoryId">
<el-select
v-model="subject.categoryId"
@change="handlecateChange"
@@ -14,33 +14,32 @@
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="标题:" prop="title">
<el-input v-model="subject.title"></el-input>
</el-form-item>
<el-form-item label="专题主图:" prop="pic">
<el-form-item label="主图:" prop="pic">
<single-upload v-model="subject.pic"></single-upload>
</el-form-item>
<el-form-item label="推荐:" prop="recommendStatus">
<!-- <el-form-item label="推荐:" prop="recommendStatus">
<el-radio-group v-model="subject.recommendStatus">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
-->
<el-form-item label="画册:">
<multi-upload v-model="selectProductPics"></multi-upload>
</el-form-item>
<el-form-item label="是否显示:">
<!-- <el-form-item label="是否显示:">
<el-radio-group v-model="subject.showStatus">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-form-item> -->
<el-form-item label="描述:" prop="description">
<el-input
:autoSize="true"
@@ -51,9 +50,9 @@
<el-form-item label="内容:" prop="content">
<el-tabs v-model="activeHtmlName" type="card">
<el-tab-pane label="电脑端详情" name="pc">
<!-- <el-tab-pane label="电脑端详情" name="pc">
<tinymce :width="595" :height="300" v-model="subject.content"></tinymce>
</el-tab-pane>
</el-tab-pane> -->
<el-tab-pane label="移动端详情" name="mobile">
<tinymce :width="595" :height="300" v-model="subject.content"></tinymce>
</el-tab-pane>
@@ -73,7 +72,9 @@
import Tinymce from '@/components/Tinymce'
import MultiUpload from '@/components/Upload/multiUpload'
const defaultSubject={
name: ''
title: '',
category_id:38,
category_name:'农机租赁'
};
export default {
name: 'SubjectDetail',
@@ -90,7 +91,7 @@
categoryName:'',
albumPics:null,
cateOptions:null,
activeHtmlName: 'pc',
activeHtmlName: 'mobile',
rules: {
name: [
{required: true, message: '请输入品牌名称', trigger: 'blur'},

View File

@@ -15,7 +15,7 @@
<div style="margin-top: 15px">
<el-form :inline="true" :model="listQuery" size="small" label-width="140px">
<el-form-item label="输入搜索:">
<el-input style="width: 203px" v-model="listQuery.keyword" placeholder="品牌名称/关键字"></el-input>
<el-input style="width: 203px" v-model="listQuery.title" placeholder="标题/关键字"></el-input>
</el-form-item>
</el-form>
</div>
@@ -42,19 +42,19 @@
<el-table-column label="编号" align="center">
<template slot-scope="scope">{{scope.row.id}}</template>
</el-table-column>
<el-table-column label="分类" align="center">
<!-- <el-table-column label="分类" align="center">
<template slot-scope="scope">{{scope.row.categoryId}}</template>
</el-table-column>
<el-table-column label="专题分类名称" align="center">
<template slot-scope="scope">{{scope.row.categoryName}}</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="标题" align="center">
<template slot-scope="scope">{{scope.row.title}}</template>
</el-table-column>
<el-table-column label="专题主图" align="center">
<el-table-column label="主图" align="center">
<template slot-scope="scope"><img style="height: 80px" :src="scope.row.pic"></template>
</el-table-column>
<el-table-column label="关联产品数量" align="center">
<!-- <el-table-column label="关联产品数量" align="center">
<template slot-scope="scope">{{scope.row.productCount}}</template>
</el-table-column>
<el-table-column label="推荐" align="center">
@@ -67,7 +67,6 @@
</el-switch>
</template>
</el-table-column>
<el-table-column label="收藏量" align="center">
<template slot-scope="scope">{{scope.row.collectCount}}</template>
</el-table-column>
@@ -77,7 +76,6 @@
<el-table-column label="评论量" align="center">
<template slot-scope="scope">{{scope.row.commentCount}}</template>
</el-table-column>
<el-table-column label="显示状态" align="center">
<template slot-scope="scope">
<el-switch
@@ -88,11 +86,9 @@
</el-switch>
</template>
</el-table-column>
<el-table-column label="转发数" align="center">
<template slot-scope="scope">{{scope.row.forwardCount}}</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="创建时间" align="center">
<template slot-scope="scope">{{scope.row.createTime|formatCreateTime}}</template>
</el-table-column>
@@ -150,6 +146,7 @@
operateType: null,
listQuery: {
keyword: null,
title: null,
pageNum: 1,
pageSize: 10
},

View File

@@ -3,7 +3,7 @@
<el-card class="login-form-layout">
<el-form autoComplete="on" :model="loginForm" :rules="loginRules" ref="loginForm" label-position="left">
<div style="text-align: center"><img src="../../assets/img/logo.png" width="140px"/></div>
<h2 class="login-title color-main">云链管理后台</h2>
<h2 class="login-title color-main">云链管理后台</h2>
<el-form-item prop="username">
<el-input name="username" type="text" v-model="loginForm.username" autoComplete="on" placeholder="请输入用户名">
<span slot="prefix"><svg-icon icon-class="user" class="color-main"></svg-icon></span>

View File

@@ -1,7 +1,7 @@
<template>
<div style="margin-top: 50px">
<el-form :model="value" ref="productAttrForm" label-width="150px" style="width: 720px" size="small">
<el-form-item label="属性类型:">
<el-form-item label="商品类型:">
<el-select v-model="value.productAttributeCategoryId"
placeholder="请选择属性类型"
@change="handleProductAttrChange">
@@ -137,9 +137,9 @@
</el-form-item>
<el-form-item label="规格参数:">
<el-tabs v-model="activeHtmlName" type="card">
<el-tab-pane label="电脑端详情" name="pc">
<!-- <el-tab-pane label="电脑端详情" name="pc">
<tinymce :width="595" :height="300" v-model="value.detailHtml"></tinymce>
</el-tab-pane>
</el-tab-pane> -->
<el-tab-pane label="移动端详情" name="mobile">
<tinymce :width="595" :height="300" v-model="value.detailMobileHtml"></tinymce>
</el-tab-pane>
@@ -186,7 +186,7 @@
//可手动添加的商品属性
addProductAttrValue: '',
//商品富文本详情激活类型
activeHtmlName: 'pc'
activeHtmlName: 'mobile'
}
},
computed: {

View File

@@ -26,20 +26,20 @@
@nextStep="nextStep"
@prevStep="prevStep">
</product-attr-detail>
<product-relation-detail
<!-- <product-relation-detail
v-show="showStatus[3]"
v-model="productParam"
:is-edit="isEdit"
@prevStep="prevStep"
@finishCommit="finishCommit">
</product-relation-detail>
</product-relation-detail> -->
</el-card>
</template>
<script>
import ProductInfoDetail from './ProductInfoDetail';
import ProductSaleDetail from './ProductSaleDetail';
import ProductAttrDetail from './ProductAttrDetail';
import ProductRelationDetail from './ProductRelationDetail';
// import ProductRelationDetail from './ProductRelationDetail';
import {createProduct,getProduct,updateProduct} from '@/api/product';
const defaultProductParam = {
@@ -113,7 +113,9 @@
};
export default {
name: 'ProductDetail',
components: {ProductInfoDetail, ProductSaleDetail, ProductAttrDetail, ProductRelationDetail},
components: {ProductInfoDetail, ProductSaleDetail, ProductAttrDetail
// , ProductRelationDetail
},
props: {
isEdit: {
type: Boolean,
@@ -131,6 +133,7 @@
if(this.isEdit){
getProduct(this.$route.query.id).then(response=>{
this.productParam=response.data;
console.log('kkkkk',this.productParam)
});
}
},

View File

@@ -78,7 +78,7 @@
<el-form-item label="商品售价:">
<el-input v-model="value.price"></el-input>
</el-form-item>
<el-form-item label="市场价:">
<el-form-item label="惠农价:">
<el-input v-model="value.originalPrice"></el-input>
</el-form-item>
<el-form-item label="商品库存:">
@@ -116,13 +116,12 @@
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
</el-select>
</el-form-item> -->
</el-form-item>
<el-form-item label="排序">
<!-- <el-form-item label="排序">
<el-input v-model="value.sort"></el-input>
</el-form-item>
</el-form-item> -->
<el-form-item style="text-align: center">
<el-button type="primary" size="medium" @click="handleNext('productInfoForm')">下一步</el-button>
</el-form-item>
@@ -237,7 +236,6 @@ let userRoles = []
this.handleEditCreated();
},
selectProductCateValue: function (newValue) {
if (newValue != null) {
this.value.productCategoryId = newValue[newValue.length-1 >0?newValue.length-1:0];
this.value.productCategoryName= this.getCateNameById(this.value.productCategoryId);
@@ -245,7 +243,6 @@ let userRoles = []
this.value.productCategoryId = null;
this.value.productCategoryName=null;
}
},
selectAreaValue: function (newValue) {
@@ -288,11 +285,17 @@ let userRoles = []
},
//处理编辑逻辑
handleEditCreated(){
console.log(this.value)
if(this.value.productCategoryId!=null){
this.selectProductCateValue.push(this.value.cateParentId);
this.selectProductCateValue.push(this.value.productCategoryId);
let seleval = []
seleval.push(this.value.cateParentId);
seleval.push(this.value.productCategoryId);
this.selectProductCateValue = seleval
// this.selectProductCateValue.push(this.value.cateParentId);
// this.selectProductCateValue.push(this.value.productCategoryId);
}
console.log(this.selectProductCateValue)
if(this.value.areaId!=null){
getArea(this.value.areaId).then(response => {
this.selectAreaValue.push(response.data.pid);
@@ -334,10 +337,9 @@ let userRoles = []
getCateNameById(id){
let name=null;
for(let i=0;i<this.productCateOptions.length;i++){
for(let j=0;i<this.productCateOptions[i].children.length;j++){
if( this.productCateOptions[i].children[j].value!=undefined && this.productCateOptions[i].children[j].value===id){
for(let j=0;j<this.productCateOptions[i].children.length;j++){
if( this.productCateOptions[i].children[j].value && this.productCateOptions[i].children[j].value!=undefined && this.productCateOptions[i].children[j].value===id){
name=this.productCateOptions[i].children[j].label;
return name;
}

View File

@@ -60,27 +60,63 @@
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :model="queryParams" :inline="true" class="tab-header">
<el-form-item label="仓库/门店">
<el-input v-model="queryParams.params.orderId" placeholder="" clearable />
</el-form-item>
<el-form-item label="起始日期">
<el-date-picker v-model="queryParams.params.orderStartDate" type="date" clearable
value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.orderEndDate" type="date" clearable
value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="商品名称">
<el-input v-model="queryParams.params.supplierName" placeholder="" clearable />
</el-form-item>
<el-form-item label="商品编码">
<el-input v-model="queryParams.params.supplierName" placeholder="" clearable />
</el-form-item>
<el-form :model="listQuery" :inline="true" class="tab-header">
<el-form-item label="输入搜索:">
<el-input style="width: 203px" v-model="listQuery.keyword" placeholder="商品名称"></el-input>
</el-form-item>
<el-form-item label="商品类型:">
<el-select v-model="listQuery.productAttributeCategoryId" placeholder="商品类型" clearable style="width: 160px;">
<el-option v-for="item in productAttributeCategoryOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="商品分类:">
<el-cascader clearable change-on-select v-model="selectProductCateValue"
:options="productCateOptions">
</el-cascader>
</el-form-item>
<el-form-item label="商品品牌:">
<el-select v-model="listQuery.brandId" placeholder="请选择品牌" clearable>
<el-option v-for="item in brandOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="上架状态:">
<el-select v-model="listQuery.publishStatus" placeholder="全部" clearable style="width: 120px;">
<el-option v-for="item in publishStatusOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="审核状态:">
<el-select v-model="listQuery.verifyStatus" placeholder="全部" clearable style="width: 120px;">
<el-option v-for="item in verifyStatusOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否新品:">
<el-select v-model="listQuery.newStatus" placeholder="全部" clearable style="width: 120px;">
<el-option v-for="item in newStatusOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否推荐:">
<el-select v-model="listQuery.recommandStatus" placeholder="全部" clearable style="width: 120px;">
<el-option v-for="item in recommandStatusOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearchList()">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="handleResetSearch()">重置</el-button>
</div>
</div>
</div>
@@ -99,9 +135,9 @@
<el-tab-pane name="3">
<span slot="label"><i class="el-icon-truck"></i>仓库中</span>
</el-tab-pane>
<el-tab-pane name="4">
<!-- <el-tab-pane name="4">
<span slot="label"><i class="el-icon-truck"></i> 回收站</span>
</el-tab-pane>
</el-tab-pane> -->
<!-- <el-tab-pane name="5">
<span slot="label"><i class="el-icon-truck"></i>
<el-button class="btn-add" @click="handleAddProduct()" size="mini">
@@ -141,6 +177,7 @@
<template slot-scope="scope">
<p>{{scope.row.name}}</p>
<p>品牌{{scope.row.brandName}}</p>
<p>类别{{scope.row.productCategoryName}}</p>
</template>
</el-table-column>
<el-table-column label="价格/货号" width="120" align="center">
@@ -166,7 +203,7 @@
:active-value="1" :inactive-value="0" v-model="scope.row.recommandStatus">
</el-switch>
</p>
<p>分销
<!-- <p>分销
<el-switch @change="handleFenxiaoStatusChange(scope.$index, scope.row)"
:active-value="1" :inactive-value="0" v-model="scope.row.isFenxiao">
</el-switch>
@@ -175,17 +212,17 @@
<el-switch @change="handleVipStatusChange(scope.$index, scope.row)" :active-value="1"
:inactive-value="0" v-model="scope.row.isVip">
</el-switch>
</p>
</p> -->
</template>
</el-table-column>
<el-table-column label="排序" width="100" align="center">
<!-- <el-table-column label="排序" width="100" align="center">
<template slot-scope="scope">{{scope.row.sort}}</template>
</el-table-column>
<el-table-column label="SKU库存" width="100" align="center">
</el-table-column> -->
<el-table-column label="库存" width="100" align="center">
<template slot-scope="scope">
<p>{{scope.row.stock }}</p>
<el-button type="primary" icon="el-icon-edit"
@click="handleShowSkuEditDialog(scope.$index, scope.row)" circle></el-button>
<!-- <el-button type="primary" icon="el-icon-edit"
@click="handleShowSkuEditDialog(scope.$index, scope.row)" circle></el-button> -->
</template>
</el-table-column>
<el-table-column label="销量" width="100" align="center">
@@ -203,14 +240,16 @@
<el-table-column label="操作" width="160" align="center">
<template slot-scope="scope">
<p>
<el-button size="mini" @click="handleDeleteStatus(scope.$index, scope.row)">回收
</el-button>
<el-button size="mini" @click="handleUpdateProduct(scope.$index, scope.row)">编辑
</el-button>
<!-- <el-button size="mini" @click="handleDeleteStatus(scope.$index, scope.row)">回收
</el-button>
</p>
<p>
<el-button size="mini" @click="handleShowVeriyEditDialog(scope.$index, scope.row)">日志
</el-button>
</el-button> -->
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除
</el-button>
</p>
@@ -317,7 +356,8 @@
update as updateSkuStockList
} from '@/api/skuStock'
import {
fetchList as fetchProductAttrList
fetchList as fetchProductAttrList,
fetchAllList as fetchProductAttrAllList
} from '@/api/productAttr'
import {
fetchList as fetchBrandList
@@ -325,7 +365,8 @@
import {
fetchListWithChildren
} from '@/api/productCate'
import {fetchList as fetchProductAttrCateList} from '@/api/productAttrCate'
const defaultListQuery = {
keyword: null,
pageNum: 1,
@@ -335,6 +376,9 @@
verifyStatus: null,
productSn: null,
productCategoryId: null,
productAttributeCategoryId: null,
newStatus: null,
recommandStatus: null,
brandId: null
};
export default {
@@ -389,14 +433,14 @@
label: "取消新品",
value: "newOff"
},
{
label: "转移到分类",
value: "transferCategory"
},
{
label: "移入回收站",
value: "recycle"
}
// {
// label: "转移到分类",
// value: "transferCategory"
// },
// {
// label: "移入回收站",
// value: "recycle"
// }
],
tabsName: '1',
operateType: null,
@@ -408,6 +452,7 @@
multipleSelection: [],
productCateOptions: [],
brandOptions: [],
productAttributeCategoryOptions: [],
publishStatusOptions: [{
value: 1,
label: '上架'
@@ -422,6 +467,20 @@
value: 0,
label: '未审核'
}],
newStatusOptions: [{
value: 1,
label: '是'
}, {
value: 0,
label: '否'
}],
recommandStatusOptions: [{
value: 1,
label: '是'
}, {
value: 0,
label: '否'
}],
statusOptions: [{
value: 1,
label: '出售中'
@@ -431,10 +490,12 @@
}, {
value: 3,
label: '仓库中'
}, {
value: 4,
label: '回收站'
}],
}
// , {
// value: 4,
// label: '回收站'
// },
],
btnList: [],
queryParams: {
current: 1,
@@ -462,6 +523,7 @@
this.getList();
this.getBrandList();
this.getProductCateList();
this.getProductAttrCateList();
},
watch: {
selectProductCateValue: function(newValue) {
@@ -594,6 +656,16 @@
}
});
},
getProductAttrCateList() {
let param = {pageNum: 1, pageSize: 100};
fetchProductAttrCateList().then(response => {
let list = response.data.records;
this.productAttributeCategoryOptions = [];
for (let i = 0; i < list.length; i++) {
this.productAttributeCategoryOptions.push({label: list[i].name, value: list[i].id});
}
});
},
handleShowVeriyEditDialog(index, row) {
this.vertyProduct.dialogVisible = true;
this.vertyProduct.productId = row.id;

View File

@@ -3,12 +3,12 @@
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets" style="margin-top: 5px"></i>
<span style="margin-top: 5px">数据列表</span>
<el-button
<!-- <el-button
class="btn-add"
@click="addProductAttrCate()"
size="mini">
添加
</el-button>
</el-button> -->
</el-card>
<div class="table-container">
<el-table ref="productAttrCateTable"
@@ -22,7 +22,7 @@
<el-table-column label="类型名称" align="center">
<template slot-scope="scope">{{scope.row.name}}</template>
</el-table-column>
<el-table-column label="属性数量" width="200" align="center">
<!-- <el-table-column label="属性数量" width="200" align="center">
<template slot-scope="scope">{{scope.row.attributeCount==null?0:scope.row.attributeCount}}</template>
</el-table-column>
<el-table-column label="参数数量" width="200" align="center">
@@ -52,7 +52,7 @@
@click="handleDelete(scope.$index, scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</div>
<div class="pagination-container">

View File

@@ -1,6 +1,6 @@
<template> 
<div class="app-container">
<el-card class="filter-container" shadow="never">
<!-- <el-card class="filter-container" shadow="never">
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
@@ -19,16 +19,16 @@
</el-form-item>
</el-form>
</div>
</el-card>
</el-card> -->
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets"></i>
<span>数据列表</span>
<el-button
<!-- <el-button
class="btn-add"
@click="addMemberLevel()"
size="mini">
添加
</el-button>
</el-button> -->
</el-card>
<div class="table-container">
<el-table ref="memberLevelTable"
@@ -45,10 +45,10 @@
<el-table-column label="名称" align="center">
<template slot-scope="scope">{{scope.row.name}}</template>
</el-table-column>
<el-table-column label="成长值" align="center">
<!-- <el-table-column label="成长值" align="center">
<template slot-scope="scope">{{scope.row.growthPoint}}</template>
</el-table-column>
<el-table-column label="免运费标准" align="center">
<template slot-scope="scope">{{scope.row.freeFreightPoint}}</template>
</el-table-column>
@@ -81,13 +81,14 @@
</el-table-column>
<el-table-column label="成为会员的价格" align="center">
<template slot-scope="scope">{{scope.row.price}}</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="备注" align="center">
<template slot-scope="scope">{{scope.row.note}}</template>
</el-table-column>
<el-table-column label="操作" width="200" align="center">
<!-- <el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@@ -99,7 +100,7 @@
@click="handleDelete(scope.$index, scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</div>
<div class="batch-operate-container">