Merge remote-tracking branch 'origin/master'

zhc4dev
赵玉瑞 2 years ago
commit b182b7a1ec
  1. 4
      ant-design-vue-jeecg/src/config/router.config.js
  2. 41
      ant-design-vue-jeecg/src/views/customerpayment/admin/CustomerPaymentList.vue
  3. 6
      ant-design-vue-jeecg/src/views/customerpayment/admin/modules/CustomerPaymentForm.vue
  4. 264
      ant-design-vue-jeecg/src/views/customerpayment/admin/modules/CustomerPaymentList1.vue
  5. 60
      ant-design-vue-jeecg/src/views/customerpayment/admin/modules/CustomerPaymentModal1.vue
  6. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/bg05.png
  7. 4
      ant-design-vue-jeecg/src/views/shopping/assets/common.css
  8. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/details01.png
  9. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/details02.png
  10. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/details03.png
  11. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/details04.png
  12. 26
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.css
  13. 2
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.js
  14. 35
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.json
  15. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.ttf
  16. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.woff
  17. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/iconfont/iconfont.woff2
  18. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/photo.png
  19. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/selected01.png
  20. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/selected02.png
  21. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/selected03.png
  22. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/selected04.png
  23. BIN
      ant-design-vue-jeecg/src/views/shopping/assets/selected05.png
  24. 2
      ant-design-vue-jeecg/src/views/shopping/components/Header/HeaderView.vue
  25. 412
      ant-design-vue-jeecg/src/views/shopping/pages/clothDetail.vue
  26. 93
      ant-design-vue-jeecg/src/views/shopping/pages/gerenzhongxin.vue
  27. 40
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/customerpayment/controller/CustomerPaymentController.java
  28. 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/customerpayment/entity/CustomerPayment.java
  29. 16
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/customerpayment/mapper/CustomerPaymentMapper.java
  30. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/customerpayment/service/ICustomerPaymentService.java
  31. 35
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/customerpayment/service/impl/CustomerPaymentServiceImpl.java

@ -642,4 +642,8 @@ export const constantRouterMap = [
path: '/shopping/views/ClothDetail',//这里是你需要设置新窗口打开的页面的路径s
component: () => import('@/views/shopping/pages/clothDetail'),
},
{
path: '/shopping/views/person',//这里是你需要设置新窗口打开的页面的路径s
component: () => import('@/views/shopping/pages/gerenzhongxin'),
},
]

