Merge remote-tracking branch 'origin/master'

zhc4dev
赵灿 2 years ago
commit 35440a10e0
  1. 27
      ant-design-vue-jeecg/src/components/procedure/basicAction.vue
  2. 24
      ant-design-vue-jeecg/src/components/procedure/processFabric.vue
  3. 2
      ant-design-vue-jeecg/src/components/procedure/zyProcess.vue
  4. 36
      ant-design-vue-jeecg/src/views/erp/accessories/modules/ZyAccessoriesFormDetail.vue
  5. 12
      ant-design-vue-jeecg/src/views/process/modules/ZyClothActionFormDetail.vue
  6. 20
      ant-design-vue-jeecg/src/views/process/modules/ZyProcessDetail.vue
  7. 184
      ant-design-vue-jeecg/src/views/zyclothsample/ZyClothSampleList.vue
  8. 33
      ant-design-vue-jeecg/src/views/zyclothsample/modules/ZyClothSampleForm.vue
  9. 195
      ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue
  10. 116
      ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricForm.vue
  11. 84
      ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricModal.Style#Drawer.vue
  12. 60
      ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricModal.vue
  13. 108
      ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue
  14. 55
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zyclothsample/entity/ZyClothSample.java
  15. 241
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/controller/ZyStyleFabricController.java
  16. 47
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/entity/NewZyStyleFabric.java
  17. 53
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/entity/ZyStyleFabric.java
  18. 17
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/mapper/ZyStyleFabricMapper.java
  19. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/mapper/xml/ZyStyleFabricMapper.xml
  20. 8
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/INewZyStyleFabricService.java
  21. 15
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/IZyStyleFabricService.java
  22. 59
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/impl/NewZyStyleFabricServiceImpl.java
  23. 19
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/impl/ZyStyleFabricServiceImpl.java
  24. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/mapper/xml/ZyStyleModuleMapper.xml

