订单管理所有模块以及商品管理BUG修改

zhc4dev
Gitea 2 years ago
parent 2fe1d09cfa
commit 77f01e81da
  1. 27
      ant-design-vue-jeecg/src/views/goodsaccessories/GoodsAccessoriesList.vue
  2. 249
      ant-design-vue-jeecg/src/views/goodsaccessories/modules/GoodsAccessoriesForm.vue
  3. 31
      ant-design-vue-jeecg/src/views/goodsaccessories/modules/GoodsAccessoriesModal.vue
  4. 27
      ant-design-vue-jeecg/src/views/goodsfabric/GoodsFabricList.vue
  5. 301
      ant-design-vue-jeecg/src/views/goodsfabric/modules/GoodsFabricForm.vue
  6. 31
      ant-design-vue-jeecg/src/views/goodsfabric/modules/GoodsFabricModal.vue
  7. 19
      ant-design-vue-jeecg/src/views/zyorders/ZyOrdersList.vue
  8. 15
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/goodsaccessories/controller/GoodsAccessoriesController.java
  9. 15
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/goodsfabric/controller/GoodsFabricController.java
  10. 30
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyorders/controller/ZyOrdersController.java

@ -81,28 +81,18 @@
</template> </template>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a> <!-- <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a-dropdown> <a @click="handleDetail(record)">详情</a>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-divider type="vertical" />-->
<a-menu slot="overlay"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a-menu-item> <a>删除</a>
<a @click="handleDetail(record)">详情</a> </a-popconfirm>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span> </span>
</a-table> </a-table>
</div> </div>
<goods-accessories-modal ref="modalForm" @ok="modalFormOk"></goods-accessories-modal> <goods-accessories-modal ref="modalForm" @ok="modalFormOk" @valueChange="valueChange"></goods-accessories-modal>
</a-card> </a-card>
</template> </template>
@ -197,6 +187,9 @@
} }
}); });
}, },
valueChange(value) {
if (value) this.loadData()
},
initDictConfig(){ initDictConfig(){
}, },
getSuperFieldList(){ getSuperFieldList(){

@ -1,115 +1,188 @@
<template> <template>
<a-spin :spinning="confirmLoading"> <a-card :bordered="false">
<j-form-container :disabled="formDisabled"> <!-- 查询区域 -->
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> <div class="table-page-search-wrapper">
<a-row> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-col :span="24"> <a-row :gutter="24">
<a-form-model-item label="商品" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsId"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<j-dict-select-tag type="list" v-model="model.goodsId" :dictCode="goods" placeholder="请选择商品" /> <a-form-item label="辅料编号">
</a-form-model-item> <a-input placeholder="请输入辅料编号" v-model="queryParam.nums"></a-input>
</a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-model-item label="辅料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="accessoriesId"> <a-col :xl="10" :lg="7" :md="8" :sm="24">
<j-dict-select-tag type="list" v-model="model.accessoriesId" dictCode="zy_accessories,contents,id" placeholder="请选择辅料" /> <a-form-item label="辅料名称">
</a-form-model-item> <a-input placeholder="请输入辅料名称" v-model="queryParam.contents"></a-input>
</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-col>
</a-row> </a-row>
</a-form-model> </a-form>
</j-form-container> </div>
</a-spin> <!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<!-- <div class="table-operator">-->
<!-- </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: onSelectChange1}"
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>
</a-table>
</div>
</a-card>
</template> </template>
<script> <script>
import { httpAction, getAction } from '@/api/manage' import '@/assets/less/TableExpand.less'
import { validateDuplicateValue } from '@/utils/util' import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
export default { export default {
name: 'GoodsAccessoriesForm', name: 'GoodsAccessoriesForm',
mixins: [JeecgListMixin, mixinDevice],
components: { components: {
}, },
props: { data() {
//
disabled: {
type: Boolean,
default: false,
required: false
}
},
data () {
return { return {
goods:"zy_goods,goods_name,id,id="+this.$route.query.goodsid, description: 'zy_accessories管理页面',
model:{ //
}, columns: [
labelCol: { {
xs: { span: 24 }, title: '#',
sm: { span: 5 }, dataIndex: '',
}, key: 'rowIndex',
wrapperCol: { width: 60,
xs: { span: 24 }, align: "center",
sm: { span: 16 }, customRender: function (t, r, index) {
}, return parseInt(index) + 1;
confirmLoading: false, }
validatorRules: { },
goodsId: [ {
{ required: true, message: '请选择商品!'}, title: '类型',
], align: "center",
accessoriesId: [ dataIndex: 'typeId_dictText'
{ required: true, message: '请选择辅料!'}, },
], {
}, title: '编号',
align: "center",
dataIndex: 'nums'
},
{
title: '名称',
align: "center",
dataIndex: 'contents',
// width:10,
// colspan:2
},
{
title: '图片',
align: "center",
dataIndex: 'picture'
},
{
title: '材质',
align: "center",
dataIndex: 'material'
},
{
title: '规格',
align: "center",
dataIndex: 'specs'
},
],
url: { url: {
add: "/goodsaccessories/goodsAccessories/add", list: "/accessories/zyAccessories/list",
edit: "/goodsaccessories/goodsAccessories/edit", delete: "/accessories/zyAccessories/delete",
queryById: "/goodsaccessories/goodsAccessories/queryById" deleteBatch: "/accessories/zyAccessories/deleteBatch",
} exportXlsUrl: "/accessories/zyAccessories/exportXls",
importExcelUrl: "accessories/zyAccessories/importExcel",
},
dictOptions: {},
superFieldList: [],
} }
}, },
computed: { computed: {
formDisabled(){ importExcelUrl: function () {
return this.disabled return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
}, },
}, },
created () { created() {
//model this.getSuperFieldList();
this.modelDefault = JSON.parse(JSON.stringify(this.model));
}, },
methods: { methods: {
add () { onSelectChange1(selectedRowKeys, selectionRows) {
this.edit(this.modelDefault); this.selectedRowKeys = selectedRowKeys;
this.selectionRows = selectionRows;
let ids = "";
for (var a = 0; a < this.selectedRowKeys.length; a++) {
ids += this.selectedRowKeys[a] + ",";
}
this.$emit('onChangeRowKey', ids)
}, },
edit (record) { add() {
this.model = Object.assign({}, record);
this.visible = true;
}, },
submitForm () { initDictConfig() {
const that = this; },
// getSuperFieldList() {
this.$refs.form.validate(valid => { let fieldList = [];
if (valid) { fieldList.push({type: 'string', value: 'typeId', text: '类型id'})
that.confirmLoading = true; fieldList.push({type: 'string', value: 'nums', text: '编号'})
let httpurl = ''; fieldList.push({type: 'string', value: 'contents', text: '名称'})
let method = ''; fieldList.push({type: 'string', value: 'picture', text: '图片'})
if(!this.model.id){ fieldList.push({type: 'string', value: 'material', text: '材质'})
httpurl+=this.url.add; fieldList.push({type: 'string', value: 'specs', text: '规格'})
method = 'post'; fieldList.push({type: 'int', value: 'store', text: '库存量'})
}else{ fieldList.push({type: 'string', value: 'supplierInfo', text: '供货商信息'})
httpurl+=this.url.edit; this.superFieldList = fieldList
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;
})
}
})
}, },
} }
} }