@ -100,27 +100,21 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="paixu(record)">排序</a>
<a-divider type="vertical" />
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a @click="handleDetail(record)">详情</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</span>
</a-table>
</div>
<customer-payment-modal1 ref="modalFormpaixu" @ok="modalFormOk"></customer-payment-modal1>
<customer-payment-modal ref="modalForm" @ok="modalFormOk"></customer-payment-modal>
</a-card>
</template>
@ -131,13 +125,15 @@
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import CustomerPaymentModal from './modules/CustomerPaymentModal'
import CustomerPaymentModal1 from './modules/CustomerPaymentModal1'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
export default {
name: 'CustomerPaymentList',
mixins:[JeecgListMixin, mixinDevice],
components: {
CustomerPaymentModal
CustomerPaymentModal,
CustomerPaymentModal1
},
data () {
return {
@ -161,6 +157,12 @@
align:"center",
dataIndex: 'userId_dictText'
},
{
title:'排序',
align:"center",
sorter: true,
dataIndex: 'sort'
},
{
title:'支付类型',
align:"center",
@ -201,6 +203,8 @@
}
],
url: {
up: "/customerpayment/customerPayment/up",
down: "/customerpayment/customerPayment/down",
list: "/customerpayment/customerPayment/list",
delete: "/customerpayment/customerPayment/delete",
deleteBatch: "/customerpayment/customerPayment/deleteBatch",
@ -221,6 +225,11 @@
},
},
methods: {
paixu: function (record) {
this.$refs.modalFormpaixu.edit(record.userId);
this.$refs.modalFormpaixu.title = record.userId_dictText+"测体管理";
this.$refs.modalFormpaixu.disableSubmit = false;
},
initDictConfig(){
},
getSuperFieldList(){

@ -16,6 +16,12 @@
/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="排序" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sort">
<a-input-number v-model="model.sort" placeholder="请输入排序" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="支付类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="paymentType">
<j-dict-select-tag type="radio" v-model="model.paymentType" dictCode="zflx" placeholder="请选择支付类型" />

@ -0,0 +1,264 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<!-- <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="用户">
<j-search-select-tag placeholder="请选择用户" v-model="queryParam.userId" dict="sys_user,realname,id"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="支付类型">
<j-dict-select-tag placeholder="请选择支付类型" v-model="queryParam.paymentType" dictCode="zflx"/>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="账号/卡号">
<a-input placeholder="请输入账号/卡号" v-model="queryParam.accountNo"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="开户银行">
<j-search-select-tag placeholder="请选择开户银行" v-model="queryParam.bankDeposit" dict="zybank,bankname,id"/>
</a-form-item>
</a-col>
</template>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>-->
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<!--<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
<a-button type="primary" icon="download" @click="handleExportXls('顾客支付信息管理')">导出</a-button>
<!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>-->
<!-- 高级查询区域 -->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<!--<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>-->
</div>
<!-- table区域-begin -->
<div>
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>-->
<a-table
ref="table"
size="middle"
:scroll="{x:true}"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange">
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</template>
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
@click="downloadFile(text)">
下载
</a-button>
</template>
<span slot="action" slot-scope="text, record">
<a @click="up(record.id)">升序</a>
<a-divider type="vertical" />
<a @click="down(record.id)">降序</a>
<a-divider type="vertical" />
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</span>
</a-table>
</div>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
export default {
name: 'CustomerPaymentList1',
mixins:[JeecgListMixin, mixinDevice],
components: {
},
data () {
return {
description: '顾客支付信息管理管理页面',
//
columns: [
{
title: '#',
dataIndex: '',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
}
},
{
title:'用户',
align:"center",
dataIndex: 'userId_dictText'
},
{
title:'支付类型',
align:"center",
dataIndex: 'paymentType_dictText'
},
{
title:'账号/卡号',
align:"center",
dataIndex: 'accountNo'
},
{
title:'开户银行',
align:"center",
dataIndex: 'bankDeposit_dictText'
},
{
title:'开户支行',
align:"center",
dataIndex: 'bankzh'
},
{
title:'创建人',
align:"center",
dataIndex: 'createBy'
},
{
title:'创建日期',
align:"center",
dataIndex: 'createTime'
},
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: "/customerpayment/customerPayment/list1",
delete: "/customerpayment/customerPayment/delete",
deleteBatch: "/customerpayment/customerPayment/deleteBatch",
exportXlsUrl: "/customerpayment/customerPayment/exportXls",
importExcelUrl: "customerpayment/customerPayment/importExcel",
},
dictOptions:{},
superFieldList:[],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
up(id){
getAction(this.url.up,{id:id}).then((res)=>{
if(res.success){
this.loadData();
this.$message.success(res.message);
}else{
this.$message.warning(res.message);
}
})},
down(id){
getAction(this.url.down,{id:id}).then((res)=>{
if(res.success){
this.loadData();
this.$message.success(res.message);
}else{
this.$message.warning(res.message);
}
})},
edit (id) {
console.log("+++++++++")
console.log("========================================")
/*this.queryParam.userId=this.id;*/
this.queryParam.userId=id,
this.url.list='/customerpayment/customerPayment/list1'
this.loadData();
this.visible = true;
},
initDictConfig(){
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'createBy',text:'创建人',dictCode:''})
fieldList.push({type:'datetime',value:'createTime',text:'创建日期'})
fieldList.push({type:'string',value:'updateBy',text:'更新人',dictCode:''})
fieldList.push({type:'datetime',value:'updateTime',text:'更新日期'})
fieldList.push({type:'sel_search',value:'userId',text:'用户',dictTable:'sys_user', dictText:'realname', dictCode:'id'})
fieldList.push({type:'popup',value:'username',text:'用户', popup:{code:'findcust',field:'id',orgFields:'id',destFields:'user_id'}})
fieldList.push({type:'string',value:'paymentType',text:'支付类型',dictCode:'zflx'})
fieldList.push({type:'string',value:'accountNo',text:'账号/卡号',dictCode:''})
fieldList.push({type:'string',value:'bankDeposit',text:'开户银行',dictCode:''})
this.superFieldList = fieldList
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -0,0 +1,60 @@
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
switchFullscreen
@ok="handleOk"
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<customer-payment-list1 ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></customer-payment-list1>
</j-modal>
</template>
<script>
import CustomerPaymentList1 from './CustomerPaymentList1'
export default {
name: 'CustomerPaymentModal1',
components: {
CustomerPaymentList1
},
data () {
return {
title:'',
width:800,
visible: false,
disableSubmit: false
}
},
methods: {
add () {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.add();
})
},
edit (id) {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.edit(id);
})
},
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleCancel () {
this.close()
}
}
}
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

