喻忠伟 2 years ago
commit 3a92312db1
  1. 8
      ant-design-vue-jeecg/src/config/router.config.js
  2. 2
      ant-design-vue-jeecg/src/permission.js
  3. 13
      ant-design-vue-jeecg/src/views/collecttype/admin/CollectTypeList.vue
  4. 12
      ant-design-vue-jeecg/src/views/customercollectgoods/admin/modules/CustomercollectgoodsForm.vue
  5. 26
      ant-design-vue-jeecg/src/views/customershoppingcart/admin/modules/CustomerShoppingCartForm.vue
  6. 6
      ant-design-vue-jeecg/src/views/maker/ZyMakerList.vue
  7. 26
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.css
  8. 2
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.js
  9. 35
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.json
  10. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.ttf
  11. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.woff
  12. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.woff2
  13. 4
      ant-design-vue-jeecg/src/views/shopping/components/Header/HeaderView.vue
  14. 518
      ant-design-vue-jeecg/src/views/shopping/pages/chengyi.vue
  15. 28
      ant-design-vue-jeecg/src/views/shopping/pages/gerenzhongxin.vue
  16. 34
      ant-design-vue-jeecg/src/views/shopping/pages/news.vue
  17. 4
      ant-design-vue-jeecg/src/views/shopping/pages/orderDetails.vue
  18. 253
      ant-design-vue-jeecg/src/views/shopping/shopHome.vue
  19. 10
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/customershoppingcart/controller/CustomerShoppingCartController.java
  20. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/maker/controller/ZyMakerController.java
  21. 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/maker/entity/ZyMaker.java
  22. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/maker/service/IZyMakerService.java
  23. 42
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/maker/service/impl/ZyMakerServiceImpl.java
  24. 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/entity/ZyProductProcess.java

@ -652,4 +652,12 @@ export const constantRouterMap = [
path: '/shopping/order',//这里是你需要设置新窗口打开的页面的路径s
component: () => import('@/views/shopping/pages/orderDetails'),
},
{
path: '/shopping/chengyi',//这里是你需要设置新窗口打开的页面的路径s
component: () => import('@/views/shopping/pages/chengyi'),
},
{
path: '/shopping/news',//这里是你需要设置新窗口打开的页面的路径s
component: () => import('@/views/shopping/pages/news'),
},
]

@ -19,7 +19,7 @@ const whiteList = ['/user/login','/userequip/loginequip','/user/sgin',
'/sckz/sckzzxt','/sbjm/sbjmsjkzxt','/jxgl/jxglsjkzxt','/szls/szlssjkzxt','/jxdsj/jxdsjzszxt',
'/ybgl/ybglsjkzxt','/mflgl/mflglsjkzxt','/ddcl/ddclzxt','/ddgl/ddglzxt','/dyhsc/dyhsczxt','/znyy/znyysczhgkzzrj',
'/znyyjc/znyycjrjxt','/gdgz/gdgzzxt','/shopping/shopHome','/shopping/clothType','/shopping/sirendingzhi',
'/shopping/ClothDetail','/shopping/person','/shopping/person','/shopping/order'] // no redirect whitelist
'/shopping/ClothDetail','/shopping/person','/shopping/person','/shopping/order','/shopping/chengyi','/shopping/news'] // no redirect whitelist
router.beforeEach((to, from, next) => {
NProgress.start() // start progress bar

@ -84,19 +84,20 @@
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-dropdown>
<!-- <a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a-menu-item>-->
<a @click="handleAddChild(record)">添加下级</a>
</a-menu-item>
<a-menu-item>
<a-divider type="vertical" />
<!-- </a-menu-item>
<a-menu-item>-->
<a-popconfirm title="确定删除吗?" @confirm="() => handleDeleteNode(record.id)" placement="topLeft">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
<!--</a-menu-item>
</a-menu>
</a-dropdown>
</a-dropdown>-->
</span>
</a-table>

@ -3,7 +3,7 @@
<j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="24">
<a-col :span="24" >
<a-form-model-item label="用户" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username">
<j-popup
v-model="model.username"
@ -29,12 +29,12 @@
/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-col :span="24" v-if="false">
<a-form-model-item label="当前单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="price">
<a-input v-model="model.price" placeholder="请输入当前单价" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-col :span="24" v-if="false">
<a-form-model-item label="收藏夹" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="collectTypeId">
<j-search-select-tag v-model="model.collectTypeId" dict="collect_type,collect_type_name,id" />
</a-form-model-item>
@ -76,6 +76,10 @@
},
confirmLoading: false,
validatorRules: {
goodsname: [
{ required: true, message: '请输入商品!'},
],
},
url: {
add: "/customercollectgoods/customercollectgoods/add",
@ -127,7 +131,7 @@
that.confirmLoading = false;
})
}
})
},
popupCallback(value,row){

@ -21,7 +21,7 @@
/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-col :span="24" v-if="false">
<a-form-model-item label="商品" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsId">
<j-search-select-tag v-model="model.goodsId" dict="zy_goods,goods_name,id" />
</a-form-model-item>
@ -41,17 +41,17 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodimg">
<j-image-upload isMultiple v-model="model.goodimg" ></j-image-upload>
<j-image-upload isMultiple v-model="model.goodimg" disabled></j-image-upload>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="款式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="styleId">
<j-search-select-tag v-model="model.styleId" dict="zy_cloths_style,type_name,id" />
<j-search-select-tag v-model="model.styleId" dict="zy_cloths_style,type_name,id" disabled/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="当前单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="price">
<a-input-number v-model="model.price" placeholder="请输入当前单价" style="width: 100%" />
<a-input-number v-model="model.price" placeholder="请输入当前单价" style="width: 100%" disabled/>
</a-form-model-item>
</a-col>
<a-col :span="24">
@ -61,12 +61,12 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="发货地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="placeorigin">
<a-input v-model="model.placeorigin" placeholder="请输入发货地址" ></a-input>
<a-input v-model="model.placeorigin" placeholder="请输入发货地址" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="总价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zj">
<a-input-number v-model="model.zj" placeholder="请输入总价" style="width: 100%" />
<a-input-number v-model="model.zj" placeholder="请输入总价" style="width: 100%" disabled/>
</a-form-model-item>
</a-col>
</a-row>
@ -74,6 +74,7 @@
</j-form-container>
</a-spin>
</template>
<script>
import { httpAction, getAction } from '@/api/manage'
@ -105,9 +106,15 @@
},
confirmLoading: false,
validatorRules: {
username: [
{ required: true, message: '请输入用户!'},
],
goodsname: [
{ required: true, message: '请输入商品!'},
],
number: [
{pattern: /^\d*\$/,message:'请输入大于0的数'},
{ required: true, message: '请输入数量!'},
{pattern: /^\d*$/,message:'请输入大于0的数'}
],
},
url: {
@ -163,6 +170,9 @@
})
},
popupCallback(value,row){
this.model = Object.assign(this.model, row);
},
}
}
</script>