@ -1,16 +1,12 @@
<template>
<div>
<div v-for="(item,index) in tableModel" :key="index">
<h3 v-if="index>0">动作{{index+1}}</h3>
<h3 v-if="flag">动作{{index+1}}</h3>
<div style="padding: 15px 25px;display: flex;justify-content: space-between" >
<img :src="img == ''?img1:img" style="width:30%;">
<video v-if="mp4 != ''" :src="mp4" style="border:1px solid #d9d9d9;width:30%;"/>
<p v-else style="padding-top: 20px"> 暂无视频</p>
<table border="1" style="width:30%;font-size:14px;margin-bottom: 20px;" class="table" >
<!-- <tr>-->
<!-- <td style="text-align: center">添加人:</td>-->
<!-- <td>{{model.addPeople}}</td>-->
<!-- </tr>-->
<tr>
<td style="text-align: center">频率:</td>
<td>{{item.freq}}</td>
@ -33,21 +29,12 @@
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'basicAction',
// props: {
// model: {
// type: Array,
// default() {
// return []
// }
// }},
props:['model'],
data () {
return {
@ -55,6 +42,7 @@
img1:require('@/assets/9-2.png'),//
mp4:'',//
tableModel:[],
flag:true,
visible: false,
confirmLoading: false,
validatorRules: {
@ -65,17 +53,10 @@
watch: {
// tableModel
model: function(newVal,oldVal){
if(Array.isArray(newVal)){
this.tableModel = newVal;
}else{
this.tableModel.push(newVal)
if(this.tableModel.length == 1){
this.flag = false
}
newVal && this.getTableModel();
}
},
methods: {
getTableModel(){
//
}
},
}

@ -1,7 +1,5 @@
<template>
<div>
<!-- <div v-for="(item,index) in tableModel" :key="index">-->
<!-- <h3>辅料{{index+1}}</h3>-->
<div style="padding: 15px 25px;">
<el-descriptions class="margin-top" :column="3" border style="margin-top: 50px">
<el-descriptions-item>
@ -44,32 +42,36 @@
<script>
export default {
name: 'processFabric',
props:['model'],
props:['model','fabricId'],
data () {
return {
img:'',//
img1:require('@/assets/9-2.png'),//
mp4:'',//
tableModel:[],
id:'',
visible: false,
confirmLoading: false,
validatorRules: {
},
}},
created() {
console.log(this.id)
},
watch: {
// cData
model: function(newVal,oldVal){
// if(Array.isArray(newVal)){
// this.tableModel = newVal;
// }else{
// this.tableModel.push(newVal)
this.tableModel= newVal
console.log('组件页面')
console.log(this.tableModel)
// }
// newVal && this.getTableModel();
},
fabricId: function(newVal,oldVal){
this.id = newVal
// this.$http.get('/accessories/zyAccessories/queryById?id='+this.id).then(
// res=>{
// // this.model = res.result
// console.log(this.id)
// console.log(res)
// console.log(res.result)
// })
}
},
methods: {

@ -1,5 +1,5 @@
<template>
<div style="padding: 15px 25px;">
<div style="">
<div style="width:100%;height:100%;display: flex;align-items: start;justify-content: space-between;margin-bottom: 20px;" class="coin">
<img :src="data.image?data.image:img1" style="width:32%;">
<table border="1" style="width: 66%;height:100%;font-size:14px;margin-bottom: 20px" class="table">

@ -9,40 +9,6 @@
@cancel="handleCancel"
>
<h1 style="text-align: center;margin-bottom: 30px;border-bottom: 1px solid #e8e8e8;padding-bottom: 20px;font-size: 22px;">黄淮学院服装智能制造管理平台 - <span>辅料管理</span></h1>
<!-- <el-descriptions class="margin-top" :column="3" border style="margin-top: 50px">-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-receiving"></i>类型id</template>-->
<!-- {{model.typeId}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-coin"></i>编号</template>-->
<!-- {{model.nums}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-postcard"></i>名称</template>-->
<!-- {{model.contents}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-copy-document"></i>图片</template>-->
<!-- {{model.picture}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-price-tag"></i>材质</template>-->
<!-- {{model.material}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-files"></i>规格</template>-->
<!-- {{model.specs}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-takeaway-box"></i>库存量</template>-->
<!-- {{model.store}}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item>-->
<!-- <template slot="label"><i class="el-icon-location-outline"></i>供货商</template>-->
<!-- {{model.supplierInfo}}-->
<!-- </el-descriptions-item>-->
<!-- </el-descriptions>-->
<processFabric :model="model"></processFabric>
</a-modal>
</div>
@ -74,8 +40,6 @@ import processFabric from '@/components/procedure/processFabric'
this.$http.get('/accessories/zyAccessories/queryById?id='+id).then(
res=>{
this.model = res.result
console.log('详情页面')
console.log(this.model)
})
},
handleOk() {

@ -23,8 +23,7 @@ import basicAction from '@/components/procedure/basicAction'
},
data () {
return {
model:{
},
model:[],
id:'',
img:'',//
img1:require('@/assets/9-2.png'),//
@ -38,11 +37,12 @@ import basicAction from '@/components/procedure/basicAction'
methods: {
showModal(id) {
this.visible = true;
this.$http.get('base/zyClothAction/queryById?id='+id).then(
this.$http.get('/base/zyClothAction/queryById?id='+id).then(
res=>{
this.model = res.result
console.log('this.model')
console.log(this.model)
if(this.model.length == 0){
this.model.push(res.result)
}
}
)
},

@ -1,5 +1,5 @@
<template>
<div>
<div style="">
<a-modal
title="标准作业指导书"
:visible="visible"
@ -9,10 +9,10 @@
@cancel="handleCancel"
style="display:flex;"
>
<div style="width: 96%;margin:0 auto 30px;border-bottom: 1px solid #e8e8e8;padding-bottom: 30px">
<h1 style="text-align: center;margin-bottom: 30px;border-bottom: 1px solid #e8e8e8;padding-bottom: 20px">黄淮学院服装智能制造管理平台 - <span>基本工序</span></h1>
<div style="width: 96%;margin:0 auto 40px;padding-bottom: 30px">
<h1 style="text-align: center;margin-bottom: 0px;border-bottom: 1px solid #e8e8e8;padding-bottom: 20px">黄淮学院服装智能制造管理平台 - <span>基本工序</span></h1>
<!-- 基本工序-->
<zyProcess :data="ProcessData"></zyProcess>
<zyProcess :data="ProcessData" style="border: 1px solid #e8e8e8;border-top: none;padding: 30px 25px"></zyProcess>
</div>
<!-- <a-card :title="`动作`+(index+1)" v-for="(item,index) in data.zyClothAction" :key="item.id" :headStyle="headStyle">-->
<!-- <div style="width:100%;height:20px;display:flex;font-size:18px">-->
@ -29,16 +29,16 @@
<!-- </a-card>-->
<!-- 基础动作-->
<div class="coin">
<h2>基础动作</h2>
<basicAction :model="basicActionData"></basicAction>
<h2 style="padding: 20px">基础动作</h2>
<basicAction :model="basicActionData" style="padding:20px;"></basicAction>
</div>
<div class="coin">
<h2>工序面料</h2>
<processAccessories :model="accessoriesData"></processAccessories>
<processAccessories :model="accessoriesData" style="padding:0 20px"></processAccessories>
</div>
<div class="coin">
<h2>工序辅料</h2>
<processFabric :model="fabricData"></processFabric>
<processFabric :model="fabricData" style="padding:0 20px"></processFabric>
</div>
</a-modal>
</div>
@ -108,6 +108,6 @@
.table{border-color:#d9d9d9;border-radius: 3px}
.table td{padding: 10px 20px;max-width: 380px;white-space:nowrap}
.table td span{color: #333}
.coin{width: 96%;margin:0 auto 30px;border-bottom: 1px solid #e8e8e8;}
.coin h2{text-align: left;margin-bottom: 30px;border-bottom: 1px solid #e8e8e8;padding-bottom: 20px}
.coin{width: 96%;margin:0 auto 30px;border: 1px solid #e8e8e8;}
.coin h2{text-align: left;border-bottom: 1px solid #e8e8e8;padding: 20px;background: rgba(247,247,247,1);margin: 0;}
</style>

@ -19,10 +19,10 @@
<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">
<!--<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a>-->
</span>
</a-col>
</a-row>
@ -34,23 +34,31 @@
<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-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>
<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-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-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>
<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>
@ -74,8 +82,9 @@
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<span v-else style="font-size: 12px;font-style: italic;">
<img :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
<a-divider type="vertical" />
<img :src="getImgView(text)" height="25px" alt=""
style="max-width:80px;font-size: 12px;font-style: italic;"/>
<a-divider type="vertical"/>
<a-button
:ghost="true"
type="primary"
@ -99,15 +108,29 @@
</a-button>
</template>
<span slot="action" slot-scope="text, record">
<span slot="action" slot-scope="text,record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<!-- <a @click="fuzhi(record)">复制</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>
<!-- <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical"/>
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
<a-menu slot="overlay">
<a-menu-item>
<!-- <a @click="handleDetail(record)">详情</a>-->
&lt;!&ndash;<a @click="handleDetail(record)">详情</a>&ndash;&gt;
<a @click="openDetail(record.id)">详情</a>
</a-menu-item>
@ -118,7 +141,7 @@
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</span>-->
</a-table>
</div>
@ -129,19 +152,20 @@
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ZyClothSampleModal from './modules/ZyClothSampleModal'
import ZyClothSampleDetail from './modules/ZyClothSampleDetail'
export default {
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import ZyClothSampleModal from './modules/ZyClothSampleModal'
import ZyClothSampleDetail from './modules/ZyClothSampleDetail'
export default {
name: 'ZyClothSampleList',
mixins:[JeecgListMixin, mixinDevice],
mixins: [JeecgListMixin, mixinDevice],
components: {
ZyClothSampleModal,
ZyClothSampleDetail
},
data () {
data() {
return {
description: '成衣样板管理页面',
//
@ -149,56 +173,78 @@
{
title: '#',
dataIndex: '',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title:'编号',
align:"center",
title: '编号',
align: "center",
dataIndex: 'nums'
},
{
title:'款式',
align:"center",
dataIndex: 'clothName'
title: '款式',
align: "center",
dataIndex: 'styleId'
},
{
title:'描述',
align:"center",
dataIndex: 'descr'
title: '型号',
align: "center",
dataIndex: 'stylemodelId'
},
/*{
title: '模块样板',
align: "center",
dataIndex: 'modelSample'
},*/
{
title:'图片',
align:"center",
dataIndex: 'url',
scopedSlots: {customRender: 'imgSlot'}
title: '模块样板',
align: "center",
dataIndex: 'modelSample_dictText'
},
{
title:'用户',
align:"center",
title: '用户',
align: "center",
dataIndex: 'userId'
},
{
title:'用户类型',
align:"center",
dataIndex: 'type'
},
{
title:'时间',
align:"center",
title: '创建时间',
align: "center",
dataIndex: 'createTime'
},
/*{
title: '成衣名称',
align: "center",
dataIndex: 'clothName'
},*/
/*{
title: '描述',
align: "center",
dataIndex: 'descr'
},*/
/*{
title: '图片',
align: "center",
dataIndex: 'url',
scopedSlots: {customRender: 'imgSlot'}
},*/
/*{
title: '用户类型',
align: "center",
dataIndex: 'type'
},*/
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' }
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'}
}
],
url: {
@ -209,45 +255,45 @@
importExcelUrl: "zyclothsample/zyClothSample/importExcel",
},
dictOptions:{},
superFieldList:[],
dictOptions: {},
superFieldList: [],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
initDictConfig(){
initDictConfig() {
},
lookFile (fileUrl) {
let file=window._CONFIG['domianURL']+"/sys/common/static/"+fileUrl
lookFile(fileUrl) {
let file = window._CONFIG['domianURL'] + "/sys/common/static/" + fileUrl
let Base64 = require('js-base64').Base64;
let url =window._CONFIG['onlinePreviewDomainURL']+ '/onlinePreview?url=' + encodeURIComponent(Base64.encode(file))
let url = window._CONFIG['onlinePreviewDomainURL'] + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(file))
window.open(url);
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'nums',text:'编号',dictCode:''})
fieldList.push({type:'string',value:'clothName',text:'成衣名称',dictCode:''})
fieldList.push({type:'string',value:'descr',text:'描述',dictCode:''})
fieldList.push({type:'string',value:'url',text:'图片',dictCode:''})
fieldList.push({type:'string',value:'userId',text:'用户',dictCode:''})
fieldList.push({type:'string',value:'type',text:'用户类型',dictCode:''})
getSuperFieldList() {
let fieldList = [];
fieldList.push({type: 'string', value: 'nums', text: '编号', dictCode: ''})
fieldList.push({type: 'string', value: 'styleId', text: '款式', dictCode: ''})
fieldList.push({type: 'string', value: 'stylemodelId', text: '型号', dictCode: ''})
fieldList.push({type: 'string', value: 'modelSample', text: '模块样板', dictCode: ''})
fieldList.push({type: 'string', value: 'userId', text: '用户', dictCode: ''})
fieldList.push({type: 'string', value: 'createTime', text: '创建时间', dictCode: ''})
this.superFieldList = fieldList
},
openDetail(id){
openDetail(id) {
this.$refs.ZyClothSampleDetail.showModal(id)
// this.$children[0].showModal(id)
}
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
</style>

@ -8,31 +8,50 @@
<a-input v-model="model.nums" placeholder="请输入编号" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<!-- <a-col :span="24">
<a-form-model-item label="成衣名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="clothName">
<a-input v-model="model.clothName" placeholder="请输入成衣名称" ></a-input>
</a-form-model-item>
</a-col>
</a-col>-->
<a-col :span="24">
<a-form-model-item label="款式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="styleId">
<a-input v-model="model.styleId" placeholder="请输入款式" ></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="24">
<a-form-model-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="descr">
<a-input v-model="model.descr" placeholder="请输入描述" ></a-input>
</a-form-model-item>
</a-col>
</a-col>-->
<a-col :span="24">
<a-form-model-item label="型号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stylemodelId">
<a-input v-model="model.stylemodelId" placeholder="请输入型号" ></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="24">
<a-form-model-item label="图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="url">
<j-image-upload isMultiple v-model="model.url" ></j-image-upload>
</a-form-model-item>
</a-col>
</a-col>-->
<a-col :span="24">
<a-form-model-item label="用户" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId">
<a-input v-model="model.userId" placeholder="请输入用户" ></a-input>
<a-form-model-item label="模块样板" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="modelSample">
<!-- <j-image-upload isMultiple v-model="model.url" ></j-image-upload>-->
<!-- <a-input v-model="model.modelSample" placeholder="请输入模块样板" ></a-input>-->
<j-dict-select-tag v-model="model.modelSample" placeholder="请选择模块样板"
dictCode="zy_module_sample,module_name,id"/>
<!-- <j-search-select-tag v-model="model.modelSample" dict="zy_module_sample" dictText="module_name", dictCode="id" />-->
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="用户名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId">
<a-input v-model="model.userId" placeholder="请输入用户名" ></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="24">
<a-form-model-item label="用户类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="type">
<a-input v-model="model.type" placeholder="请输入用户类型" ></a-input>
</a-form-model-item>
</a-col>
</a-col>-->
</a-row>
</a-form-model>
</j-form-container>

@ -0,0 +1,195 @@
<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-dict-select-tag placeholder="请选择服装款式" dictCode="zy_cloths_style,style_names,id" v-model="queryParam.styleId" ></j-dict-select-tag>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="面料类型">
<j-dict-select-tag placeholder="请选择面料类型" dictCode="zy_fabric,name,id" v-model="queryParam.fabricId" ></j-dict-select-tag>
</a-form-item>
</a-col>
<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>
</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>-->
<!-- 高级查询区域 -->
<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,record">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" :preview="record.id" 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="handleEdit(record)">编辑</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>
<zy-style-fabric-modal ref="modalForm" @ok="modalFormOk"></zy-style-fabric-modal>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ZyStyleFabricModal from './modules/ZyStyleFabricModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
export default {
name: 'ZyStyleFabricList',
mixins:[JeecgListMixin, mixinDevice],
components: {
ZyStyleFabricModal
},
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: 'styleNums'
},
{
title:'款式名称',
align:"center",
dataIndex: 'styleNames'
},
{
title:'面料编号',
align:"center",
dataIndex: 'fabricNumber'
},
{
title:'面料名称',
align:"center",
dataIndex: 'fabricName'
},
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: "/zystylefabric/zyStyleFabric/list",
delete: "/zystylefabric/zyStyleFabric/delete",
deleteBatch: "/zystylefabric/zyStyleFabric/deleteBatch",
exportXlsUrl: "/zystylefabric/zyStyleFabric/exportXls",
importExcelUrl: "zystylefabric/zyStyleFabric/importExcel",
},
dictOptions:{},
superFieldList:[],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
initDictConfig(){
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'styleId',text:'款式id',dictCode:"zy_cloths_style,id,style_names"})
fieldList.push({type:'string',value:'fabricId',text:'面料id',dictCode:"zy_fabric,id,name"})
fieldList.push({type:'datetime',value:'createTime',text:'创建日期'})
this.superFieldList = fieldList
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -0,0 +1,116 @@
<template>
<a-spin :spinning="confirmLoading">
<j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="24">
<a-form-model-item label="款式类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="styleId">
<j-dict-select-tag type="list" v-model="model.styleId" dictCode="zy_cloths_style,style_names,id" placeholder="请选择款式类型" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="面料类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fabricId">
<j-dict-select-tag type="list" v-model="model.fabricId" dictCode="zy_fabric,name,id" placeholder="请选择面料类型" />
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>
</a-spin>
</template>
<script>
import { httpAction, getAction } from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util'
export default {
name: 'ZyStyleFabricForm',
components: {
},
props: {
//
disabled: {
type: Boolean,
default: false,
required: false
}
},
data () {
return {
model:{
},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
confirmLoading: false,
validatorRules: {
styleId: [
{ required: true, message: '请选择服装类型!'},
],
fabricId: [
{ required: true, message: '请选择面料类型!'},
],
},
url: {
add: "/zystylefabric/zyStyleFabric/add",
edit: "/zystylefabric/zyStyleFabric/edit",
queryById: "/zystylefabric/zyStyleFabric/queryById"
}
}
},
computed: {
formDisabled(){
return this.disabled
},
},
created () {
//model
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
add () {
this.edit(this.modelDefault);
},
edit (record) {
this.model = Object.assign({}, record);
this.visible = true;
},
submitForm () {
const that = this;
//
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
httpAction(httpurl,this.model,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
}else{
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
})
}
})
},
}
}
</script>

@ -0,0 +1,84 @@
<template>
<a-drawer
:title="title"
:width="width"
placement="right"
:closable="false"
@close="close"
destroyOnClose
:visible="visible">
<zy-style-fabric-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></zy-style-fabric-form>
<div class="drawer-footer">
<a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button>
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button>
</div>
</a-drawer>
</template>
<script>
import ZyStyleFabricForm from './ZyStyleFabricForm'
export default {
name: 'ZyStyleFabricModal',
components: {
ZyStyleFabricForm
},
data () {
return {
title:"操作",
width:800,
visible: false,
disableSubmit: false
}
},
methods: {
add () {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.add();
})
},
edit (record) {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.edit(record);
});
},
close () {
this.$emit('close');
this.visible = false;
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
handleCancel () {
this.close()
}
}
}
</script>
<style lang="less" scoped>
/** Button按钮间距 */
.ant-btn {
margin-left: 30px;
margin-bottom: 30px;
float: right;
}
.drawer-footer{
position: absolute;
bottom: -8px;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
</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="关闭">
<zy-style-fabric-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></zy-style-fabric-form>
</j-modal>
</template>
<script>
import ZyStyleFabricForm from './ZyStyleFabricForm'
export default {
name: 'ZyStyleFabricModal',
components: {
ZyStyleFabricForm
},
data () {
return {
title:'',
width:800,
visible: false,
disableSubmit: false
}
},
methods: {
add () {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.add();
})
},
edit (record) {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.edit(record);
})
},
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleCancel () {
this.close()
}
}
}
</script>

@ -6,17 +6,20 @@
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="服装类型">
<j-dict-select-tag placeholder="请输入服装类型" dictCode="zy_cloths_type,type_name,id" v-model="queryParam.typeId" ></j-dict-select-tag>
<j-dict-select-tag placeholder="请输入服装类型" dictCode="zy_cloths_type,type_name,id"
v-model="queryParam.typeId"></j-dict-select-tag>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="服装款式">
<j-dict-select-tag placeholder="请选择服装款式" dictCode="zy_cloths_style,style_names,id" v-model="queryParam.styleId" ></j-dict-select-tag>
<j-dict-select-tag placeholder="请选择服装款式" dictCode="zy_cloths_style,style_names,id"
v-model="queryParam.styleId"></j-dict-select-tag>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="制衣模块">
<j-dict-select-tag placeholder="请输入制衣模块" dictCode="zy_cloths_modular ,modular_name,id" v-model="queryParam.modularId" ></j-dict-select-tag>
<j-dict-select-tag placeholder="请输入制衣模块" dictCode="zy_cloths_modular ,modular_name,id"
v-model="queryParam.modularId"></j-dict-select-tag>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
@ -34,23 +37,29 @@
<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-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>-->
<!-- <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-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-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>
<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>
@ -73,7 +82,8 @@
</template>
<template slot="imgSlot" slot-scope="text,record">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
<img v-else :src="getImgView(text)" :preview="record.id" 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>
@ -90,9 +100,9 @@
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-divider type="vertical"/>
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<a-divider type="vertical"/>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
@ -107,19 +117,19 @@
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ZyStyleModuleModal from './modules/ZyStyleModuleModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import ZyStyleModuleModal from './modules/ZyStyleModuleModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
export default {
export default {
name: 'ZyStyleModuleList',
mixins:[JeecgListMixin, mixinDevice],
mixins: [JeecgListMixin, mixinDevice],
components: {
ZyStyleModuleModal
},
data () {
data() {
return {
description: '款式模块表管理页面',
//
@ -127,45 +137,45 @@
{
title: '#',
dataIndex: '',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title:'服装类型',
align:"center",
title: '服装类型',
align: "center",
dataIndex: 'typeName'
},
{
title:'款式编号',
align:"center",
title: '款式编号',
align: "center",
dataIndex: 'styleNums'
},
{
title:'款式名称',
align:"center",
title: '款式名称',
align: "center",
dataIndex: 'styleNames'
},
{
title:'模块编号',
align:"center",
title: '模块编号',
align: "center",
dataIndex: 'modularNums'
},
{
title:'模块名称',
align:"center",
title: '模块名称',
align: "center",
dataIndex: 'modularName'
},
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' }
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'}
}
],
url: {
@ -176,31 +186,31 @@
importExcelUrl: "zystylemodule/zyStyleModule/importExcel",
},
dictOptions:{},
superFieldList:[],
dictOptions: {},
superFieldList: [],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
initDictConfig(){
initDictConfig() {
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'typeId',text:'类型id',dictCode:"zy_cloths_type,id,type_name"})
fieldList.push({type:'string',value:'styleId',text:'款式id',dictCode:"zy_cloths_style,id,style_names"})
fieldList.push({type:'string',value:'modularId',text:'模块id',dictCode:"zy_cloths_modular ,id,modular_name"})
getSuperFieldList() {
let fieldList = [];
fieldList.push({type: 'string', value: 'typeId', text: '类型id', dictCode: "zy_cloths_type,id,type_name"})
fieldList.push({type: 'string', value: 'styleId', text: '款式id', dictCode: "zy_cloths_style,id,style_names"})
fieldList.push({type: 'string', value: 'modularId', text: '模块id', dictCode: "zy_cloths_modular ,id,modular_name"})
this.superFieldList = fieldList
}
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
</style>

@ -1,21 +1,20 @@
package org.jeecg.modules.zyclothsample.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 成衣样板
@ -39,6 +38,36 @@ public class ZyClothSample implements Serializable {
@Excel(name = "编号", width = 15)
@ApiModelProperty(value = "编号")
private String nums;
/**款式*/
@Excel(name = "款式", width = 15)
@ApiModelProperty(value = "款式")
private String styleId;
/**型号*/
@Excel(name = "型号", width = 15)
@ApiModelProperty(value = "型号")
private String stylemodelId;
/**管理模块样板*/
/*@Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
private String managerId;*/
//dicCode为关联表的组件
//dictTable为关联表
//dicText 为需要显示的内容
@Excel(name = "模块样板", width = 15)
@ApiModelProperty(value = "模块样板")
@Dict(dicCode = "id",dictTable = "zy_module_sample",dicText = "module_name")
private String modelSample;
/**用户*/
@Excel(name = "用户", width = 15)
@ApiModelProperty(value = "用户")
private String userId;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**成衣名称*/
@Excel(name = "成衣名称", width = 15)
@ApiModelProperty(value = "成衣名称")
@ -51,17 +80,9 @@ public class ZyClothSample implements Serializable {
@Excel(name = "图片", width = 15)
@ApiModelProperty(value = "图片")
private String url;
/**用户*/
@Excel(name = "用户", width = 15)
@ApiModelProperty(value = "用户")
private String userId;
/**用户类型*/
@Excel(name = "用户类型", width = 15)
@ApiModelProperty(value = "用户类型")
private String type;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建日期")
private Date createTime;
}

@ -0,0 +1,241 @@
package org.jeecg.modules.zystylefabric.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.demo.base.entity.ZyClothsModular;
import org.jeecg.modules.demo.base.entity.ZyClothsType;
import org.jeecg.modules.demo.fabric.entity.ZyFabric;
import org.jeecg.modules.demo.fabric.service.IZyFabricService;
import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle;
import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService;
import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric;
import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric;
import org.jeecg.modules.zystylefabric.service.INewZyStyleFabricService;
import org.jeecg.modules.zystylefabric.service.IZyStyleFabricService;
import org.jeecg.modules.zystylemodule.entity.NewStyleModule;
import org.jeecg.modules.zystylemodule.entity.ZyStyleModule;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 款式面料表
* @Author: jeecg-boot
* @Date: 2022-09-15
* @Version: V1.0
*/
@Api(tags="款式面料表")
@RestController
@RequestMapping("/zystylefabric/zyStyleFabric")
@Slf4j
public class ZyStyleFabricController extends JeecgController<ZyStyleFabric, IZyStyleFabricService> {
@Autowired
private IZyStyleFabricService zyStyleFabricService;
@Autowired
private INewZyStyleFabricService NewZyStyleFabricService;
@Autowired
private IZyClothsStyleService zyClothsStyleService;
@Autowired
private IZyFabricService zyFabricService;
/**
* 分页列表查询
*
* @param zyStyleFabric
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "款式面料表-分页列表查询")
@ApiOperation(value="款式面料表-分页列表查询", notes="款式面料表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<NewZyStyleFabric>> queryPageList(ZyStyleFabric zyStyleFabric,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ZyStyleFabric> queryWrapper = new QueryWrapper<>();
if(zyStyleFabric.getStyleId()!=null || zyStyleFabric.getFabricId()!=null ){
if(zyStyleFabric.getStyleId()!=null){
queryWrapper.eq("style_id",zyStyleFabric.getStyleId());
}
if(zyStyleFabric.getFabricId()!=null){
queryWrapper.eq("fabric_id",zyStyleFabric.getFabricId());
}
}
List<ZyStyleFabric> list = zyStyleFabricService.list(queryWrapper);
List<NewZyStyleFabric> newZyStyleFabrics = new ArrayList<>();
for (ZyStyleFabric zyStyleF : list){
NewZyStyleFabric newZySF = new NewZyStyleFabric();
//编辑回显
newZySF.setId(zyStyleF.getId());
newZySF.setFabricId(zyStyleF.getFabricId());
newZySF.setStyleId(zyStyleF.getStyleId());
//款式编号和名称
String styleId = zyStyleF.getStyleId();
ZyClothsStyle styleById = zyClothsStyleService.getById(styleId);
newZySF.setStyleNums(styleById.getNums());
newZySF.setStyleNames(styleById.getStyleNames());
//模块编号和名称
String fabricId = zyStyleF.getFabricId();
ZyFabric fabricById = zyFabricService.getById(fabricId);
newZySF.setFabricNumber(fabricById.getFabricNumber());
newZySF.setFabricName(fabricById.getName());
newZyStyleFabrics.add(newZySF);
}
Page page = new Page();
int size = newZyStyleFabrics.size();
if (pageSize > size && size!=0) {
pageSize = size;
}
// 求出最大页数,防止currentPage越界
int maxPage = size % pageSize == 0 ? size / pageSize : size / pageSize + 1;
if (pageNo > maxPage) {
pageNo = maxPage;
}
// 当前页第一条数据的下标
int curIdx = pageNo > 1 ? (pageNo - 1) * pageSize : 0;
List pageList = new ArrayList();
// 将当前页的数据放进pageList
for (int i = 0; i < pageSize && curIdx + i < size; i++) {
pageList.add(newZyStyleFabrics.get(curIdx + i));
}
page.setCurrent(pageNo).setSize(pageSize).setTotal(newZyStyleFabrics.size()).setRecords(pageList);
return Result.OK(page);
}
/**
* 添加
*
* @param zyStyleFabric
* @return
*/
@AutoLog(value = "款式面料表-添加")
@ApiOperation(value="款式面料表-添加", notes="款式面料表-添加")
//@RequiresPermissions("org.jeecg.modules.demo:zy_style_fabric:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ZyStyleFabric zyStyleFabric) {
zyStyleFabricService.save(zyStyleFabric);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param zyStyleFabric
* @return
*/
@AutoLog(value = "款式面料表-编辑")
@ApiOperation(value="款式面料表-编辑", notes="款式面料表-编辑")
//@RequiresPermissions("org.jeecg.modules.demo:zy_style_fabric:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody ZyStyleFabric zyStyleFabric) {
zyStyleFabricService.updateById(zyStyleFabric);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "款式面料表-通过id删除")
@ApiOperation(value="款式面料表-通过id删除", notes="款式面料表-通过id删除")
//@RequiresPermissions("org.jeecg.modules.demo:zy_style_fabric:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
zyStyleFabricService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "款式面料表-批量删除")
@ApiOperation(value="款式面料表-批量删除", notes="款式面料表-批量删除")
//@RequiresPermissions("org.jeecg.modules.demo:zy_style_fabric:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.zyStyleFabricService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "款式面料表-通过id查询")
@ApiOperation(value="款式面料表-通过id查询", notes="款式面料表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
ZyStyleFabric zyStyleFabric = zyStyleFabricService.getById(id);
if(zyStyleFabric==null) {
return Result.error("未找到对应数据");
}
return Result.OK(zyStyleFabric);
}
/**
* 导出excel
*
* @param request
* @param zyStyleFabric
*/
//@RequiresPermissions("org.jeecg.modules.demo:zy_style_fabric:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ZyStyleFabric zyStyleFabric) {
return super.exportXls(request, zyStyleFabric, ZyStyleFabric.class, "款式面料表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
//@RequiresPermissions("zy_style_fabric:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ZyStyleFabric.class);
}
}

@ -0,0 +1,47 @@
package org.jeecg.modules.zystylefabric.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
@Data
public class NewZyStyleFabric {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**款式id*/
@Excel(name = "款式id", width = 15, dictTable = "zy_cloths_style", dicText = "style_names", dicCode = "id")
@ApiModelProperty(value = "款式id")
private java.lang.String styleId;
/**面料id*/
@Excel(name = "面料id", width = 15, dictTable = "zy_fabric",dicText = "name", dicCode = "id")
@ApiModelProperty(value = "面料id")
private java.lang.String fabricId;
/**名称*/
@Excel(name = "名称", width = 15)
@ApiModelProperty(value = "名称")
private java.lang.String fabricName;
/**材料编号*/
@Excel(name = "材料编号", width = 15)
@ApiModelProperty(value = "材料编号")
private java.lang.String fabricNumber;
/**编号*/
@Excel(name = "编号", width = 15)
@ApiModelProperty(value = "编号")
private String styleNums;
/**名称*/
@Excel(name = "名称", width = 15)
@ApiModelProperty(value = "名称")
private String styleNames;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
}

@ -0,0 +1,53 @@
package org.jeecg.modules.zystylefabric.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 款式面料表
* @Author: jeecg-boot
* @Date: 2022-09-15
* @Version: V1.0
*/
@Data
@TableName("zy_style_fabric")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="zy_style_fabric对象", description="款式面料表")
public class ZyStyleFabric implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**款式id*/
@Excel(name = "款式id", width = 15, dictTable = "zy_cloths_style", dicText = "style_names", dicCode = "id")
@Dict(dictTable = "zy_cloths_style", dicText = "style_names", dicCode = "id")
@ApiModelProperty(value = "款式id")
private java.lang.String styleId;
/**面料id*/
@Excel(name = "面料id", width = 15, dictTable = "zy_fabric",dicText = "name", dicCode = "id")
@Dict(dictTable = "zy_fabric", dicText = "name", dicCode = "id")
@ApiModelProperty(value = "面料id")
private java.lang.String fabricId;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
}

@ -0,0 +1,17 @@
package org.jeecg.modules.zystylefabric.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric;
/**
* @Description: 款式面料表
* @Author: jeecg-boot
* @Date: 2022-09-15
* @Version: V1.0
*/
public interface ZyStyleFabricMapper extends BaseMapper<ZyStyleFabric> {
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper">
</mapper>

@ -0,0 +1,8 @@
package org.jeecg.modules.zystylefabric.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric;
public interface INewZyStyleFabricService extends IService<NewZyStyleFabric> {
}

@ -0,0 +1,15 @@
package org.jeecg.modules.zystylefabric.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric;
/**
* @Description: 款式面料表
* @Author: jeecg-boot
* @Date: 2022-09-15
* @Version: V1.0
*/
public interface IZyStyleFabricService extends IService<ZyStyleFabric> {
}

@ -0,0 +1,59 @@
package org.jeecg.modules.zystylefabric.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric;
import org.jeecg.modules.zystylefabric.service.INewZyStyleFabricService;
import org.jeecg.modules.zystylefabric.service.IZyStyleFabricService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Map;
import java.util.function.Function;
@Service
public class NewZyStyleFabricServiceImpl implements INewZyStyleFabricService {
@Override
public boolean saveBatch(Collection<NewZyStyleFabric> entityList, int batchSize) {
return false;
}
@Override
public boolean saveOrUpdateBatch(Collection<NewZyStyleFabric> entityList, int batchSize) {
return false;
}
@Override
public boolean updateBatchById(Collection<NewZyStyleFabric> entityList, int batchSize) {
return false;
}
@Override
public boolean saveOrUpdate(NewZyStyleFabric entity) {
return false;
}
@Override
public NewZyStyleFabric getOne(Wrapper<NewZyStyleFabric> queryWrapper, boolean throwEx) {
return null;
}
@Override
public Map<String, Object> getMap(Wrapper<NewZyStyleFabric> queryWrapper) {
return null;
}
@Override
public <V> V getObj(Wrapper<NewZyStyleFabric> queryWrapper, Function<? super Object, V> mapper) {
return null;
}
@Override
public BaseMapper<NewZyStyleFabric> getBaseMapper() {
return null;
}
@Override
public Class<NewZyStyleFabric> getEntityClass() {
return null;
}
}

@ -0,0 +1,19 @@
package org.jeecg.modules.zystylefabric.service.impl;
import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric;
import org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper;
import org.jeecg.modules.zystylefabric.service.IZyStyleFabricService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 款式面料表
* @Author: jeecg-boot
* @Date: 2022-09-15
* @Version: V1.0
*/
@Service
public class ZyStyleFabricServiceImpl extends ServiceImpl<ZyStyleFabricMapper, ZyStyleFabric> implements IZyStyleFabricService {
}

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.zystylemodule.mapper.ZyStyleModuleMapper">
<mapper namespace="org.jeecg.modules.zystylemodule.mapper.ZyStyleModuleMapper">
</mapper>
Loading…
Cancel
Save