@ -91,3 +91,7 @@ a {
.c_9a9b9b {
color: #9A9B9B;
}
.c_1B {
color: #1B1B1B;
}
.textfield {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 KiB

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 3854415 */
src: url('iconfont.woff2?t=1673012900302') format('woff2'),
url('iconfont.woff?t=1673012900302') format('woff'),
url('iconfont.ttf?t=1673012900302') format('truetype');
src: url('iconfont.woff2?t=1673860163583') format('woff2'),
url('iconfont.woff?t=1673860163583') format('woff'),
url('iconfont.ttf?t=1673860163583') format('truetype');
}
.iconfont {
@ -13,6 +13,26 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-weishoucang:before {
content: "\e603";
}
.icon-yishoucang:before {
content: "\e614";
}
.icon-ic_jia:before {
content: "\e608";
}
.icon-zanting:before {
content: "\e640";
}
.icon-biaoqian:before {
content: "\e63d";
}
.icon-sousuo:before {
content: "\e622";
}

File diff suppressed because one or more lines are too long

@ -5,6 +5,41 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "9526741",
"name": "未收藏",
"font_class": "weishoucang",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "9526824",
"name": "已收藏",
"font_class": "yishoucang",
"unicode": "e614",
"unicode_decimal": 58900
},
{
"icon_id": "5219331",
"name": "衣架",
"font_class": "ic_jia",
"unicode": "e608",
"unicode_decimal": 58888
},
{
"icon_id": "887983",
"name": "暂停",
"font_class": "zanting",
"unicode": "e640",
"unicode_decimal": 58944
},
{
"icon_id": "1305451",
"name": "标签",
"font_class": "biaoqian",
"unicode": "e63d",
"unicode_decimal": 58941
},
{
"icon_id": "1304890",
"name": "搜索",

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@ -24,7 +24,7 @@
<!-- <img src="@/assets/sousuo.png" alt="" /> -->
<span class="iconfont icon-sousuo" :style="{ color: fontColor }"></span>
</router-link>
<router-link to="person">
<router-link to="/shopping/views/person">
<!-- <img src="@/assets/gerenzhongxin.png" alt=""/> -->
<span
class="iconfont icon-gerenzhongxin"

@ -1,20 +1,203 @@
<template>
<div class="clothDetails">
<Header fontColor="#000"></Header>
<div class="detailDiv">
详情页衣服id{{ this.$route.query.id }} 详情页衣服title{{
this.$route.query.title
}}
<div class="jz menu d-flex">
<el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: '/shopping/views/clothType' }">服装类型</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/shopping/views/clothType' }">男装</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/shopping/views/clothType' }">裤子</el-breadcrumb-item>
<el-breadcrumb-item>{{
this.$route.query.title
}}</el-breadcrumb-item>
</el-breadcrumb>
<div class="collect d-flex">
<span v-if="collectFlag" class="iconfont icon-weishoucang"></span>
<span v-else class="iconfont icon-yishoucang"></span>
<span>点击收藏{{popularity}}人气</span>
</div>
</div>
<div class="detailDiv jz d-flex">
<!-- 详情页衣服id{{ this.$route.query.id }} 详情页衣服title{{-->
<!-- this.$route.query.title-->
<!-- }} -->
<div class="l">
<a-carousel arrows dots-class="slick-dots slick-thumb">
<a slot="customPaging" slot-scope="props">
<img src="../assets/details02.png" />
</a>
<div v-for="(item,index) in baseUrl" :key="index">
<img :src="item" />
</div>
</a-carousel>
</div>
<div class="r">
<div class="title f_20">{{title}}</div>
<p class="sales f_12">销量{{sales}}</p>
<p class="price f_14 c_333">价格<span class="f_20">¥{{price}}</span></p>
<p class="favour f_14 c_333">优惠<span class="f_12">{{favour}}</span></p>
<p class="sell f_14 c_333 d-flex">促销<span class="f_14">{{sell}}</span><span class="button">详情>>></span></p>
<div class="line"></div>
<div class="color f_14">颜色:{{color}} </div>
<a-radio-group v-model="radioValue" @change="onChange">
<a-radio :value="1">
</a-radio>
<a-radio :value="2">
</a-radio>
<a-radio :value="3">
</a-radio>
</a-radio-group>
<div class="size f_14">尺码:<a>尺码参照表</a> | <i class="iconfont icon-ic_jia"></i> <span class="c_333 f_14">找到您的尺寸</span></div>
<div class="sizeDiv d-flex">
<span class="item f_16" v-for="(item,index) in sizeList" :key="index">{{item.size}}</span>
</div>
<div class="line"></div>
<div class="serve f_16 c_1B">免费配送与退货服务<span class="button">更多详情</span></div>
<div class="line"></div>
<div class="stages f_16 c_1B">使用花呗分期最低每月¥1182.50<span class="button c_1B">详细说明</span></div>
<div class="d-flex btnDiv">
<div class="dialogButton primary f_14">加入购物袋</div>
<div type="primary" class="dialogButton default f_14">立即购买</div></div>
</div>
</div>
<div class="selected jz">
<div class="title f_16 c_333">已选</div>
<div class="selectedCloth d-flex">
<div class="item" v-for="(item,index) in selectedClothList" :key="index">
<img :src="item.url">
<p class="c_333">{{item.text}}</p>
</div>
</div>
</div>
<div class="detail jz">
<div class="title d-flex">
<span class="c_fff">商品介绍</span>
<span class="c_fff">加入购物车</span>
</div>
<table>
<tr>
<td class="textfield">商品名称{{clothDetail.name}}</td>
<td>商品编号{{clothDetail.num}}</td>
<td>风格{{clothDetail.style}}</td>
<td>商品毛重{{clothDetail.weight}}</td>
</tr>
<tr>
<td>货号{{clothDetail.itemNo}}</td>
<td>领型{{clothDetail.collar}}</td>
<td>材质{{clothDetail.material}}</td>
<td>适用场景{{clothDetail.scene}}</td>
</tr>
<tr>
<td>版型{{clothDetail.type}}</td>
<td>衣门襟{{clothDetail.placket}}</td>
<td>开衩设计{{clothDetail.slit}}</td>
<td>适用人群{{clothDetail.people}}</td>
</tr>
</table>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "../components/Header/HeaderView";
import Footer from "../components/Footer/FooterView"
export default {
name: "clothDetail",
components: { Header },
components: { Header,Footer },
data() {
return {};
return {
radioValue: 1,
collectFlag:false,//
popularity:0,//
title:'【西服定制】定制西装男套装结婚西装婚礼伴郎订婚正装新郎西服套装夏季 款式仅供参考 一人一版量身定制',//
sales:2342,//
price:13200.00,//
favour:'满1100减300',//
sell:'每满300元,可减40元现金,每满600元,可减80元现金,最多可减40000元 | 距结束还剩',//
color:'黑色',//
sizeList:[
{
id:1,
size:"XXS"
},
{
id:2,
size:"XS"
},
{
id:3,
size:"S"
},
{
id:4,
size:"M"
},
{
id:5,
size:"L"
},
{
id:6,
size:"XL"
},
{
id:7,
size:"XXL"
},
],
selectedClothList:[
{
id:1,
text:'明门襟',
url:require("../assets/selected04.png")
},
{
id:2,
text:'大八字领',
url:require("../assets/selected02.png")
},
{
id:3,
text:'无口袋',
url:require("../assets/selected05.png")
},
{
id:4,
text:'边褶不收省',
url:require("../assets/selected03.png")
},
{
id:5,
text:'礼服圆角',
url:require("../assets/selected01.png")
},
],//
clothDetail:{
name:'【西服定制】定制西装男套装结婚西装婚礼伴郎订婚正装新郎西服套装夏季 款式仅供参考 一人一版量身定制',
num:10053909681884,
style:'通勤风',
weight:'1.0Kg',
itemNo:'3680婚庆西服',
collar:'青果领',
material:'羊毛100%',
scene:'婚礼,宴会',
type:'标准型',
placket:'单排扣',
slit:'后中开衩',
people:'青年'
},//
baseUrl:[require("../assets/details01.png"),require("../assets/details02.png"),require("../assets/details03.png"),require("../assets/details04.png"),]
};
},
methods: {
onChange(e) {
console.log('radio checked', e.target.value);
},
},
};
</script>
@ -24,9 +207,224 @@
}
</style>
<style lang="less" scoped>
@import '../assets/common.css';
.clothDetails {
.detailDiv {
.menu{
justify-content: space-between;
padding-top: 100px;
.collect{
&:hover .iconfont{
color: red;
}
align-items: center;
font-size: 14px;
span{
margin-right: 5px;
vertical-align: top;
}
}
}
.detailDiv {
justify-content: space-between;
min-width: 1200px;
.l{
width: 610px;
.cloth{
width: 610px;
height: 641px;
}
}
.r{
padding: 20px;
.title{
color: #1B1B1B;
font-weight: 500;
margin-bottom: 16px;
}
.sales{
font-weight: 400;
color: rgba(51,51,51,0.5);
}
.favour{
color: #746957;
span{
border: 1px solid #746957;
padding: 2px 5px;
}
}
.sell{
align-items: center;
.f_14{
display: inline-block;
width: 50%;
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
}
}
.line{
height: 0px;
border-bottom: 1px solid #ccc;
margin: 20px 0 20px 0;
}
.color{
font-weight: 600;
color: #1B1B1B;
margin-bottom: 15px;
}
& /deep/ .ant-radio-wrapper{
margin-right: 25px;
}
.size{
margin-top: 20px;
a{
margin-left: 20px;
text-decoration: underline;
color: #333333;
margin-right: 20px;
}
i{
margin-left: 20px;
margin-right: 6px;
color: #1B1B1B;
}
}
.sizeDiv{
margin-top: 20px;
margin-bottom: 20px;
.item{
margin-right: 30px;
color: #1B1B1B ;
}
}
.serve{
font-weight: 600;
.button{
margin-left: 10px;
text-decoration: underline;
}
}
.stages{
color: #B79674;
margin-bottom: 30px;
.button{
text-decoration: underline;
}
}
.btnDiv{
justify-content: space-around;
.dialogButton {
width: 35%;
min-width: 300px;
height: 44px;
text-align: center;
line-height: 44px;
transition: all 0.2s;
}
.default {
border: 1px solid #1b1b1b;
color: #1b1b1b;
margin-right: 20px;
&:hover {
border-color: #fff;
color: #fff;
background-color: #1b1b1b;
}
}
.primary {
background: #1b1b1b;
border: 2px solid #1b1b1b;
color: #e5dfd9;
&:hover {
// border-color: #1b1b1b;
// color: #1b1b1b;
// background-color: #fff;
opacity: 0.8;
}
}
}
}
}
.selected{
.title{
border-left: 5px solid #746957;
height: 40px;
line-height: 40px;
padding-left: 25px;
margin-bottom: 50px;
}
.selectedCloth{
flex-wrap: wrap;
.item{
margin-right: 55px;
width: 180px;
height: 250px;
img{
width: 180px;
height: 180px;
margin-bottom: 20px;
}
p{
text-align: center;
}
}
}
}
.detail{
margin-bottom: 20px;
.title{
justify-content: space-between;
background-color: #F7F7F7;
border: 1px solid #EEEEEE;
margin-bottom: 25px;
span{
width: 146px;
height: 38px;
line-height: 38px;
background-color: #746957;
text-align: center;
align-items: center;
}
}
table{
width: 100%;
td{
max-width: 500px;
min-width: 300px;
margin-right: 20px;
padding-right: 50px;
padding-bottom: 10px;
}
}
}
}
</style>
<style scoped>
/* For demo */
.ant-carousel >>> .slick-dots {
height: auto;
}
.ant-carousel >>> .slick-slide img {
border: 5px solid #fff;
display: block;
margin: auto;
max-width: 80%;
}
.ant-carousel >>> .slick-thumb {
bottom: -45px;
}
.ant-carousel >>> .slick-thumb li {
width: 60px;
height: 45px;
}
.ant-carousel >>> .slick-thumb li img {
width: 100%;
height: 100%;
filter: grayscale(100%);
}
.ant-carousel >>> .slick-thumb li.slick-active img {
filter: grayscale(0%);
}
</style>

@ -0,0 +1,93 @@
<template>
<div class="gerenzhongxin">
<Header></Header>
<div class="bg"></div>
<div class="info jz d-flex">
<img src="../assets/photo.png">
<p class="f_36 c_1B">welcome, 用户名</p>
<a>量体数据</a>
</div>
<div class="jz">
<a-tabs default-active-key="1" :tabBarGutter="200" @change="callback">
<a-tab-pane key="1" tab="我的账户">
我的账户
</a-tab-pane>
<a-tab-pane key="2" tab="我的收藏" force-render>
我的收藏
</a-tab-pane>
<a-tab-pane key="3" tab="地址管理">
地址管理
</a-tab-pane>
<a-tab-pane key="4" tab="发票管理" force-render>
发票管理
</a-tab-pane>
<a-tab-pane key="5">
<span slot="tab">
全部订单
<a-icon type="down" />
</span>
全部订单
</a-tab-pane>
</a-tabs>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "../components/Header/HeaderView";
import Footer from "../components/Footer/FooterView"
export default {
name: "gerenzhongxin",
components: { Header,Footer },
data() {
return {
};
},
methods: {
callback(key) {
console.log(key);
},
},
};
</script>
<!--<style>-->
<!-- .gerenzhongxin .top .middle .router-link-exact-active.router-link-active {-->
<!-- border-bottom: 2px solid #000;-->
<!-- }-->
<!--</style>-->
<style lang="less" scoped>
@import '../assets/common.css';
.bg{
width: 100%;
height: 250px;
background-image: url("../assets/bg05.png");
}
.info{
flex-direction: column;
align-items: center;
margin-top: -75px;
img{
width: 150px;
height: 150px;
margin-bottom: 30px;
}
p{
margin-bottom: 15px;
}
a{
color: #666;
font-size: 16px;
margin-bottom: 60px;
}
}
/*/deep/ .ant-tabs-nav{*/
/* width: 100%;*/
/* & >div{*/
/* display: flex;*/
/* justify-content: space-around;*/
/* }*/
/*}*/
</style>

@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.customermeasure.entity.CustomerMeasure;
import org.jeecg.modules.demo.customerpayment.entity.CustomerPayment;
import org.jeecg.modules.demo.customerpayment.service.ICustomerPaymentService;
@ -73,6 +74,23 @@ public class CustomerPaymentController extends JeecgController<CustomerPayment,
return Result.OK(pageList);
}
@AutoLog(value = "顾客支付信息管理-分页列表查询")
@ApiOperation(value="顾客支付信息管理-分页列表查询", notes="顾客支付信息管理-分页列表查询")
@GetMapping(value = "/list1")
public Result<?> queryPageList1(CustomerPayment customerPayment,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<CustomerPayment> queryWrapper = QueryGenerator.initQueryWrapper(customerPayment, req.getParameterMap());
queryWrapper.eq("user_id",customerPayment.getUserId());
Page<CustomerPayment> page = new Page<CustomerPayment>(pageNo, pageSize);
IPage<CustomerPayment> pageList = customerPaymentService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
@ -192,4 +210,26 @@ public class CustomerPaymentController extends JeecgController<CustomerPayment,
return super.importExcel(request, response, CustomerPayment.class);
}
@AutoLog(value = "排序")
@ApiOperation(value="排序", notes="排序")
@GetMapping(value = "/up")
public Result<?> shang(@RequestParam(name="id",required=true) String id) {
customerPaymentService.up(id);
return Result.ok("升序成功");
}
@AutoLog(value = "排序")
@ApiOperation(value="排序", notes="排序")
@GetMapping(value = "/down")
public Result<?> xia(@RequestParam(name="id",required=true) String id) {
int a=customerPaymentService.findSort(id);
if(a==0){
return Result.error("当前已经是最低级别!!!");}else {
customerPaymentService.down(id);
return Result.ok("降序成功");
}
}
}