@ -214,9 +214,15 @@ export default {
}else{
this.$message.warning(res.message);
}
this.loading = true;
setTimeout(()=>{
this.loading = false;
}, 2000);
// this.$emit('valueChange',1)
// this.close()
})
},
initDictConfig() {
},

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 3854415 */
src: url('iconfont.woff2?t=1673860163583') format('woff2'),
url('iconfont.woff?t=1673860163583') format('woff'),
url('iconfont.ttf?t=1673860163583') format('truetype');
src: url('iconfont.woff2?t=1675756284306') format('woff2'),
url('iconfont.woff?t=1675756284306') format('woff'),
url('iconfont.ttf?t=1675756284306') format('truetype');
}
.iconfont {
@ -13,6 +13,26 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-biaoqian1:before {
content: "\e60e";
}
.icon-xizhuang1:before {
content: "\e607";
}
.icon-dingzhi:before {
content: "\e651";
}
.icon-bijijilu:before {
content: "\e6f3";
}
.icon-jilu:before {
content: "\e69f";
}
.icon-weishoucang:before {
content: "\e603";
}

File diff suppressed because one or more lines are too long

@ -5,6 +5,41 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "7556872",
"name": "标签",
"font_class": "biaoqian1",
"unicode": "e60e",
"unicode_decimal": 58894
},
{
"icon_id": "7767642",
"name": "西装",
"font_class": "xizhuang1",
"unicode": "e607",
"unicode_decimal": 58887
},
{
"icon_id": "12975225",
"name": "定制",
"font_class": "dingzhi",
"unicode": "e651",
"unicode_decimal": 58961
},
{
"icon_id": "18406367",
"name": "笔记,记录",
"font_class": "bijijilu",
"unicode": "e6f3",
"unicode_decimal": 59123
},
{
"icon_id": "20710441",
"name": "记录",
"font_class": "jilu",
"unicode": "e69f",
"unicode_decimal": 59039
},
{
"icon_id": "9526741",
"name": "未收藏",

@ -12,10 +12,10 @@
<router-link to="/shopping/sirendingzhi" :style="{ color: fontColor }"
>私人定制</router-link
>
<router-link to="cytj" :style="{ color: fontColor }"
<router-link to="/shopping/chengyi" :style="{ color: fontColor }"
>成衣推荐</router-link
>
<router-link to="about" :style="{ color: fontColor }"
<router-link to="/shopping/news" :style="{ color: fontColor }"
>关于我们</router-link
>
</div>

@ -0,0 +1,518 @@
<template>
<!-- 服装类型-->
<div class="chengyi">
<Header fontColor="#000"></Header>
<div class="main">
<div class="jz d-flex">
<el-menu
class="el-menu-vertical-demo"
@select="handleSelet"
style="width: 10%; min-width: 140px"
:unique-opened="true"
>
<el-submenu v-for="(item, i) in typeData" :key="i" :index="item.id">
<template slot="title">
<i class="el-icon-male"></i>
<span>{{ item.name }}</span>
</template>
<el-submenu v-for="(j, i2) in item.childrens" :key="i2" :index="j.id">
<template slot="title">{{ j.name }}</template>
<el-menu-item v-for="(k, i3) in j.childrens" :key="i3" :index="k.id">{{ k.name }}</el-menu-item>
</el-submenu>
</el-submenu>
</el-menu>
<div class="right">
<div class="name d-flex">
<span>{{this.current.name}}</span>
<div class="d-flex">
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link">
排序<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="heat">热度</el-dropdown-item>
<!-- <el-dropdown-item command="esteem">评分</el-dropdown-item>-->
<el-dropdown-item command="high">价格降序</el-dropdown-item>
<el-dropdown-item command="low">价格升序</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- <div class="iconDiv d-flex">-->
<!-- <span>价格</span>-->
<!-- <div class="icon d-flex">-->
<!-- <i class="el-icon-arrow-up"></i>-->
<!-- <i class="el-icon-arrow-down"></i>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
<div class="clothDiv d-flex">
<div
class="item"
v-for="(item, index) in clothsList"
:key="index"
@click="clothDetails(item)"
>
<div class="imgDiv">
<img :src="item.imgUrl" alt="" />
</div>
<div class="clothTitle">
<p class="price d-flex">
<span class="f_16 c_333">{{ item.currentPrice }}</span>
<span class="f_12 c_999">{{ item.historicalPrice }}</span>
</p>
<p class="f_12 c_333">{{ item.title }}</p>
<p class="f_12 c_9a9b9b">热度{{ item.heat }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Header from '../components/Header/HeaderView'
let compareDown = function (prop) {
return function (obj1, obj2) {
var val1 = obj1[prop];
var val2 = obj2[prop];
if (val1 < val2) {
return 1;
} else if (val1 > val2) {
return -1;
} else {
return 0;
}
}
}
let compareUp = function (prop) {
return function (obj1, obj2) {
var val1 = obj1[prop];
var val2 = obj2[prop];
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
} else {
return 0;
}
}
}
export default {
name:"chengyi",
components: {Header},
data() {
return {
//
clothsList: [
{
id: 1,
imgUrl: require("../assets/cloth.png"),
currentPrice: 199,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3100,
},
{
id: 2,
imgUrl: require("../assets/cloth.png"),
currentPrice: 299,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3200,
},
{
id: 3,
imgUrl: require("../assets/cloth.png"),
currentPrice: 399,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3300,
},
{
id: 4,
imgUrl: require("../assets/cloth.png"),
currentPrice: 499,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3400,
},
{
id: 5,
imgUrl: require("../assets/cloth.png"),
currentPrice: 599,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3500,
},
{
id: 6,
imgUrl: require("../assets/cloth.png"),
currentPrice: 699,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3600,
},
{
id: 7,
imgUrl: require("../assets/cloth.png"),
currentPrice: 599,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3700,
},
{
id: 8,
imgUrl: require("../assets/cloth.png"),
currentPrice: 599,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3800,
},
{
id: 9,
imgUrl: require("../assets/cloth.png"),
currentPrice: 599,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat: 3900,
},
{
id: 10,
imgUrl: require("../assets/cloth.png"),
currentPrice: 599,
historicalPrice: 799,
title: "HOODIE 运动长袖连帽卫衣套头衫",
heat:4000,
},
],
//
typeData: [
{
id: '1',
name: "男装",
childrens: [
{
id: '11',
name: "上衣",
childrens: [
{
id: '111',
name: "衬衫",
},
{
id: '112',
name: "卫衣",
},
{
id: '113',
name: "Polo衫",
},
{
id: '114',
name: "针织衫",
},
],
},
{
id: '12',
name: "外套",
childrens: [
{
id: '121',
name: "夹克",
},
{
id: '122',
name: "羽绒服",
},
{
id: '123',
name: "风衣",
},
],
},
{
id: '13',
name: "裤子",
childrens: [
{
id: '131',
name: "休闲裤",
},
{
id: '132',
name: "西裤",
},
{
id: '133',
name: "工装裤",
},
{
id: '134',
name: "运动裤",
},
{
id: '135',
name: "卫裤",
},
{
id: '136',
name: "九分裤",
},
{
id: '137',
name: "短裤",
},
{
id: '138',
name: "哈伦裤",
},
],
},
],
},
{
id: '2',
name: "女装",
childrens: [
{
id: '21',
name: "上衣",
childrens: [
{
id: '211',
name: "衬衫",
},
{
id: '212',
name: "卫衣",
},
{
id: '213',
name: "Polo衫",
},
{
id: '214',
name: "针织衫",
},
],
},
{
id: '22',
name: "外套",
childrens: [
{
id: '221',
name: "夹克",
},
{
id: '222',
name: "羽绒服",
},
{
id: '223',
name: "风衣",
},
],
},
{
id: '23',
name: "裤子",
childrens: [
{
id: '231',
name: "休闲裤",
},
{
id: '232',
name: "西裤",
},
{
id: '233',
name: "工装裤",
},
{
id: '234',
name: "运动裤",
},
{
id: '235',
name: "卫裤",
},
{
id: '236',
name: "九分裤",
},
{
id: '237',
name: "短裤",
},
{
id: '238',
name: "哈伦裤",
},
],
},
],
},
],
//
current:{
id:'',
name:''
}
};
},
methods: {
findIndex(indexPath){
const indexa = this.typeData.findIndex((value, keys, arr) => {
return value.id == indexPath[0]
})
const indexb = this.typeData[indexa].childrens.findIndex((value, keys, arr) => {
return value.id == indexPath[1]
})
const indexc = this.typeData[indexa].childrens[indexb].childrens.findIndex((value, keys, arr) => {
return value.id == indexPath[2]
})
this.current.name = this.typeData[indexa].childrens[indexb].childrens[indexc].name
this.current.id = this.typeData[indexa].childrens[indexb].childrens[indexc].id
},
handleSelet(index,indexPath){
this.findIndex(indexPath)
},
clothDetails(item) {
this.$router.push({
path: "/shopping/ClothDetail",
query: { id: item.id, title: item.title },
});
},
handleCommand(command){
if(command == 'heat'){//
this.clothsList.sort(compareDown("heat"))
}
else if(command == 'high'){//
this.clothsList.sort(compareDown("currentPrice"))
}
// else if(command == 'esteem'){//
// this.clothsList.sort(compare("heat"))
// }
else if(command == 'low'){//
this.clothsList.sort(compareUp("currentPrice"))
}
}
},
}
</script>
<style scoped>
@import '../assets/common.css';
</style>
<style>
.chengyi .top .middle .router-link-exact-active.router-link-active {
border-bottom: 2px solid #000;
}
</style>
<style lang="less" scoped>
.chengyi {
.main {
padding-top: 100px;
.right {
width: 90%;
padding-left: 20px;
min-width: 1290px;
box-sizing: border-box;
.name {
height: 22px;
font-size: 22px;
line-height: 22px;
justify-content: space-between;
align-items: center;
color: #000;
margin-bottom: 20px;
.d-flex {
align-items: center;
.el-dropdown {
margin-right: 20px;
.el-dropdown-link {
color: #000;
cursor: pointer;
}
}
.iconDiv {
justify-content: space-between;
align-items: center;
font-size: 14px;
span {
margin-right: 5px;
}
.icon {
flex-direction: column;
align-items: center;
justify-content: center;
i {
font-size: 7px;
}
}
}
}
}
.clothDiv {
flex-wrap: wrap;
align-items: center;
.item {
width: 308px;
height: 562px;
margin-bottom: 30px;
margin-right: 10px;
.imgDiv {
position: relative;
img {
width: 308px;
height: 462px;
}
&:hover .button {
opacity: 1;
color: #fff;
}
.button {
position: absolute;
opacity: 0;
transition: all 0.3s linear;
width: 152px;
height: 51px;
line-height: 51px;
background: #000000;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
}
.clothTitle {
width: 100%;
height: 100px;
.price {
align-items: center;
padding-left: 6px;
.f_16 {
margin-right: 10px;
}
.f_12 {
text-decoration: line-through;
}
}
& > .f_12 {
font-weight: 600;
}
}
}
}
}
}
}
</style>

@ -13,24 +13,27 @@
<a-menu-item key="mail"> 我的账户 </a-menu-item>
<a-menu-item key="collect"> 我的收藏 </a-menu-item>
<a-menu-item key="addr"> 地址管理 </a-menu-item>
<a-sub-menu>
<a-sub-menu key="invoice">
<span slot="title" class="submenu-title-wrapper">发票管理<a-icon type="down" /></span>
<a-menu-item key="invoice:1">
<a-menu-item key="invoice1">
Option 1
</a-menu-item>
<a-menu-item key="invoice:2">
<a-menu-item key="invoice2">
Option 2
</a-menu-item>
<a-menu-item key="invoice:3">
<a-menu-item key="invoice3">
Option 3
</a-menu-item>
<a-menu-item key="invoice:4">
<a-menu-item key="invoice4">
Option 4
</a-menu-item>
</a-sub-menu>
<a-sub-menu>
<span slot="title" class="submenu-title-wrapper">全部订单<a-icon type="down" /></span>
<a-menu-item key="allorders">
全部订单
</a-menu-item>
<a-menu-item key="daizhifu">
待支付
</a-menu-item>
@ -46,7 +49,7 @@
</a-sub-menu>
</a-menu>
<div class="orderList">
<div class="orderList" >
<div class="item" v-for="(item,index) in allOrders" :key="index">
<div class="top d-flex">
<span>订单编号{{item.orderNum}}</span>
@ -91,7 +94,7 @@
data() {
return {
current: ['mail'],
allOrders:[
allOrders1:[
{
id:1,
orderNum:'CN172839729',
@ -119,6 +122,7 @@
total:5912
}
],
allOrders:[],
};
},
@ -127,8 +131,14 @@
console.log(key);
},
menuChange(key){
if(key == daizhifu){
// this.allOrders.forEach()
this.current.shift()
this.current.push(key.key)
console.log(this.allOrders)
if(key.key == 'allorders'){
console.log('----')
this.allOrders = this.allOrders1
console.log(this.allOrders)
}
}
},

@ -0,0 +1,34 @@
<template>
<div class="news">
<Header fontColor="#000"></Header>
<div style="padding-top: 88px">
新闻页面
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "../components/Header/HeaderView";
import Footer from "../components/Footer/FooterView"
export default {
name: "news",
components: { Header,Footer },
data() {
return {
};
},
methods: {
},
};
</script>
<!--<style>-->
<!-- .news .top .middle .router-link-exact-active.router-link-active {-->
<!-- border-bottom: 2px solid #000;-->
<!-- }-->
<!--</style>-->
<style lang="less" scoped>
@import '../assets/common.css';
</style>

@ -234,7 +234,7 @@
}
.info{
width: 43.33%;
padding-right: 10px;
padding-right: 15px;
.headline{
font-weight: 500;
}
@ -242,7 +242,7 @@
span{
margin-left: 10px;
display: inline-block;
width: 80%;
width: 75%;
}
}
}