@ -8,13 +8,14 @@
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }" :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<goods-accessories-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></goods-accessories-form> <goods-accessories-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" @onChangeRowKey="chuancan"></goods-accessories-form>
</j-modal> </j-modal>
</template> </template>
<script> <script>
import GoodsAccessoriesForm from './GoodsAccessoriesForm' import GoodsAccessoriesForm from './GoodsAccessoriesForm'
import {postAction} from "../../../api/manage";
export default { export default {
name: 'GoodsAccessoriesModal', name: 'GoodsAccessoriesModal',
components: { components: {
@ -22,14 +23,24 @@
}, },
data () { data () {
return { return {
model: {
goodsId:'',
accessoriesId:''
},
url: {
add: "/goodsaccessories/goodsAccessories/add",
edit: "/goodsaccessories/goodsAccessories/edit",
queryById: "/goodsaccessories/goodsAccessories/queryById"
},
title:'', title:'',
width:800, width:1500,
visible: false, visible: false,
disableSubmit: false disableSubmit: false
} }
}, },
methods: { methods: {
add () { add () {
this.model.goodsId = this.$route.query.goodsid;
this.visible=true this.visible=true
this.$nextTick(()=>{ this.$nextTick(()=>{
this.$refs.realForm.add(); this.$refs.realForm.add();
@ -46,7 +57,16 @@
this.visible = false; this.visible = false;
}, },
handleOk () { handleOk () {
this.$refs.realForm.submitForm(); postAction(this.url.add,this.model).then((res)=>{
if(res.success){
this.$message.success(res.message);
}else{
this.$message.warning(res.message);
}
this.$emit('valueChange',1)
this.close()
})
}, },
submitCallback(){ submitCallback(){
this.$emit('ok'); this.$emit('ok');
@ -54,7 +74,10 @@
}, },
handleCancel () { handleCancel () {
this.close() this.close()
} },
chuancan(res) {
this.model.accessoriesId = res;
},
} }
} }
</script> </script>

@ -81,28 +81,18 @@
</template> </template>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a> <!-- <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a-dropdown> <a @click="handleDetail(record)">详情</a>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-divider type="vertical" />-->
<a-menu slot="overlay"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a-menu-item> <a>删除</a>
<a @click="handleDetail(record)">详情</a> </a-popconfirm>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span> </span>
</a-table> </a-table>
</div> </div>
<goods-fabric-modal ref="modalForm" @ok="modalFormOk"></goods-fabric-modal> <goods-fabric-modal ref="modalForm" @ok="modalFormOk" @valueChange="valueChange"></goods-fabric-modal>
</a-card> </a-card>
</template> </template>
@ -199,6 +189,9 @@
}, },
initDictConfig(){ initDictConfig(){
}, },
valueChange(value) {
if (value) this.loadData()
},
getSuperFieldList(){ getSuperFieldList(){
let fieldList=[]; let fieldList=[];
fieldList.push({type:'string',value:'goodsId',text:'商品',dictCode:'zy_goods,goods_name,id'}) fieldList.push({type:'string',value:'goodsId',text:'商品',dictCode:'zy_goods,goods_name,id'})

@ -1,116 +1,243 @@
<template> <template>
<a-spin :spinning="confirmLoading"> <a-card :bordered="false">
<j-form-container :disabled="formDisabled"> <!-- 查询区域 -->
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> <div class="table-page-search-wrapper">
<a-row> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-col :span="24"> <a-row :gutter="24">
<a-form-model-item label="商品" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsId"> <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<j-dict-select-tag type="list" v-model="model.goodsId" :dictCode="goods" placeholder="请选择商品" /> <!-- <a-form-item label="花样">-->
</a-form-model-item> <!-- <j-search-select-tag placeholder="请选择花样" v-model="queryParam.pattern" dict="pattern"/>-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="类型">
<a-input placeholder="类型" v-model="queryParam.typeId"></a-input>
</a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-model-item label="面料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fabricId"> <a-form-item label="编号">
<j-dict-select-tag type="list" v-model="model.fabricId" dictCode="zy_fabric,name,id" placeholder="请选择面料" /> <a-input placeholder="编号" v-model="queryParam.fabricNumber"></a-input>
</a-form-model-item> </a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="名称">
<a-input placeholder="名称" v-model="queryParam.name"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="颜色">
<a-input placeholder="请输入颜色" v-model="queryParam.color"></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.pattern" dict="pattern"/>
</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.material" dict="material"/>
</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-col>
</a-row> </a-row>
</a-form-model> </a-form>
</j-form-container> </div>
</a-spin> <!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
</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: onSelectChange1}"
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="imgeSlot" slot-scope="text">
<img :src="text" height="" 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>
</a-table>
</div>
</a-card>
</template> </template>
<script> <script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { httpAction, getAction } from '@/api/manage' import { httpAction, getAction } from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util' import { validateDuplicateValue } from '@/utils/util'
export default { export default {
name: 'GoodsFabricForm', name: 'GoodsFabricForm',
mixins:[JeecgListMixin, mixinDevice],
components: { components: {
}, },
props: {
//
disabled: {
type: Boolean,
default: false,
required: false
}
},
data () { data () {
return { return {
goods:"zy_goods,goods_name,id,id="+this.$route.query.goodsid, description: '面料表管理页面',
model:{ //
}, columns: [
labelCol: { {
xs: { span: 24 }, title: '#',
sm: { span: 5 }, dataIndex: '',
}, key:'rowIndex',
wrapperCol: { width:60,
xs: { span: 24 }, align:"center",
sm: { span: 16 }, customRender:function (t,r,index) {
}, return parseInt(index)+1;
confirmLoading: false, }
validatorRules: { },
goodsId: [ {
{ required: true, message: '请选择商品!'}, title:'类型',
], align:"center",
fabricId: [ dataIndex: 'typeId_dictText'
{ required: true, message: '请选择面料!'}, },
], {
}, title:'编号',
align:"center",
dataIndex: 'fabricNumber'
},
{
title:'名称',
align:"center",
dataIndex: 'name'
},
{
title:'颜色',
align:"center",
dataIndex: 'color'
},
{
title:'花样',
align:"center",
dataIndex: 'pattern_dictText'
},
{
title:'材质',
align:"center",
dataIndex: 'material_dictText'
},
{
title:'厚度',
align:"center",
dataIndex: 'ply_dictText'
},
{
title:'单价',
align:"center",
dataIndex: 'money'
},
{
title:'零售价',
align:"center",
dataIndex: 'retailPrice'
},
],
url: { url: {
add: "/goodsfabric/goodsFabric/add", list: "/fabric/zyFabric/list",
edit: "/goodsfabric/goodsFabric/edit", delete: "/fabric/zyFabric/delete",
queryById: "/goodsfabric/goodsFabric/queryById" deleteBatch: "/fabric/zyFabric/deleteBatch",
} exportXlsUrl: "/fabric/zyFabric/exportXls",
importExcelUrl: "/fabric/zyFabric/importExcel",
},
dictOptions:{},
superFieldList:[],
} }
}, },
computed: { computed: {
formDisabled(){ importExcelUrl: function(){
return this.disabled return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
}, },
}, },
created () { created() {
//model this.getSuperFieldList();
this.modelDefault = JSON.parse(JSON.stringify(this.model));
}, },
methods: { methods: {
add () { initDictConfig(){
this.edit(this.modelDefault);
}, },
edit (record) { onSelectChange1(selectedRowKeys, selectionRows) {
this.model = Object.assign({}, record); this.selectedRowKeys = selectedRowKeys;
this.visible = true; this.selectionRows = selectionRows;
let ids = "";
for (var a = 0; a < this.selectedRowKeys.length; a++) {
ids += this.selectedRowKeys[a] + ",";
}
this.$emit('onChangeRowKey',ids)
}, },
submitForm () { add () {
const that = this; },
// getSuperFieldList(){
this.$refs.form.validate(valid => { let fieldList=[];
if (valid) { fieldList.push({type:'string',value:'color',text:'颜色',dictCode:''})
that.confirmLoading = true; fieldList.push({type:'sel_search',value:'pattern',text:'花样',dictTable:'', dictText:'', dictCode:'pattern'})
let httpurl = ''; fieldList.push({type:'sel_search',value:'material',text:'材质',dictTable:'', dictText:'', dictCode:'material'})
let method = ''; fieldList.push({type:'sel_search',value:'ply',text:'厚度',dictTable:'ply', dictText:'', dictCode:''})
if(!this.model.id){ fieldList.push({type:'int',value:'money',text:'单价',dictCode:''})
httpurl+=this.url.add; fieldList.push({type:'string',value:'imageUrl',text:'图片地址',dictCode:''})
method = 'post'; fieldList.push({type:'popup',value:'typeId',text:'面料类型id', popup:{code:'zy_fabric_type',field:'id',orgFields:'id',destFields:'content'}})
}else{ fieldList.push({type:'sel_search',value:'brandId',text:'材料品牌id',dictTable:'brand', dictText:'', dictCode:''})
httpurl+=this.url.edit; fieldList.push({type:'string',value:'fabricNumber',text:'材料编号',dictCode:''})
method = 'put'; fieldList.push({type:'int',value:'unit',text:'1、为m。2:kg,等',dictCode:'unit1,,'})
} fieldList.push({type:'int',value:'retailPrice',text:'零售价',dictCode:''})
httpAction(httpurl,this.model,method).then((res)=>{ fieldList.push({type:'sel_search',value:'density',text:'密度',dictTable:'density', dictText:'', dictCode:''})
if(res.success){ fieldList.push({type:'string',value:'clothW',text:'幅宽',dictCode:'clothW,,'})
that.$message.success(res.message); fieldList.push({type:'string',value:'location',text:'所在地区',dictCode:''})
that.$emit('ok'); fieldList.push({type:'int',value:'status',text:'状态 o 为下架 1为上架 ',dictCode:'fabric_status,,'})
}else{ fieldList.push({type:'int',value:'fabricGrade',text:'等级',dictCode:'fabric_grade,,'})
that.$message.warning(res.message); fieldList.push({type:'string',value:'qRcode',text:'二维码',dictCode:''})
} fieldList.push({type:'string',value:'name',text:'名称',dictCode:''})
}).finally(() => { fieldList.push({type:'sel_depart',value:'supplierInfo',text:'供货商信息'})
that.confirmLoading = false; fieldList.push({type:'string',value:'createTime',text:'创建时间',dictCode:''})
}) this.superFieldList = fieldList
}
})
}, },
} }
} }
</script> </script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -8,13 +8,14 @@
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }" :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<goods-fabric-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></goods-fabric-form> <goods-fabric-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" @onChangeRowKey="chuancan"></goods-fabric-form>
</j-modal> </j-modal>
</template> </template>
<script> <script>
import GoodsFabricForm from './GoodsFabricForm' import GoodsFabricForm from './GoodsFabricForm'
import {postAction} from "../../../api/manage";
export default { export default {
name: 'GoodsFabricModal', name: 'GoodsFabricModal',
components: { components: {
@ -22,14 +23,24 @@
}, },
data () { data () {
return { return {
model:{
goodsId:'',
fabricId:''
},
url: {
add: "/goodsfabric/goodsFabric/add",
edit: "/goodsfabric/goodsFabric/edit",
queryById: "/goodsfabric/goodsFabric/queryById"
},
title:'', title:'',
width:800, width:1500,
visible: false, visible: false,
disableSubmit: false disableSubmit: false
} }
}, },
methods: { methods: {
add () { add () {
this.model.goodsId = this.$route.query.goodsid;
this.visible=true this.visible=true
this.$nextTick(()=>{ this.$nextTick(()=>{
this.$refs.realForm.add(); this.$refs.realForm.add();
@ -46,7 +57,16 @@
this.visible = false; this.visible = false;
}, },
handleOk () { handleOk () {
this.$refs.realForm.submitForm(); postAction(this.url.add,this.model).then((res)=>{
if(res.success){
this.$message.success(res.message);
}else{
this.$message.warning(res.message);
}
this.$emit('valueChange',1)
this.close()
})
}, },
submitCallback(){ submitCallback(){
this.$emit('ok'); this.$emit('ok');
@ -54,7 +74,10 @@
}, },
handleCancel () { handleCancel () {
this.close() this.close()
} },
chuancan(res){
this.model.fabricId=res;
},
} }
} }
</script> </script>

@ -139,6 +139,8 @@
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="chaidan(record)">拆单</a> <a @click="chaidan(record)">拆单</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a @click="shengchan(record)">生产</a>
<a-divider type="vertical" />
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a @click="handleDetail(record)">详情</a> <a @click="handleDetail(record)">详情</a>
@ -374,6 +376,7 @@
exportXlsUrl: "/zyorders/zyOrders/exportXls", exportXlsUrl: "/zyorders/zyOrders/exportXls",
importExcelUrl: "zyorders/zyOrders/importExcel", importExcelUrl: "zyorders/zyOrders/importExcel",
chaidan:"/zyorders/zyOrders/chaidan", chaidan:"/zyorders/zyOrders/chaidan",
shengchan:"zyorders/zyOrders/shengchan",
}, },
dictOptions:{}, dictOptions:{},
@ -405,6 +408,22 @@
this.$message.warning("该订单为子单,不可进行拆单!"); this.$message.warning("该订单为子单,不可进行拆单!");
} }
}, },
shengchan(record){
console.log(record)
if(record.goodsQuantity===1&&record.deliveryStatus===1){
getAction(this.url.shengchan,{id:record.id}).then((res) => {
if (res.success) {
this.$message.success("生产成功!");
this.loadData();
}else{
this.$message.error(res.message);
}
})
}else{
this.$message.warning("该订单不可生产!");
}
},
getPcaText(code){ getPcaText(code){
return this.pcaData.getText(code); return this.pcaData.getText(code);
}, },