@ -86,4 +86,8 @@ public class CustomerPayment implements Serializable {
@Excel(name = "开户支行", width = 15)
@ApiModelProperty(value = "开户支行")
private java.lang.String bankzh;
/**排序*/
@Excel(name = "排序", width = 15)
@ApiModelProperty(value = "排序")
private java.lang.Integer sort;
}

@ -5,6 +5,8 @@ import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.jeecg.modules.demo.customerpayment.entity.CustomerPayment;
/**
@ -15,4 +17,18 @@ import org.jeecg.modules.demo.customerpayment.entity.CustomerPayment;
*/
public interface CustomerPaymentMapper extends BaseMapper<CustomerPayment> {
@Select("select sort from customer_payment where id=#{id} ")
Integer upfindsort(String id);
@Select("select id from customer_payment where sort=#{i} ")
String findproid(int i);
@Update("update customer_payment set sort =#{i} where id = #{id} ")
void innew(String id, int i);
@Update("update customer_payment set sort =#{sort} where id = #{proid} ")
void innewpro(String proid, Integer sort);
@Select("select sort from customer_payment where id=#{id} ")
int findSort(String id);
}

@ -11,4 +11,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ICustomerPaymentService extends IService<CustomerPayment> {
void up(String id);
int findSort(String id);
void down(String id);
}