@ -1,5 +1,5 @@
<template>
<!-- 首页-->
<!-- 首页-->
<div>
<Header/>
<div class="lunbotu">
@ -26,13 +26,18 @@
</div>
<div class="itemDiv d-flex">
<div
class="item d-flex"
class="item"
v-for="(item, index) in orderList"
:key="index"
>
<img :src="item.imgUrl" alt="" />
<span class="title_3">{{ item.title }}</span>
<span class="title_4">{{ item.desc }}</span>
<router-link :to="item.url" class="d-flex">
<!-- <img :src="item.imgUrl" alt="" />-->
<i :class="item.iconClass"></i>
<span class="title_3">{{ item.title }}</span>
<span class="title_4">{{ item.desc }}</span>
</router-link>
</div>
</div>
</div>
@ -81,21 +86,25 @@
<div slot="nextArrow" slot-scope="props" class="custom-slick-arrow" style="right: 10px">
<a-icon type="right-circle" />
</div>
<div class="box" v-for="(item, index) in clothList2" :key="index">
<img :src="item.imgUrl" alt="" />
<p class="box1">CLOTHING NAM</p>
<p class="box2">15分钟前定制</p>
</div>
<div class="box" v-for="(item, index) in clothList2" :key="index">
<img :src="item.imgUrl" alt="" />
<p class="box1">CLOTHING NAM</p>
<p class="box2">15分钟前定制</p>
</div>
</a-carousel>
<!-- <el-carousel type="card" arrow="always">-->
<!-- <el-carousel-item v-for="(item, index) in clothList2" :key="index">-->
<!-- <div class="box">-->
<!-- <img :src="item.imgUrl" alt="" />-->
<!-- <p class="box1">CLOTHING NAM</p>-->
<!-- <p class="box2">15分钟前定制</p>-->
<!-- </div>-->
<!-- </el-carousel-item>-->
<!-- </el-carousel>-->
<div class="more d-flex" style="padding-top: 20px">
<a href="/#/shopping/chengyi">更多推荐</a>
<img src="./assets/youjiantou.png" alt="" />
</div>
<!-- <el-carousel type="card" arrow="always">-->
<!-- <el-carousel-item v-for="(item, index) in clothList2" :key="index">-->
<!-- <div class="box">-->
<!-- <img :src="item.imgUrl" alt="" />-->
<!-- <p class="box1">CLOTHING NAM</p>-->
<!-- <p class="box2">15分钟前定制</p>-->
<!-- </div>-->
<!-- </el-carousel-item>-->
<!-- </el-carousel>-->
</div>
</div>
<div class="section5">
@ -110,11 +119,11 @@
<div class="jz d-flex">
<div
class="item d-flex"
v-for="(item, index) in nanzhuang1"
v-for="(item, index) in nanzhuang"
:key="index"
>
<img :src="item.imgUrl" alt="" />
<p>
<p class="title_6">
{{ item.title1 }}<span class="line">|</span>{{ item.title1 }}
</p>
<div>
@ -129,32 +138,7 @@
</div>
</div>
<div class="more d-flex">
<a href="#">更多衬衫</a>
<img src="./assets/youjiantou.png" alt="" />
</div>
<div class="jz d-flex">
<div
class="item d-flex"
v-for="(item, index) in nanzhuang2"
:key="index"
>
<img :src="item.imgUrl" alt="" />
<p>
{{ item.title1 }}<span class="line">|</span>{{ item.title1 }}
</p>
<div>
<el-tag type="warning" size="small">{{ item.tag1 }}</el-tag
><el-tag type="warning" size="small">{{ item.tag2 }}</el-tag>
</div>
<p class="priceDiv d-flex">
<span class="f_18"
><span class="f_24">{{ item.price }}</span></span
><span class="f_12">已售{{ item.sold }}</span>
</p>
</div>
</div>
<div class="more d-flex">
<a href="#">更多西装</a>
<router-link to="/shopping/clothType">更多男装</router-link>
<img src="./assets/youjiantou.png" alt="" />
</div>
</el-tab-pane>
@ -162,32 +146,7 @@
<div class="jz d-flex">
<div
class="item d-flex"
v-for="(item, index) in nvzhuang1"
:key="index"
>
<img :src="item.imgUrl" alt="" />
<p>
{{ item.title1 }}<span class="line">|</span>{{ item.title1 }}
</p>
<div>
<el-tag type="warning" size="small">{{ item.tag1 }}</el-tag
><el-tag type="warning" size="small">{{ item.tag2 }}</el-tag>
</div>
<p class="priceDiv d-flex">
<span class="f_18"
><span class="f_24">{{ item.price }}</span></span
><span class="f_12">已售{{ item.sold }}</span>
</p>
</div>
</div>
<div class="more d-flex">
<a href="#">更多衬衫</a>
<img src="./assets/youjiantou.png" alt="" />
</div>
<div class="jz d-flex">
<div
class="item d-flex"
v-for="(item, index) in nvzhuang1"
v-for="(item, index) in nvzhuang"
:key="index"
>
<img :src="item.imgUrl" alt="" />
@ -206,7 +165,7 @@
</div>
</div>
<div class="more d-flex">
<a href="#">更多西装</a>
<router-link to="/shopping/clothType">更多女装</router-link>
<img src="./assets/youjiantou.png" alt="" />
</div>
</el-tab-pane>
@ -214,7 +173,7 @@
<div class="jz d-flex">
<div
class="item d-flex"
v-for="(item, index) in tongzhuang1"
v-for="(item, index) in tongzhuang"
:key="index"
>
<img :src="item.imgUrl" alt="" />
@ -233,49 +192,30 @@
</div>
</div>
<div class="more d-flex">
<a href="#">更多衬衫</a>
<img src="./assets/youjiantou.png" alt="" />
</div>
<div class="jz d-flex">
<div
class="item d-flex"
v-for="(item, index) in tongzhuang2"
:key="index"
>
<img :src="item.imgUrl" alt="" />
<p>
{{ item.title1 }}<span class="line">|</span>{{ item.title1 }}
</p>
<div>
<el-tag type="warning" size="small">{{ item.tag1 }}</el-tag
><el-tag type="warning" size="small">{{ item.tag2 }}</el-tag>
</div>
<p class="priceDiv d-flex">
<span class="f_18"
><span class="f_24">{{ item.price }}</span></span
><span class="f_12">已售{{ item.sold }}</span>
</p>
</div>
</div>
<div class="more d-flex">
<a href="#">更多西装</a>
<router-link to="/shopping/clothType">更多童装</router-link>
<img src="./assets/youjiantou.png" alt="" />
</div>
</el-tab-pane>
</el-tabs>
</div>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from './components/Header/HeaderView'
import Footer from './components/Footer/FooterView'
import { httpAction, getAction } from '@/api/manage'
export default {
name: "shopHome",
components: { Header },
components: { Header ,Footer},
data() {
return {
vh: 0,
activeName: "first",
url: {
zxdz: "/zygoods/zyGoods/zxdz",
},
//
imgList: [
require("./assets/bg.png"),
@ -285,25 +225,36 @@
orderList: [
{
id: 1,
imgUrl: require("./assets/order01.png"),
url:'/shopping/clothType',
// imgUrl: require("./assets/order01.png"),
iconClass:'iconfont icon-biaoqian1',
title: "服装类型",
desc: "丰富款式 多样呈现",
},
{
id: 2,
imgUrl: require("./assets/order02.png"),
url:'/shopping/sirendingzhi',
// imgUrl: require("./assets/order02.png"),
iconClass:'iconfont icon-dingzhi',
title: "私人订制",
desc: "丰富款式 多样呈现",
},
{
id: 3,
imgUrl: require("./assets/order03.png"),
url:'/shopping/chengyi',
// imgUrl: require("./assets/order03.png"),
iconClass:'iconfont icon-xizhuang1',
title: "成衣推荐",
desc: "丰富款式 多样呈现",
},
{
id: 4,
imgUrl: require("./assets/order04.png"),
url:'/shopping/news',
// imgUrl: require("./assets/order04.png"),
iconClass:'iconfont icon-bijijilu',
title: "关于我们",
desc: "丰富款式 多样呈现",
},
@ -314,7 +265,7 @@
id: 1,
imgUrl: require("./assets/cloth01.png"),
title1: "西装定制",
title2: "立领高端西装",
title2: "立领高端西装立领高端西装立领高端西装",
price: "1xx0.00",
},
{
@ -367,7 +318,7 @@
time: 15,
},
],
nanzhuang1: [
nanzhuang: [
{
id: 1,
imgUrl: require("./assets/cloth002.png"),
@ -418,10 +369,8 @@
price: "1xx0.00",
sold: 200,
},
],
nanzhuang2: [
{
id: 1,
id: 6,
imgUrl: require("./assets/cloth002.png"),
title1: "男装",
title2: "衬衫",
@ -431,7 +380,7 @@
sold: 200,
},
{
id: 2,
id: 7,
imgUrl: require("./assets/cloth002.png"),
title1: "男装",
title2: "衬衫",
@ -441,7 +390,7 @@
sold: 200,
},
{
id: 3,
id: 8,
imgUrl: require("./assets/cloth002.png"),
title1: "男装",
title2: "衬衫",
@ -451,7 +400,7 @@
sold: 200,
},
{
id: 4,
id: 9,
imgUrl: require("./assets/cloth002.png"),
title1: "男装",
title2: "衬衫",
@ -461,7 +410,7 @@
sold: 200,
},
{
id: 5,
id: 10,
imgUrl: require("./assets/cloth002.png"),
title1: "男装",
title2: "衬衫",
@ -471,7 +420,7 @@
sold: 200,
},
],
nvzhuang1: [
nvzhuang: [
{
id: 1,
imgUrl: require("./assets/cloth002.png"),
@ -522,10 +471,8 @@
price: "1xx0.00",
sold: 200,
},
],
nvzhuang2: [
{
id: 1,
id: 6,
imgUrl: require("./assets/cloth002.png"),
title1: "女装",
title2: "衬衫",
@ -535,7 +482,7 @@
sold: 200,
},
{
id: 2,
id: 7,
imgUrl: require("./assets/cloth002.png"),
title1: "女装",
title2: "衬衫",
@ -545,7 +492,7 @@
sold: 200,
},
{
id: 3,
id: 8,
imgUrl: require("./assets/cloth002.png"),
title1: "女装",
title2: "衬衫",
@ -555,7 +502,7 @@
sold: 200,
},
{
id: 4,
id: 9,
imgUrl: require("./assets/cloth002.png"),
title1: "女装",
title2: "衬衫",
@ -565,7 +512,7 @@
sold: 200,
},
{
id: 5,
id: 10,
imgUrl: require("./assets/cloth002.png"),
title1: "女装",
title2: "衬衫",
@ -575,7 +522,7 @@
sold: 200,
},
],
tongzhuang1: [
tongzhuang: [
{
id: 1,
imgUrl: require("./assets/cloth002.png"),
@ -626,10 +573,8 @@
price: "1xx0.00",
sold: 200,
},
],
tongzhuang2: [
{
id: 1,
id: 6,
imgUrl: require("./assets/cloth002.png"),
title1: "童装",
title2: "衬衫",
@ -639,7 +584,7 @@
sold: 200,
},
{
id: 2,
id: 7,
imgUrl: require("./assets/cloth002.png"),
title1: "童装",
title2: "衬衫",
@ -649,7 +594,7 @@
sold: 200,
},
{
id: 3,
id: 8,
imgUrl: require("./assets/cloth002.png"),
title1: "童装",
title2: "衬衫",
@ -659,7 +604,7 @@
sold: 200,
},
{
id: 4,
id: 9,
imgUrl: require("./assets/cloth002.png"),
title1: "童装",
title2: "衬衫",
@ -669,7 +614,7 @@
sold: 200,
},
{
id: 5,
id: 10,
imgUrl: require("./assets/cloth002.png"),
title1: "童装",
title2: "衬衫",
@ -683,6 +628,14 @@
},
mounted() {
this.vh = window.screen.availHeight - 100;
getAction(this.url.zxdz).then((res) => {
if (res.success) {
console.log(res.result);
this.clothList = res.result;
}else{
this.$message.error(res.message);
}
})
},
}
</script>
@ -805,9 +758,30 @@
.section2 .itemDiv {
justify-content: space-around;
}
.section2 .itemDiv .item {
.section2 .itemDiv .item a{
flex-direction: column;
align-items: center;
justify-content: center;
width: 336px;
height: 336px;
color: #333;
transition: all 0.2s;
}
.section2 .itemDiv .item a i{
font-size: 100px;
color: #746957;
}
.section2 .itemDiv .item a:hover i{
color: #fff;
}
.section2 .itemDiv .item a:hover .title_3,.section2 .itemDiv .item a:hover .title_4{
color: #746957;
}
.section2 .itemDiv .item a:hover{
background: #EEE6D9;
border: 1px dashed #919190;
}
.section2 .itemDiv .item .title_3 {
margin: 20px 0;
@ -843,6 +817,9 @@
}
.section3 .itemDiv .item .titleDiv {
font-size: 30px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.section3 .itemDiv .item .titleDiv span {
margin-left: 10px;
@ -877,7 +854,7 @@
}
.section5 .more {
margin-bottom: 50px;
margin-top: 50px;
/*margin-top: 50px;*/
}
.section5 .tabs >>> .el-tabs__item.is-top {
font-size: 26px;
@ -887,6 +864,7 @@
}
.section5 .tabs .jz {
justify-content: space-between;
flex-wrap: wrap;
}
.section5 .tabs .jz .item {
background-color: #fff;
@ -894,15 +872,20 @@
flex-direction: column;
align-items: center;
padding-bottom: 30px;
margin-bottom: 30px;
}
.section5 .tabs .jz .item img {
width: 80%;
}
.section5 .tabs .jz .item p {
width: 100%;
box-sizing: border-box;
text-overflow: ellipsis;
padding-left: 28px;
padding-right: 28px;
box-sizing: border-box;
overflow: hidden;
text-align: left;
white-space: nowrap;
}
.section5 .tabs .jz .item p .line {
margin-left: 8px;
@ -927,4 +910,4 @@
color: rgba(116, 105, 87, 0.6);
}
/* -----------------------第五部分完成----------------------------------------------------------------------------------------- */
</style>
</style>

@ -118,9 +118,13 @@ public class CustomerShoppingCartController extends JeecgController<CustomerShop
@ApiOperation(value="购物车-添加", notes="购物车-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody CustomerShoppingCart customerShoppingCart) {
customerShoppingCart.setZj(customerShoppingCart.getNumber() * customerShoppingCart.getPrice());
customerShoppingCartService.save(customerShoppingCart);
return Result.OK("添加成功!");
if(customerShoppingCart.getPrice()==null){
return Result.error("商品无单价");
} else {
customerShoppingCart.setZj(customerShoppingCart.getNumber() * customerShoppingCart.getPrice());
customerShoppingCartService.save(customerShoppingCart);
return Result.OK("添加成功!");
}
}
/**

@ -97,7 +97,10 @@ public class ZyMakerController extends JeecgController<ZyMaker, IZyMakerService>
@PostMapping(value = "/listMakerAdd")
public Result<?> listMakerAdd() {
//点击制单 点击后按产品模块分解成制单写入制单表
zyMakerService.listMakerAdd();
int distinct = zyMakerService.listMakerAdd();
if (distinct == 0){
return Result.error("已成功添加,不用重复添加");
}
//zyMakerService.save(zyMaker);
return Result.OK("添加成功!");
}

@ -56,6 +56,7 @@ public class ZyMaker implements Serializable {
// @ApiModelProperty(value = "所属部门")
// private String sysOrgCode;
/**制单编号*/
//制单编号 工单编号(22)+顺序号(2)
@Excel(name = "制单编号", width = 15)
@ApiModelProperty(value = "制单编号")
private String code;

@ -14,7 +14,7 @@ import java.util.List;
public interface IZyMakerService extends IService<ZyMaker> {
//点击制单 点击后按产品模块分解成制单写入制单表
void listMakerAdd();
int listMakerAdd();
List<ZyMaker> ZyMakerVo(List<ZyMaker> records);
}

@ -1,6 +1,5 @@
package org.jeecg.modules.maker.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.jeecg.modules.maker.entity.ZyMaker;
import org.jeecg.modules.maker.mapper.ZyMakerMapper;
import org.jeecg.modules.maker.service.IZyMakerService;
@ -18,8 +17,8 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@ -41,18 +40,41 @@ public class ZyMakerServiceImpl extends ServiceImpl<ZyMakerMapper, ZyMaker> impl
////点击制单 点击后按产品模块分解成制单写入制单表
@Override
public void listMakerAdd() {
public int listMakerAdd() {
int distinct = 0;
//先拿到所有产品 产品暂定为服装款式里面的数据
List<WorkOrder> workOrderList = workOrderService.list();
for (WorkOrder workOrder : workOrderList) {
ZyMaker maker = new ZyMaker();
//制单编号 工单编号(22)+顺序号(2)
maker.setCode(getMakerCode(workOrder.getProductCode()));
//工单编号
maker.setWorkerCode(workOrder.getProductCode());
this.save(maker);
List<ZyMaker> makerList = this.list();
List<String> workOrderCollect = workOrderList.stream().map(WorkOrder::getProductCode).collect(Collectors.toList());
//List<String> collect = makerList.stream().map(ZyMaker::getWorkerCode).collect(Collectors.toList());
//HashSet<String> codeHashSet = new HashSet<>(collect);
HashSet<String> codeHashSet = makerList.stream().map(ZyMaker::getWorkerCode).collect(Collectors.toCollection(HashSet::new));
for (String productCode : workOrderCollect) {
if (codeHashSet.add(productCode)) {
distinct = distinct + 1;
ZyMaker maker = new ZyMaker();
//制单编号 工单编号(22)+顺序号(2)
String code =productCode+getMakerCode(productCode);
maker.setCode(code);
//工单编号
maker.setWorkerCode(productCode);
this.save(maker);
}
}
// for (WorkOrder workOrder : workOrderList) {
// ZyMaker maker = new ZyMaker();
// //制单编号 工单编号(22)+顺序号(2)
// String code = workOrder.getProductCode()+getMakerCode(workOrder.getProductCode());
// maker.setCode(code);
// //工单编号
// maker.setWorkerCode(workOrder.getProductCode());
// this.save(maker);
// }
return distinct;
}
@Override

@ -7,6 +7,7 @@ import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -69,6 +70,9 @@ public class ZyProductProcess implements Serializable {
@ApiModelProperty(value = "序号")
private Integer number;
@TableField(exist = false)
private String productCode;
@TableField(exist = false)
private String processCode;
}

Loading…
Cancel
Save