@ -82,8 +82,19 @@ public class GoodsAccessoriesController extends JeecgController<GoodsAccessories
@AutoLog(value = "商品辅料表-添加") @AutoLog(value = "商品辅料表-添加")
@ApiOperation(value="商品辅料表-添加", notes="商品辅料表-添加") @ApiOperation(value="商品辅料表-添加", notes="商品辅料表-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody GoodsAccessories goodsAccessories) { public Result<?> add(@RequestBody GoodsAccessories goodsAccessories,HttpServletRequest req) {
goodsAccessoriesService.save(goodsAccessories); String[] split = goodsAccessories.getAccessoriesId().split(",");
QueryWrapper<GoodsAccessories> queryWrapper = QueryGenerator.initQueryWrapper(goodsAccessories, req.getParameterMap());
queryWrapper.eq("goods_id",goodsAccessories.getGoodsId());
for (String s : split) {
goodsAccessories.setAccessoriesId(s);
goodsAccessories.setId(null);
queryWrapper.eq("accessories_id", goodsAccessories.getAccessoriesId());
int a = goodsAccessoriesService.count(queryWrapper);
if (a >= 1)
return Result.error("存在已添加过的数据!");
goodsAccessoriesService.save(goodsAccessories);
}
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }

@ -82,8 +82,19 @@ public class GoodsFabricController extends JeecgController<GoodsFabric, IGoodsFa
@AutoLog(value = "商品面料表-添加") @AutoLog(value = "商品面料表-添加")
@ApiOperation(value="商品面料表-添加", notes="商品面料表-添加") @ApiOperation(value="商品面料表-添加", notes="商品面料表-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody GoodsFabric goodsFabric) { public Result<?> add(@RequestBody GoodsFabric goodsFabric,HttpServletRequest req) {
goodsFabricService.save(goodsFabric); String[] split = goodsFabric.getFabricId().split(",");
QueryWrapper<GoodsFabric> queryWrapper = QueryGenerator.initQueryWrapper(goodsFabric, req.getParameterMap());
queryWrapper.eq("goods_id",goodsFabric.getGoodsId());
for (String s : split) {
goodsFabric.setFabricId(s);
goodsFabric.setId(null);
queryWrapper.eq("fabric_id", goodsFabric.getFabricId());
int a = goodsFabricService.count(queryWrapper);
if (a >= 1)
return Result.error("存在已添加过的数据!");
goodsFabricService.save(goodsFabric);
}
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }

@ -133,21 +133,39 @@ public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersServi
} }
/** /**
* 通过id查询 * 生产
* *
* @param id * @param id
* @return * @return
*/ */
@AutoLog(value = "订单基本信息管理-通过id查询") @AutoLog(value = "生产")
@ApiOperation(value="订单基本信息管理-通过id查询", notes="订单基本信息管理-通过id查询") @ApiOperation(value="生产", notes="生产")
@GetMapping(value = "/queryById") @GetMapping(value = "/shengchan")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) { public Result<?> shengchan(@RequestParam(name="id",required=true) String id) {
ZyOrders zyOrders = zyOrdersService.getById(id); ZyOrders zyOrders = zyOrdersService.getById(id);
if(zyOrders==null) { if(zyOrders==null) {
return Result.error("未找到对应数据"); return Result.error("未找到对应数据");
} }
return Result.OK(zyOrders); zyOrders.setDeliveryStatus(2);
zyOrdersService.updateById(zyOrders);
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) {
ZyOrders zyOrders = zyOrdersService.getById(id);
if(zyOrders==null) {
return Result.error("未找到对应数据");
}
return Result.OK(zyOrders);
}
/** /**
* 生成订单编号 * 生成订单编号
* *

Loading…
Cancel
Save