@ -3,6 +3,7 @@ package org.jeecg.modules.demo.customerpayment.service.impl;
import org.jeecg.modules.demo.customerpayment.entity.CustomerPayment;
import org.jeecg.modules.demo.customerpayment.mapper.CustomerPaymentMapper;
import org.jeecg.modules.demo.customerpayment.service.ICustomerPaymentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -16,4 +17,38 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class CustomerPaymentServiceImpl extends ServiceImpl<CustomerPaymentMapper, CustomerPayment> implements ICustomerPaymentService {
@Autowired
CustomerPaymentMapper customerPaymentMapper;
@Override
public void up(String id) {
Integer sort = customerPaymentMapper.upfindsort(id);
if (sort>0) {
//升序前找到后一个排序
String proid = customerPaymentMapper.findproid(sort + 1);
if (proid!="") {
//调换排序
customerPaymentMapper.innew(id,sort+1);
customerPaymentMapper.innewpro(proid,sort);
}
}
}
@Override
public int findSort(String id) {
return customerPaymentMapper.findSort(id);
}
@Override
public void down(String id) {
Integer sort = customerPaymentMapper.upfindsort(id);
if (sort>0) {
String proid = customerPaymentMapper.findproid(sort - 1);
if (proid!="") {
customerPaymentMapper.innew(id,sort-1);
customerPaymentMapper.innewpro(proid,sort);
}
}
}
}

Loading…
Cancel
Save