Merge remote-tracking branch 'origin/master'

# Conflicts:
#	ant-design-vue-jeecg/src/views/zystyleaccessories/ZyStyleAccessoriesList.vue
#	ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue
#	ant-design-vue-jeecg/src/views/zystylemodular/ZyStyleModularList.vue
#	ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue
zhc4dev
赵玉瑞 2 years ago
commit 3c8f31099c
  1. 279
      ant-design-vue-jeecg/src/views/devicetype/ZyDevicetypeListRef.vue
  2. 261
      ant-design-vue-jeecg/src/views/erp/tool/ZyToolListRef.vue
  3. 249
      ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessAddList.vue
  4. 216
      ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessList.vue
  5. 259
      ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue
  6. 126
      ant-design-vue-jeecg/src/views/productplan/modules/ZyPlanProcessForm.vue
  7. 107
      ant-design-vue-jeecg/src/views/productplan/modules/ZyPlanProcessForm2.vue
  8. 60
      ant-design-vue-jeecg/src/views/productplan/modules/ZyPlanProcessModal.vue
  9. 60
      ant-design-vue-jeecg/src/views/productplan/modules/ZyPlanProcessModal2.vue
  10. 84
      ant-design-vue-jeecg/src/views/productplan/modules/ZyPlanProcessModal__Style#Drawer.vue
  11. 185
      ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue
  12. 60
      ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanModal.vue
  13. 84
      ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanModal__Style#Drawer.vue
  14. 13
      ant-design-vue-jeecg/src/views/team/GroupxList.vue
  15. 11
      ant-design-vue-jeecg/src/views/team/GroupxMemberList.vue
  16. 33
      ant-design-vue-jeecg/src/views/team/StationList.vue
  17. 21
      ant-design-vue-jeecg/src/views/team/StationMachineList.vue
  18. 21
      ant-design-vue-jeecg/src/views/team/StationToolList.vue
  19. 44
      ant-design-vue-jeecg/src/views/team/modules/GroupxMemberModal.vue
  20. 91
      ant-design-vue-jeecg/src/views/team/modules/GroupxModal.vue
  21. 79
      ant-design-vue-jeecg/src/views/team/modules/StationMachineModal.vue
  22. 13
      ant-design-vue-jeecg/src/views/team/modules/StationModal.vue
  23. 75
      ant-design-vue-jeecg/src/views/team/modules/StationToolModal.vue
  24. 7
      ant-design-vue-jeecg/src/views/zystyleaccessories/ZyStyleAccessoriesList.vue
  25. 7
      ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue
  26. 6
      ant-design-vue-jeecg/src/views/zystylemodel/ZyStyleModelList.vue
  27. 10
      ant-design-vue-jeecg/src/views/zystylemodular/ZyStyleModularList.vue
  28. 9
      ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue
  29. 156
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java
  30. 156
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyProductPlanController.java
  31. 99
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcess.java
  32. 137
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java
  33. 15
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/mapper/ZyPlanProcessMapper.java
  34. 14
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/mapper/ZyProductPlanMapper.java
  35. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/mapper/xml/ZyPlanProcessMapper.xml
  36. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/mapper/xml/ZyProductPlanMapper.xml
  37. 15
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java
  38. 14
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyProductPlanService.java
  39. 19
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java
  40. 18
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyProductPlanServiceImpl.java
  41. 25
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/controller/GroupxMemberController.java
  42. 24
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/controller/StationMachineController.java
  43. 25
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/controller/StationToolController.java
  44. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/entity/Groupx.java
  45. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/entity/StationMachine.java
  46. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/entity/StationTool.java

@ -0,0 +1,279 @@
<template>
<a-card :bordered="false">
<!-- &lt;!&ndash; 查询区域 &ndash;&gt;-->
<!-- <div class="table-page-search-wrapper">-->
<!-- <a-form layout="inline" @keyup.enter.native="searchQuery">-->
<!-- <a-row :gutter="24">-->
<!-- </a-row>-->
<!-- </a-form>-->
<!-- </div>-->
<!-- &lt;!&ndash; 查询区域-END &ndash;&gt;-->
<!-- 操作按钮区域 -->
<!-- <div class="table-operator">-->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<!-- </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"
bordered
rowKey="id"
class="j-table-force-nowrap"
:scroll="{x:true}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:customRow="clickThenSelect"
@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>-->
<!-- <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-menu slot="overlay">-->
<!-- <a-menu-item>-->
<!-- <a @click="openDetail(record.id)">详情</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>-->
<!-- </span>-->
</a-table>
</div>
<!-- <a-tabs defaultActiveKey="1">-->
<!-- <a-tab-pane tab="类型参数" key="1" >-->
<!-- <ZyTypeparametersList :mainId="selectedMainId" />-->
<!-- </a-tab-pane>-->
<!-- <a-tab-pane tab="运行参数" key="2" forceRender>-->
<!-- <ZyOperationparametersList :mainId="selectedMainId" />-->
<!-- </a-tab-pane>-->
<!-- </a-tabs>-->
<!-- <ZyDevicetypeDetail ref="ZyDevicetypeDetail"></ZyDevicetypeDetail>-->
<!-- <zyDevicetype-modal ref="modalForm" @ok="modalFormOk"></zyDevicetype-modal>-->
</a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ZyDevicetypeModal from './modules/ZyDevicetypeModal'
import { getAction } from '@/api/manage'
import ZyTypeparametersList from './ZyTypeparametersList'
import ZyOperationparametersList from './ZyOperationparametersList'
import '@/assets/less/TableExpand.less'
import ZyDevicetypeDetail from './modules/ZyDevicetypeDetail'
export default {
name: "ZyDevicetypeList",
mixins:[JeecgListMixin],
components: {
ZyTypeparametersList,
ZyOperationparametersList,
ZyDevicetypeModal,
ZyDevicetypeDetail
},
data () {
return {
description: '设备类型管理页面',
//
columns: [
// {
// title:'',
// align:"center",
// dataIndex: 'code'
// },
{
title:'名称',
align:"center",
dataIndex: 'name'
},
// {
// title:'',
// align:"center",
// dataIndex: 'img',
// scopedSlots: {customRender: 'imgSlot'}
// },
// {
// title:"",
// align:"center",
// dataIndex: 'erweima',
// scopedSlots: {customRender: 'imgeSlot'}
// },
{
title:'类型品牌',
align:"center",
dataIndex: 'brand'
},
// {
// title:'',
// align:"center",
// dataIndex: 'model'
// },
{
title:'生产厂商',
align:"center",
dataIndex: 'manufacturer'
},
{
title:'供货商',
align:"center",
dataIndex: 'supplier'
},
// {
// title:'',
// align:"center",
// dataIndex: 'contact'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'place'
// },
],
url: {
list: "/devicetype/zyDevicetype/list",
delete: "/devicetype/zyDevicetype/delete",
deleteBatch: "/devicetype/zyDevicetype/deleteBatch",
exportXlsUrl: "/devicetype/zyDevicetype/exportXls",
importExcelUrl: "devicetype/zyDevicetype/importExcel",
},
dictOptions:{
},
/* 分页参数 */
ipagination:{
current: 1,
pageSize: 5,
pageSizeOptions: ['5', '10', '50'],
showTotal: (total, range) => {
return range[0] + "-" + range[1] + " 共" + total + "条"
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
selectedMainId:'',
superFieldList:[],
selectedRowKeys: [],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
}
},
methods: {
onSelectChange(selectedRowKeys){
console.log('selectedRowKeys changed: ', selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
},
initDictConfig(){
},
clickThenSelect(record) {
return {
on: {
click: () => {
this.onSelectChange(record.id.split(","), [record]);
}
}
}
},
onClearSelected() {
this.selectedRowKeys = [];
this.selectionRows = [];
this.selectedMainId=''
},
// onSelectChange(selectedRowKeys, selectionRows) {
// this.selectedMainId=selectedRowKeys[0]
// this.selectedRowKeys = selectedRowKeys;
// this.selectionRows = selectionRows;
// },
loadData(arg) {
if(!this.url.list){
this.$message.error("请设置url.list属性!")
return
}
// 1
if (arg === 1) {
this.ipagination.current = 1;
}
this.onClearSelected()
var params = this.getQueryParams();//
this.loading = true;
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records;
this.ipagination.total = res.result.total;
}
if(res.code===510){
this.$message.warning(res.message)
}
this.loading = false;
})
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'pid',text:'父级节点',dictCode:''})
fieldList.push({type:'string',value:'code',text:'类型编号',dictCode:''})
fieldList.push({type:'string',value:'name',text:'类型名称',dictCode:''})
fieldList.push({type:'string',value:'img',text:'类型图片',dictCode:''})
fieldList.push({type:'string',value:'brand',text:'类型品牌',dictCode:''})
fieldList.push({type:'string',value:'model',text:'型号',dictCode:''})
fieldList.push({type:'string',value:'manufacturer',text:'生产厂商',dictCode:''})
fieldList.push({type:'string',value:'supplier',text:'供货商',dictCode:''})
fieldList.push({type:'string',value:'contact',text:'联系人',dictCode:''})
fieldList.push({type:'string',value:'place',text:'产地',dictCode:''})
this.superFieldList = fieldList
},
openDetail(id){
this.$refs.ZyDevicetypeDetail.showModal(id)
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less'
</style>

@ -0,0 +1,261 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<!-- <div class="table-page-search-wrapper">-->
<!-- <a-form layout="inline" @keyup.enter.native="searchQuery">-->
<!-- <a-row :gutter="24">-->
<!-- </a-row>-->
<!-- </a-form>-->
<!-- </div>-->
<!-- &lt;!&ndash; 查询区域-END &ndash;&gt;-->
<!-- 操作按钮区域 -->
<!-- <div class="table-operator">-->
<!-- &lt;!&ndash; 高级查询区域 &ndash;&gt;-->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<!-- </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"
bordered
rowKey="id"
class="j-table-force-nowrap"
:scroll="{x:true}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:customRow="clickThenSelect"
@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="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>-->
<!-- </span>-->
</a-table>
</div>
<!-- <zy-tool-modal ref="modalForm" @ok="modalFormOk"></zy-tool-modal>-->
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
// import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import {getAction} from "@api/manage";
// import ZyToolModal from './modules/ZyToolModal'
export default {
name: 'ZyToolList',
mixins: [JeecgListMixin],
components: {
// ZyToolModal
},
data() {
return {
description: 'zy_tool管理页面',
//
columns: [
// {
// title: '#',
// dataIndex: '',
// key:'rowIndex',
// width:60,
// align:"center",
// customRender:function (t,r,index) {
// return parseInt(index)+1;
// }
// },
{
title: '工具编号',
align: "center",
dataIndex: 'nums'
},
{
title: '工具名称',
align: "center",
dataIndex: 'name'
},
{
title: '功能',
align: "center",
dataIndex: 'function'
},
{
title: '规格',
align: "center",
dataIndex: 'specs'
},
// {
// title:'',
// align:"center",
// dataIndex: 'scope'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'workshopSection'
// },
// {
// title:' ( 0 1 2 3 4 )',
// align:"center",
// dataIndex: 'status'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'qrode'
// },
// {
// title: '',
// dataIndex: 'action',
// align:"center",
// fixed:"right",
// width:147,
// scopedSlots: { customRender: 'action' }
// }
],
url: {
list: "/tool/zyTool/list",
delete: "/tool/zyTool/delete",
deleteBatch: "/tool/zyTool/deleteBatch",
exportXlsUrl: "/tool/zyTool/exportXls",
importExcelUrl: "tool/zyTool/importExcel",
},
dictOptions:{
},
/* 分页参数 */
ipagination:{
current: 1,
pageSize: 5,
pageSizeOptions: ['5', '10', '50'],
showTotal: (total, range) => {
return range[0] + "-" + range[1] + " 共" + total + "条"
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
selectedMainId:'',
superFieldList:[],
selectedRowKeys: [],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
clickThenSelect(record) {
return {
on: {
click: () => {
this.onSelectChange(record.id.split(","), [record]);
}
}
}
},
onClearSelected() {
this.selectedRowKeys = [];
this.selectionRows = [];
this.selectedMainId=''
},
onSelectChange(selectedRowKeys) {
console.log('selectedRowKeys changed: ', selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
},
initDictConfig() {
},
loadData(arg) {
if(!this.url.list){
this.$message.error("请设置url.list属性!")
return
}
// 1
if (arg === 1) {
this.ipagination.current = 1;
}
this.onClearSelected()
var params = this.getQueryParams();//
this.loading = true;
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records;
this.ipagination.total = res.result.total;
}
if(res.code===510){
this.$message.warning(res.message)
}
this.loading = false;
})
},
getSuperFieldList() {
let fieldList = [];
fieldList.push({type: 'string', value: 'name', text: '工具名称'})
fieldList.push({type: 'string', value: 'nums', text: '工具编号'})
fieldList.push({type: 'string', value: 'function', text: '功能'})
fieldList.push({type: 'string', value: 'specs', text: '规格'})
fieldList.push({type: 'string', value: 'scope', text: '适用范围'})
fieldList.push({type: 'string', value: 'workshopSection', text: '责人工段'})
fieldList.push({type: 'string', value: 'status', text: '状态 ( 0 在库、1 在用、2 遗失 、3 损坏、4 报废)'})
fieldList.push({type: 'string', value: 'qrode', text: '二维码'})
this.superFieldList = fieldList
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -0,0 +1,249 @@
<!--<template>-->
<!-- <a-card :bordered="false">-->
<!-- &lt;!&ndash; 查询区域 &ndash;&gt;-->
<!-- <div class="table-page-search-wrapper">-->
<!-- <a-form layout="inline" @keyup.enter.native="searchQuery">-->
<!-- <a-row :gutter="24">-->
<!-- </a-row>-->
<!-- </a-form>-->
<!-- </div>-->
<!-- &lt;!&ndash; 查询区域-END &ndash;&gt;-->
<!-- &lt;!&ndash; 操作按钮区域 &ndash;&gt;-->
<!-- <div class="table-operator">-->
<!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
<!-- <a-button type="primary" icon="download" @click="handleExportXls('生产计划')">导出</a-button>-->
<!-- &lt;!&ndash; <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">&ndash;&gt;-->
<!-- &lt;!&ndash; <a-button type="primary" icon="import">导入</a-button>&ndash;&gt;-->
<!-- &lt;!&ndash; </a-upload>&ndash;&gt;-->
<!-- &lt;!&ndash; 高级查询区域 &ndash;&gt;-->
<!-- <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>-->
<!-- &lt;!&ndash; table区域-begin &ndash;&gt;-->
<!-- <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="handleEdit(record)">编辑</a>-->
<!-- <a-divider type="vertical"/>-->
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
<!-- <a>删除</a>-->
<!-- </a-popconfirm>-->
<!-- &lt;!&ndash; <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>&ndash;&gt;-->
<!-- </span>-->
<!-- </a-table>-->
<!-- </div>-->
<!-- <zy-product-plan-modal ref="modalForm" @ok="modalFormOk"></zy-product-plan-modal>-->
<!-- </a-card>-->
<!--</template>-->
<!--<script>-->
<!--import '@/assets/less/TableExpand.less'-->
<!--import {mixinDevice} from '@/utils/mixin'-->
<!--import {JeecgListMixin} from '@/mixins/JeecgListMixin'-->
<!--import ZyProductPlanModal from './modules/ZyProductPlanModal'-->
<!--export default {-->
<!-- name: 'ZyProductPlanList',-->
<!-- mixins: [JeecgListMixin, mixinDevice],-->
<!-- components: {-->
<!-- ZyProductPlanModal-->
<!-- },-->
<!-- 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: 'productCode'-->
<!-- },-->
<!-- {-->
<!-- title: '车间编号',-->
<!-- align: "center",-->
<!-- dataIndex: 'workshopId'-->
<!-- },-->
<!-- {-->
<!-- title: '车间负责人',-->
<!-- align: "center",-->
<!-- dataIndex: 'responsiblePerson'-->
<!-- },-->
<!-- {-->
<!-- title: '班组编号',-->
<!-- align: "center",-->
<!-- dataIndex: 'teamId'-->
<!-- },-->
<!-- {-->
<!-- title: '组长',-->
<!-- align: "center",-->
<!-- dataIndex: 'teamLeader'-->
<!-- },-->
<!-- {-->
<!-- title: '生产开始时间',-->
<!-- align: "center",-->
<!-- dataIndex: 'workTime',-->
<!-- customRender: function (text) {-->
<!-- return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)-->
<!-- }-->
<!-- },-->
<!-- {-->
<!-- title: '生产时长',-->
<!-- align: "center",-->
<!-- dataIndex: 'offTime'-->
<!-- },-->
<!-- {-->
<!-- title: '状态',-->
<!-- align: "center",-->
<!-- // dataIndex: 'status'-->
<!-- dataIndex: 'status_dictText'-->
<!-- },-->
<!-- {-->
<!-- title: '是否加急',-->
<!-- align: "center",-->
<!-- // dataIndex: 'speedUp'-->
<!-- dataIndex: 'speedUp_dictText'-->
<!-- },-->
<!-- {-->
<!-- title: '审核人',-->
<!-- align: "center",-->
<!-- dataIndex: 'auditBy'-->
<!-- },-->
<!-- {-->
<!-- title: '审核时间',-->
<!-- align: "center",-->
<!-- dataIndex: 'auditTimr',-->
<!-- customRender: function (text) {-->
<!-- return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)-->
<!-- }-->
<!-- },-->
<!-- {-->
<!-- title: '操作',-->
<!-- dataIndex: 'action',-->
<!-- align: "center",-->
<!-- fixed: "right",-->
<!-- width: 147,-->
<!-- scopedSlots: {customRender: 'action'}-->
<!-- }-->
<!-- ],-->
<!-- url: {-->
<!-- list: "/org.jeecg.modules.productplan/zyProductPlan/list",-->
<!-- delete: "/org.jeecg.modules.productplan/zyProductPlan/delete",-->
<!-- deleteBatch: "/org.jeecg.modules.productplan/zyProductPlan/deleteBatch",-->
<!-- exportXlsUrl: "/org.jeecg.modules.productplan/zyProductPlan/exportXls",-->
<!-- importExcelUrl: "org.jeecg.modules.productplan/zyProductPlan/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: 'productCode', text: '工单编号', dictCode: ''})-->
<!-- fieldList.push({type: 'string', value: 'workshopId', text: '车间id', dictCode: ''})-->
<!-- fieldList.push({type: 'string', value: 'responsiblePerson', text: '车间负责人', dictCode: ''})-->
<!-- fieldList.push({type: 'string', value: 'teamId', text: '班组', dictCode: ''})-->
<!-- fieldList.push({type: 'string', value: 'teamLeader', text: '组长', dictCode: ''})-->
<!-- fieldList.push({type: 'date', value: 'workTime', text: '生产开始时间'})-->
<!-- fieldList.push({type: 'int', value: 'offTime', text: '生产时长', dictCode: ''})-->
<!-- fieldList.push({type: 'int', value: 'status', text: '状态', dictCode: ''})-->
<!-- fieldList.push({type: 'int', value: 'speedUp', text: '是否加急', dictCode: ''})-->
<!-- fieldList.push({type: 'string', value: 'auditBy', text: '审核人', dictCode: ''})-->
<!-- fieldList.push({type: 'date', value: 'auditTimr', text: '审核时间'})-->
<!-- this.superFieldList = fieldList-->
<!-- }-->
<!-- }-->
<!--}-->
<!--</script>-->
<!--<style scoped>-->
<!--@import '~@assets/less/common.less';-->
<!--</style>-->

@ -0,0 +1,216 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
</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">
<!-- <span slot="action1" slot-scope="text, record">-->
<!-- <a @click="jumpPage1(record)">班组成员管理</a>-->
<!-- &lt;!&ndash; <a-divider type="vertical"/>&ndash;&gt;-->
<!-- &lt;!&ndash; <a @click="jumpPage2(record)">工位工具管理</a>&ndash;&gt;-->
<!-- </span>-->
<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>
<a-divider type="vertical"/>
<a @click="jumpPage1(record)">制定计划详情</a>
</span>
</a-table>
</div>
<zy-plan-process-modal ref="modalForm" @ok="modalFormOk"></zy-plan-process-modal>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import ZyPlanProcessModal from './modules/ZyPlanProcessModal2'
export default {
name: 'ZyPlanProcessList',
mixins: [JeecgListMixin, mixinDevice],
components: {
ZyPlanProcessModal
},
data() {
return {
description: '生产计划工序管理页面',
//
columns: [
{
title: '#',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title: '生产计划id',
align: "center",
dataIndex: 'planId'
}, {
title: '工位id',
align: "center",
dataIndex: 'stationId'
},
{
title: '设备id列表',
align: "center",
dataIndex: 'machineIds'
},
{
title: '工具id列表',
align: "center",
dataIndex: 'toolsIds'
},
{
title: '工序id列表',
align: "center",
dataIndex: 'processIds'
},
{
title: '成员id列表',
align: "center",
dataIndex: 'userIds'
},
{
title: '操作',
dataIndex: 'action',
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'}
}
],
url: {
list: "/org.jeecg.modules.productplan/zyPlanProcess/list",
productPlanlist: "/org.jeecg.modules.productplan/zyProductPlan/list",
delete: "/org.jeecg.modules.productplan/zyPlanProcess/delete",
deleteBatch: "/org.jeecg.modules.productplan/zyPlanProcess/deleteBatch",
exportXlsUrl: "/org.jeecg.modules.productplan/zyPlanProcess/exportXls",
importExcelUrl: "org.jeecg.modules.productplan/zyPlanProcess/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: 'planId', text: '生产计划id', dictCode: ''})
fieldList.push({type: 'string', value: 'stationId', text: '工位id', dictCode: ''})
fieldList.push({type: 'string', value: 'machineIds', text: '设备id列表', dictCode: ''})
fieldList.push({type: 'string', value: 'toolsIds', text: '工具id列表', dictCode: ''})
fieldList.push({type: 'string', value: 'processIds', text: '工序id列表', dictCode: ''})
fieldList.push({type: 'string', value: 'userIds', text: '成员id列表', dictCode: ''})
this.superFieldList = fieldList
},
jumpPage1(record) {
this.$router.push({
path: '/productplan/ZyProductPlanList',
// query: { //
// 'stationId': record.id,
// 'stationName': record.stationName,
// },
});
},
// pf(record) {
// this.$router.push({
// path: '/productplan/ZyPlanProcessAddList',
// query: { //
// }
// });
// getAction("productPlanlist", {id: record.id}).then((res) => {
// if (res.success) {
// this.$router.push({
// path: '/src/views/processassessment/assessmentCourse/ClassOpeningTaskList',
// query: { //
// }
// });
// } else {
// this.$message.error(res.message)
// }
// });
// },
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -0,0 +1,259 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
</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="handleEdit(record)">编辑</a>
<a-divider type="vertical"/>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
<!-- <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>-->
</span>
</a-table>
</div>
<zy-product-plan-modal ref="modalForm" @ok="modalFormOk"></zy-product-plan-modal>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import ZyProductPlanModal from './modules/ZyProductPlanModal'
export default {
name: 'ZyProductPlanList',
mixins: [JeecgListMixin, mixinDevice],
components: {
ZyProductPlanModal
},
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: 'productCode'
},
// {
// title: '',
// align: "center",
// dataIndex: 'workshopId'
// },
{
title: '车间名称',
align: "center",
dataIndex: 'workshopId_dictText'
},
{
title: '车间负责人',
align: "center",
dataIndex: 'responsiblePerson'
},
// {
// title: '',
// align: "center",
// dataIndex: 'teamId'
// },
{
title: '班组名称',
align: "center",
dataIndex: 'teamId_dictText'
},
{
title: '组长',
align: "center",
dataIndex: 'teamLeader'
},
{
title: '生产开始时间',
align: "center",
dataIndex: 'workTime',
customRender: function (text) {
return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
}
},
{
title: '生产时长',
align: "center",
dataIndex: 'offTime'
},
{
title: '状态',
align: "center",
// dataIndex: 'status'
dataIndex: 'status_dictText'
},
{
title: '是否加急',
align: "center",
// dataIndex: 'speedUp'
dataIndex: 'speedUp_dictText'
},
{
title: '审核人',
align: "center",
dataIndex: 'auditBy'
},
// {
// title: '',
// align: "center",
// dataIndex: 'auditTimr',
// customRender: function (text) {
// return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
// }
// },
{
title: '操作',
dataIndex: 'action',
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'}
}
],
url: {
list: "/org.jeecg.modules.productplan/zyProductPlan/list",
delete: "/org.jeecg.modules.productplan/zyProductPlan/delete",
deleteBatch: "/org.jeecg.modules.productplan/zyProductPlan/deleteBatch",
exportXlsUrl: "/org.jeecg.modules.productplan/zyProductPlan/exportXls",
importExcelUrl: "org.jeecg.modules.productplan/zyProductPlan/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: 'productCode', text: '工单编号', dictCode: ''})
fieldList.push({type: 'string', value: 'workshopId', text: '车间id', dictCode: ''})
fieldList.push({type: 'string', value: 'responsiblePerson', text: '车间负责人', dictCode: ''})
fieldList.push({type: 'string', value: 'teamId', text: '班组', dictCode: ''})
fieldList.push({type: 'string', value: 'teamLeader', text: '组长', dictCode: ''})
fieldList.push({type: 'date', value: 'workTime', text: '生产开始时间'})
fieldList.push({type: 'int', value: 'offTime', text: '生产时长', dictCode: ''})
fieldList.push({type: 'int', value: 'status', text: '状态', dictCode: ''})
fieldList.push({type: 'int', value: 'speedUp', text: '是否加急', dictCode: ''})
fieldList.push({type: 'string', value: 'auditBy', text: '审核人', dictCode: ''})
fieldList.push({type: 'date', value: 'auditTimr', text: '审核时间'})
this.superFieldList = fieldList
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -0,0 +1,126 @@
<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="生产计划id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planId">
<a-input v-model="model.planId" placeholder="请选择生产计划"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="工位id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId">
<a-input v-model="model.stationId" placeholder="请输入工位id"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="设备id列表" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="machineIds">
<a-input v-model="model.machineIds" placeholder="请输入设备id列表"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="工具id列表" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toolsIds">
<a-input v-model="model.toolsIds" placeholder="请输入工具id列表"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="工序id列表" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processIds">
<a-input v-model="model.processIds" placeholder="请输入工序id列表"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="成员id列表" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userIds">
<a-input v-model="model.userIds" placeholder="请输入成员id列表"></a-input>
</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: 'ZyPlanProcessForm',
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: {},
url: {
add: "/org.jeecg.modules.productplan/zyPlanProcess/add",
edit: "/org.jeecg.modules.productplan/zyPlanProcess/edit",
queryById: "/org.jeecg.modules.productplan/zyPlanProcess/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,107 @@
<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="planId">
<!-- <a-input v-model="model.planId" placeholder="请选择生产计划"></a-input>-->
<j-dict-select-tag type="list" v-model="model.planId" dictCode="zy_product_plan,id,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: 'ZyPlanProcessForm',
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: {
planId: [
{required: true},
],
},
url: {
add: "/org.jeecg.modules.productplan/zyPlanProcess/add",
edit: "/org.jeecg.modules.productplan/zyPlanProcess/edit",
queryById: "/org.jeecg.modules.productplan/zyPlanProcess/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,60 @@
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
switchFullscreen
@ok="handleOk"
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<zy-plan-process-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></zy-plan-process-form>
</j-modal>
</template>
<script>
import ZyPlanProcessForm from './ZyPlanProcessForm'
export default {
name: 'ZyPlanProcessModal',
components: {
ZyPlanProcessForm
},
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>

@ -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-plan-process-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></zy-plan-process-form>
</j-modal>
</template>
<script>
import ZyPlanProcessForm from './ZyPlanProcessForm2'
export default {
name: 'ZyPlanProcessModal',
components: {
ZyPlanProcessForm
},
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>

@ -0,0 +1,84 @@
<template>
<a-drawer
:title="title"
:width="width"
placement="right"
:closable="false"
@close="close"
destroyOnClose
:visible="visible">
<zy-plan-process-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></zy-plan-process-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 ZyPlanProcessForm from './ZyPlanProcessForm'
export default {
name: 'ZyPlanProcessModal',
components: {
ZyPlanProcessForm
},
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,185 @@
<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="productCode">-->
<!-- <a-input v-model="model.productCode" placeholder="请输入工单编号" ></a-input>-->
<!-- </a-form-model-item>-->
<a-form-model-item label="工单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId">
<j-dict-select-tag type="list" v-model="model.productCode"
dictCode="work_order,work_id,work_code,work_order_status='0'"
placeholder="请选择工单编号"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<!-- <a-form-model-item label="车间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workshopId">-->
<!-- <a-input v-model="model.workshopId" placeholder="请输入车间id" ></a-input>-->
<!-- </a-form-model-item>-->
<a-form-model-item label="车间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workshopId">
<j-select-depart placeholder="请选择车间" v-model="model.workshopId" @change="groupxValChange()"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="车间负责人" :labelCol="labelCol" :wrapperCol="wrapperCol"
prop="responsiblePerson">
<j-select-multi-user placeholder="请选择车间负责人"
v-model="model.responsiblePerson"></j-select-multi-user>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="班组" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teamId">
<j-dict-select-tag type="list" v-model="model.teamId"
placeholder="请先选择所属车间班组" :dict-code="groupxVal"
:disabled="model.workshopId==null"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="组长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teamLeader">
<!-- <a-input v-model="model.teamLeader" placeholder="请输入组长"></a-input>-->
<j-dict-select-tag type="list" v-model="model.teamLeader"
placeholder="请先选择所属车间班组" :dict-code="groupxVal2"
:disabled="model.workshopId==null"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="生产开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workTime">
<j-date placeholder="请选择生产开始时间" v-model="model.workTime" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="生产时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="offTime">
<a-input-number v-model="model.offTime" placeholder="请输入生产时长" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="statu">
<j-dict-select-tag type="list" v-model="model.status" dictCode="productplanStatus"
placeholder="请选择状态"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否加急" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="speedUp">
<j-dict-select-tag type="radio" v-model="model.speedUp" dictCode="sfjj" placeholder="请选择是否加急"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditBy">
<!-- <a-input v-model="model.auditBy" placeholder="请输入审核人" ></a-input>-->
<j-select-multi-user placeholder="请选择审核人" v-model="model.auditBy"></j-select-multi-user>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditTimr">
<j-date placeholder="请选择审核时间" v-model="model.auditTimr" style="width: 100%"/>
</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: 'ZyProductPlanForm',
components: {},
props: {
//
disabled: {
type: Boolean,
default: false,
required: false
}
},
data() {
return {
groupxVal: "",
groupxVal2: "",
model: {},
labelCol: {
xs: {span: 24},
sm: {span: 5},
},
wrapperCol: {
xs: {span: 24},
sm: {span: 16},
},
confirmLoading: false,
validatorRules: {
workOrderId: [
{required: true,},
],
workshopId: [
{required: true,},
], teamId: [
{required: true,},
],
},
url: {
add: "/org.jeecg.modules.productplan/zyProductPlan/add",
edit: "/org.jeecg.modules.productplan/zyProductPlan/edit",
queryById: "/org.jeecg.modules.productplan/zyProductPlan/queryById"
}
}
},
computed: {
formDisabled() {
return this.disabled
},
},
created() {
//model
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
groupxValChange() {
// alert("" + this.model.workshopId);
// this.basicInfoCode = "py_basic_info,chart_head,id, major_id='" + this.queryParam.majorId + "'";
this.groupxVal = "groupx,group_name,id,depart_id='" + this.model.workshopId + "'";
this.groupxVal2 = "groupx,enterprises_manager,enterprises_manager,depart_id='" + this.model.workshopId + "'";
},
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,60 @@
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
switchFullscreen
@ok="handleOk"
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<zy-product-plan-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></zy-product-plan-form>
</j-modal>
</template>
<script>
import ZyProductPlanForm from './ZyProductPlanForm'
export default {
name: 'ZyProductPlanModal',
components: {
ZyProductPlanForm
},
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>

@ -0,0 +1,84 @@
<template>
<a-drawer
:title="title"
:width="width"
placement="right"
:closable="false"
@close="close"
destroyOnClose
:visible="visible">
<zy-product-plan-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></zy-product-plan-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 ZyProductPlanForm from './ZyProductPlanForm'
export default {
name: 'ZyProductPlanModal',
components: {
ZyProductPlanForm
},
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>

@ -6,7 +6,7 @@
<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="部门编号">
<a-form-item label="部门">
<j-select-depart placeholder="请选择部门" v-model="queryParam.departId"/>
<!-- <a-input placeholder="请输入部门编号" v-model="queryParam.departId"></a-input>-->
</a-form-item>
@ -140,10 +140,15 @@ export default {
return parseInt(index) + 1;
}
},
// {
// title: '',
// align: "center",
// dataIndex: 'departId'
// },
{
title: '部门编号',
title: '部门名称',
align: "center",
dataIndex: 'departId'
dataIndex: 'departId_dictText'
},
{
title: '班组名称',
@ -199,6 +204,8 @@ export default {
query: { //
'groupxId': record.id,
'groupName': record.groupName,
'departName': record.departId_dictText,
// 'departName': record.enterprisesManager,
},
});
},

@ -129,9 +129,9 @@ export default {
}
},
{
title: '班组ID',
title: '部门名称',
align: "center",
dataIndex: 'groupxId'
dataIndex: 'departName'
},
{
title: '班组名称',
@ -139,7 +139,7 @@ export default {
dataIndex: 'groupName'
},
{
title: '成员ID',
title: '成员名称',
align: "center",
dataIndex: 'userId'
},
@ -166,6 +166,7 @@ export default {
loadRouteType: false,
groupxId: "",
groupName: "",
departName: "",
dictOptions: {},
// superFieldList: [],
}
@ -192,8 +193,9 @@ export default {
if (this.loadRouteType === false) {
this.groupxId = this.$route.query.groupxId;
this.groupName = this.$route.query.groupName;
this.departName = this.$route.query.departName;
// this.biaoTi = this.$route.query.styleNames+"";
// console.log("*******groupxId:" + this.groupxId)
console.log("*******departName:" + this.departName)
this.loadRouteType = true;
}
},
@ -224,6 +226,7 @@ export default {
}).finally(() => {
this.dataSource.forEach(item => {
item['groupName'] = this.groupName;
item['departName'] = this.departName;
})
this.loading = false
})

@ -10,7 +10,7 @@
<!-- <a-form-item label="车间ID">-->
<!-- <a-input placeholder="请输入车间ID" v-model="queryParam.departId"></a-input>-->
<!-- </a-form-item>-->
<a-form-model-item label="车间编号">
<a-form-model-item label="车间">
<!-- <a-input placeholder="请输入部门编号" v-model="model.departId"/>-->
<j-select-depart placeholder="请选择车间" v-model="queryParam.departId"/>
</a-form-model-item>
@ -79,9 +79,10 @@
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange">
<span slot="action1" slot-scope="text, record">
<a @click="jumpPage1(record)">工位设备管理</a>
<a-divider type="vertical"/>
<a @click="jumpPage2(record)">工位工具管理</a>
<a @click="jumpPage1(record)">管理</a>
</span>
<span slot="action2" slot-scope="text, record">
<a @click="jumpPage2(record)">管理</a>
</span>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
@ -129,25 +130,25 @@ export default {
return parseInt(index) + 1;
}
},
{
/*{
title: '车间ID',
align: "center",
dataIndex: 'departId'
},
},*/
{
title: '车间名称',
align: "center",
dataIndex: 'departName'
},
{
title: '工位名称',
title: '工位序号',
align: "center",
dataIndex: 'stationName'
dataIndex: 'stationNum'
},
{
title: '工位序号',
title: '工位名称',
align: "center",
dataIndex: 'stationNum'
dataIndex: 'stationName'
},
{
title: '备注',
@ -155,13 +156,21 @@ export default {
dataIndex: 'description'
},
{
title: '管理模块',
title: '工位设备模块',
dataIndex: 'action1',
align: "center",
// fixed: "right",
width: 80,
scopedSlots: {customRender: 'action1'}
},
{
title: '工位工具模块',
dataIndex: 'action2',
align: "center",
// fixed: "right",
width: 80,
scopedSlots: {customRender: 'action2'}
},
{
title: '操作',
dataIndex: 'action',
@ -193,6 +202,7 @@ export default {
query: { //
'stationId': record.id,
'stationName': record.stationName,
'stationNum': record.stationNum,
},
});
},
@ -202,6 +212,7 @@ export default {
query: { //
'stationId': record.id,
'stationName': record.stationName,
'stationNum': record.stationNum,
},
});
},

@ -131,20 +131,30 @@ export default {
return parseInt(index) + 1;
}
},
// {
// title: 'ID',
// align: "center",
// dataIndex: 'stationId'
// },
{
title: '工位ID',
title: '工位序号',
align: "center",
dataIndex: 'stationId'
dataIndex: 'stationNum'
},
{
title: '工位名称',
align: "center",
dataIndex: 'stationName',
},
// {
// title: 'ID',
// align: "center",
// dataIndex: 'machineId'
// },
{
title: '设备ID',
title: '设备名称',
align: "center",
dataIndex: 'machineId'
dataIndex: 'machineId_dictText'
},
{
title: '操作',
@ -164,6 +174,7 @@ export default {
loadRouteType: false,
stationId: "",
stationName: "",
stationNum: "",
dictOptions: {},
// superFieldList: [],
}
@ -193,6 +204,7 @@ export default {
if (this.loadRouteType === false) {
this.stationId = this.$route.query.stationId;
this.stationName = this.$route.query.stationName;
this.stationNum = this.$route.query.stationNum;
// this.biaoTi = this.$route.query.styleNames+"";
// console.log("*******stationId:" + this.stationId)
this.loadRouteType = true;
@ -225,6 +237,7 @@ export default {
}).finally(() => {
this.dataSource.forEach(item => {
item['stationName'] = this.stationName;
item['stationNum'] = this.stationNum;
})
this.loading = false
})

@ -129,20 +129,30 @@ export default {
return parseInt(index) + 1;
}
},
// {
// title: 'ID',
// align: "center",
// dataIndex: 'stationId'
// },
{
title: '工位ID',
title: '工位序号',
align: "center",
dataIndex: 'stationId'
dataIndex: 'stationNum'
},
{
title: '工位名称',
align: "center",
dataIndex: 'stationName',
},
// {
// title: 'ID',
// align: "center",
// dataIndex: 'toolsId'
// },
{
title: '工具ID',
title: '工具名称',
align: "center",
dataIndex: 'toolsId'
dataIndex: 'toolsId_dictText'
},
{
title: '操作',
@ -162,6 +172,7 @@ export default {
loadRouteType: false,
stationId: "",
stationName: "",
stationNum: "",
dictOptions: {},
// superFieldList: [],
}
@ -191,6 +202,7 @@ export default {
if (this.loadRouteType === false) {
this.stationId = this.$route.query.stationId;
this.stationName = this.$route.query.stationName;
this.stationNum = this.$route.query.stationNum;
// this.biaoTi = this.$route.query.styleNames+"";
// console.log("*******stationId:" + this.stationId)
this.loadRouteType = true;
@ -223,6 +235,7 @@ export default {
}).finally(() => {
this.dataSource.forEach(item => {
item['stationName'] = this.stationName;
item['stationNum'] = this.stationNum;
})
this.loading = false
})

@ -16,13 +16,13 @@
<!-- &lt;!&ndash; <a-input placeholder="请选择班组" v-model="model.groupxId" />&ndash;&gt;-->
<!-- <j-search-select-tag placeholder="请选择班组" v-model="model.groupxId" dict="groupx,group_name,id"/>-->
<!-- </a-form-model-item>-->
<a-form-item :label-col="labelCol" :wrapper-col="wrapperCol" label="班组成员">
<!-- <j-select-user-by-dep v-model="model.userId" :multi="false"></j-select-user-by-dep>-->
<a-form-model-item :label-col="labelCol" :wrapper-col="wrapperCol" prop="userId" label="班组成员">
<!-- <j-select-user-by-dep v-model="model.userId" :multi="false"></j-select-user-by-dep>-->
<j-select-multi-user placeholder="请选择成员" v-model="model.userId"></j-select-multi-user>
</a-form-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="joinTime" label="加入时间">
<a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.joinTime"/>
</a-form-model-item>
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="joinTime" label="加入时间">-->
<!-- <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.joinTime"/>-->
<!-- </a-form-model-item>-->
</a-form-model>
</a-spin>
@ -54,14 +54,15 @@ export default {
confirmLoading: false,
validatorRules: {
userId: [
{required: true},
{required: true, message: "成员不能为空"},
],
joinTime: [
{required: true},
]
// joinTime: [
// {required: true},
// ]
},
url: {
add: "/groupxMember/add",
addBatch: "/groupxMember/addBatch",
edit: "/groupxMember/edit",
}
,
@ -98,25 +99,24 @@ export default {
let httpurl = '';
let method = '';
if (!this.model.id) {
httpurl += this.url.add;
httpurl += this.url.addBatch;
method = 'post';
} else {
httpurl += this.url.edit;
method = 'put';
}
console.log("----------the add() model:", this.model);
this.model.stationId =
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;
that.close();
})
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;
that.close();
})
} else {
return false;
}

@ -12,18 +12,33 @@
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departId" label="部门编号">
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departId" label="部门">
<!-- <a-input placeholder="请输入部门编号" v-model="model.departId"/>-->
<j-select-depart placeholder="请选择部门" v-model="model.departId"/>
<!-- <j-select-depart placeholder="请选择部门" v-model="model.departId"/>-->
<j-dict-select-tag type="list" v-model="model.departId" dictCode="sys_depart,depart_name,id,org_type='1'"
placeholder="请选择部门"/>
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="groupName" label="班组名称">
<a-input placeholder="请输入班组名称" v-model="model.groupName"/>
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterprisesManager" label="负责人">
<a-input placeholder="请输入负责人" v-model="model.enterprisesManager"/>
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterprisesManager" label="负责人">-->
<!-- <j-select-user-by-dep placeholder="请选择负责人" v-model="model.enterprisesManager" :multi="false"-->
<!-- @change="getMobile"></j-select-user-by-dep>-->
<!-- {{ model.enterprisesManager }}-->
<!-- </a-form-model-item>-->
<a-form-model-item :label-col="labelCol" :wrapper-col="wrapperCol" prop="enterprisesManager" label="班组成员">
<!-- <j-select-user-by-dep v-model="model.userId" :multi="false"></j-select-user-by-dep>-->
<j-select-multi-user placeholder="请选择成员" v-model="model.enterprisesManager" @change="getMobile()" :multiple="false" ></j-select-multi-user>
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mobile" label="手机号">
<a-input placeholder="请输入手机号" v-model="model.mobile"/>
<!-- <j-dict-select-tag type="list" v-model="model.mobile" :dictCode="mobileVal"></j-dict-select-tag>-->
</a-form-model-item>
</a-form-model>
@ -32,20 +47,21 @@
</template>
<script>
import {httpAction} from '@/api/manage'
import {httpAction, getAction} from '@/api/manage'
import JDictSelectTag from '@/components/dict/JDictSelectTag'
import JSelectDepart from '@/components/jeecgbiz/JSelectDepart'
import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep'
export default {
name: "GroupxModal",
components: {
JDictSelectTag,
JSelectDepart,
JSelectUserByDep,
},
data() {
return {
title: "操作",
visible: false,
// mobileVal: "",
model: {},
labelCol: {
xs: {span: 24},
@ -59,29 +75,76 @@ export default {
confirmLoading: false,
validatorRules: {
departId: [
{required: true},
{required: true, message: "部门不能为空"},
],
groupName: [
{required: true},
{required: true, message: '班组名称不能为空!'},
{pattern: /(^[\u4e00-\u9fa5_a-zA-Z0-9_]{1,10}$)/, message: '班组名称不能为空且长度不能超过10!'}
],
enterprisesManager: [
{required: true},
],
mobile: [
{required: false},
{pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'},
{required: true, message: "负责人不能为空"},
],
// mobile: [
// {required: false},
// {pattern: /^1[3456789]\d{9}$/, message: '!'},
// ],
},
url: {
add: "/groupx/add",
edit: "/groupx/edit",
sysUserList: "/sys/user/list",
},
//
selectUserQueryConfig: [
{key: 'phone', label: '电话'},
],
}
},
created() {
},
methods: {
getMobile() {
let that = this;
// alert(userIds);
let param = {
"username": that.model.enterprisesManager,
}
getAction(that.url.sysUserList, param).then((res) => {
if (res.success) {
let phone = JSON.stringify(res.result.records[0].phone);
console.log("phone:",phone)
if (phone.length > 11) {
phone = phone.substring(1, 12);
}else {
phone = "";
}
that.model = Object.assign(that.model, {'mobile': phone});
this.$forceUpdate();
}
});
// getMobile(userIds) {
// let that = this;
// // alert(userIds);
// let param = {
// "username": userIds,
// }
// getAction(this.url.sysUserList, param).then((res) => {
// if (res.success) {
//
// let phone = JSON.stringify(res.result.records[0].phone);
// if (phone.length > 11) {
// phone = phone.substring(1, 12);
// }else {
// phone = "";
// }
// that.model = Object.assign(that.model, {'mobile': phone});
// this.$forceUpdate();
// }
// });
},
add() {
//
this.edit({});

@ -1,47 +1,53 @@
<template>
<j-modal
:title="title"
:width="800"
:width="900"
:visible="visible"
:confirmLoading="confirmLoading"
switchFullscreen
@ok="handleOk"
@ok="handleOk2"
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" :model="model" :rules="validatorRules">
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId" label="车间工位编号">-->
<!-- <j-select-depart placeholder="请选择工位" v-model="model.stationId"/>-->
<!-- </a-form-model-item>-->
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId" label="工位ID">-->
<!-- <a-input placeholder="请输入工位ID" v-model="model.stationId" />-->
<!-- </a-form-model-item>-->
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="machineId" label="设备">-->
<!-- &lt;!&ndash; <a-input placeholder="请选择设备" v-model="model.machineId" />&ndash;&gt;-->
<!-- <j-select-depart placeholder="请选择设备" v-model="model.machineId"/>-->
<!-- </a-form-model-item>-->
<a-form-model-item prop="machineId" label="设备">
<j-dict-select-tag v-model="model.machineId" dictCode="zy_devicetype,name,id" placeholder="请选择设备" />
</a-form-model-item>
<!-- <a-spin :spinning="confirmLoading">-->
<!-- <a-form-model ref="form" :model="model" :rules="validatorRules">-->
<!-- &lt;!&ndash; <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId" label="车间工位编号">&ndash;&gt;-->
<!-- &lt;!&ndash; <j-select-depart placeholder="请选择工位" v-model="model.stationId"/>&ndash;&gt;-->
<!-- &lt;!&ndash; </a-form-model-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId" label="工位ID">&ndash;&gt;-->
<!-- &lt;!&ndash; <a-input placeholder="请输入工位ID" v-model="model.stationId" />&ndash;&gt;-->
<!-- &lt;!&ndash; </a-form-model-item>&ndash;&gt;-->
<!--&lt;!&ndash; <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="machineId" label="设备">&ndash;&gt;-->
<!--&lt;!&ndash; &lt;!&ndash; <a-input placeholder="请选择设备" v-model="model.machineId" />&ndash;&gt;&ndash;&gt;-->
<!--&lt;!&ndash; <j-select-depart placeholder="请选择设备" v-model="model.machineId"/>&ndash;&gt;-->
<!--&lt;!&ndash; </a-form-model-item>&ndash;&gt;-->
<!--&lt;!&ndash; <a-form-model-item prop="machineId" label="设备">-->
<!-- <j-dict-select-tag v-model="model.machineId" dictCode="zy_devicetype,name,id" placeholder="请选择设备" />-->
<!-- </a-form-model-item>&ndash;&gt;-->
<!-- </a-form-model>-->
<!-- </a-spin>-->
</a-form-model>
</a-spin>
<ZyDevicetypeListRef ref="modalForm2"></ZyDevicetypeListRef>
</j-modal>
</template>
<script>
import {httpAction} from '@/api/manage'
import moment from "moment"
import ZyDevicetypeListRef from '@views/devicetype/ZyDevicetypeListRef'
export default {
name: "StationMachineModal",
components:{
ZyDevicetypeListRef
},
data() {
return {
title: "操作",
visible: false,
model: {
stationId: '',
machineId:[],
},
labelCol: {
xs: {span: 24},
@ -60,6 +66,7 @@ export default {
},
url: {
add: "/stationMachine/add",
addBatch: "/stationMachine/addBatch",
edit: "/stationMachine/edit",
},
}
@ -81,6 +88,40 @@ export default {
this.visible = false;
this.$refs.form.clearValidate();
},
handleOk2() {
this.model.machineId = this.$refs["modalForm2"].selectedRowKeys.toString();
const that = this;
//
// this.$refs.form.validate(valid => {
// if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if (!this.model.id) {
httpurl += this.url.addBatch;
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;
that.close();
})
// } else {
// return false;
// }
// })
},
handleOk() {
const that = this;
//

@ -16,9 +16,10 @@
<!-- label="车间ID">-->
<!-- <a-input placeholder="请输入车间ID" v-model="model.departId"/>-->
<!-- </a-form-model-item>-->
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departId" label="车间编号">
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departId" label="车间">
<!-- <a-input placeholder="请输入部门编号" v-model="model.departId"/>-->
<j-select-depart placeholder="请选择车间" v-model="model.departId"/>
<!-- <j-select-depart placeholder="请选择车间" v-model="model.departId"/>-->
<j-dict-select-tag type="list" v-model="model.departId" dictCode="sys_depart,depart_name,id,org_type='1'" placeholder="请选择车间" />
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationName" label="工位名称">
<a-input placeholder="请输入工位名称" v-model="model.stationName"/>
@ -58,13 +59,15 @@ export default {
confirmLoading: false,
validatorRules: {
departId: [
{required: true},
{required: true, message: "部门不能为空"},
],
stationName: [
{required: true},
{required: true,message:"工位名称不能为空"},
{pattern: /(^[\u4e00-\u9fa5_a-zA-Z0-9_]{1,10}$)/, message: '工位名称为空且长度不能超过10!'}
],
stationNum: [
{required: true},
{required: true,message:"工位序号不能不空"},
{pattern: /^[1-9]{0,100}$/, message: '工位序号不能为空且长度为(1-100)间正整数'}
],
},
url: {

@ -1,50 +1,42 @@
<template>
<j-modal
:title="title"
:width="700"
:width="900"
:visible="visible"
:confirmLoading="confirmLoading"
switchFullscreen
@ok="handleOk"
@ok="handleOk2"
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" :model="model" :rules="validatorRules">
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId" label="车间工位编号">-->
<!-- <a-input placeholder="车间工位编号" v-model="model.stationId"/>-->
<!--&lt;!&ndash; <j-select-depart placeholder="请选择工位" v-model="model.stationId"/>&ndash;&gt;-->
<!-- </a-form-model-item>-->
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stationId" label="工位ID">-->
<!-- <a-input placeholder="请输入工位ID" v-model="model.stationId" />-->
<!-- </a-form-model-item>-->
<!-- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toolsId" label="工具ID">-->
<!-- <a-input placeholder="请输入工具ID" v-model="model.toolsId" />-->
<!-- </a-form-model-item>-->
<a-form-model-item prop="toolsId" label="工具">
<!-- <a-input placeholder="请输入部门编号" v-model="model.departId"/>-->
<!-- <j-select-depart placeholder="请选择工具" v-model="model.toolsId"/>-->
<j-dict-select-tag v-model="model.toolsId" dictCode="zy_tool,name,id" placeholder="请选择工具" />
</a-form-model-item>
</a-form-model>
</a-spin>
<!-- <a-spin :spinning="confirmLoading">-->
<!-- <a-form-model ref="form" :model="model" :rules="validatorRules">-->
<!-- <a-form-model-item prop="toolsId" label="工具">-->
<!-- <j-dict-select-tag v-model="model.toolsId" dictCode="zy_tool,name,id" placeholder="请选择工具" />-->
<!-- </a-form-model-item>-->
<!-- </a-form-model>-->
<!-- </a-spin>-->
<ZyToolListRef ref="modalForm2"></ZyToolListRef>
</j-modal>
</template>
<script>
import {httpAction} from '@/api/manage'
import moment from "moment"
import ZyToolListRef from "@views/erp/tool/ZyToolListRef"
export default {
name: "StationToolModal",
components: {
ZyToolListRef
},
data() {
return {
title: "操作",
visible: false,
model: {
stationId: '',
toolsId:[],
},
labelCol: {
xs: {span: 24},
@ -63,6 +55,7 @@ export default {
},
url: {
add: "/stationTool/add",
addBatch: "/stationTool/addBatch",
edit: "/stationTool/edit",
},
}
@ -91,6 +84,40 @@ export default {
this.visible = false;
this.$refs.form.clearValidate();
},
handleOk2() {
this.model.toolsId = this.$refs["modalForm2"].selectedRowKeys.toString();
// console.log("model.toolids:"+this.model.toolsId);
const that = this;
//
// this.$refs.form.validate(valid => {
// if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if (!this.model.id) {
httpurl += this.url.addBatch;
method = 'post';
} else {
httpurl += this.url.edit;
method = 'put';
}
console.log("----------the add() model:", JSON.stringify(this.model));
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;
that.close();
})
// } else {
// return false;
// }
// })
},
handleOk() {
const that = this;
//
@ -127,8 +154,6 @@ export default {
handleCancel() {
this.close()
},
}
}
</script>

@ -1,5 +1,6 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -27,7 +28,7 @@
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
<a-button type="primary">{{biaoTi}}</a-button>
<!-- <a-button type="primary">{{biaoTi}}</a-button>-->
</a-row>
</a-row>
</a-form>
@ -38,6 +39,7 @@
<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-button type="primary" icon="rollback" @click="fanHui()">返回</a-button>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
<!-- @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
@ -56,8 +58,7 @@
<a-icon type="down"/>
</a-button>
</a-dropdown>
<!-- <a-button type="primary" style="left: 80%" @click="fanHui()">返回</a-button>-->
<a-button type="primary" @click="fanHui()">返回</a-button>
</div>
<!-- table区域-begin -->

@ -1,5 +1,6 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -22,7 +23,7 @@
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
<a-button type="primary">{{biaoTi}}</a-button>
<!-- <a-button type="primary">{{biaoTi}}</a-button>-->
</a-row>
</a-form>
</div>
@ -33,6 +34,7 @@
<div class="table-operator">
<a-button @click="zyStyleFabricHandleAdd(id)" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('款式面料表')">导出</a-button>
<a-button type="primary" icon="rollback" @click="fanHui()">返回</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>-->
@ -48,8 +50,7 @@
<a-icon type="down"/>
</a-button>
</a-dropdown>
<!-- <a-button type="primary" style="left: 80%" @click="fanHui()">返回</a-button>-->
<a-button type="primary" @click="fanHui()">返回</a-button>
</div>
<!-- table区域-begin -->

@ -5,13 +5,15 @@
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col>
<a-button type="primary">{{biaoTi}}</a-button>
<!-- <a-button type="primary">{{biaoTi}}</a-button>-->
<p style="font-size: 30px;color:#333">{{biaoTi}}</p>
</a-col>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<a-button type="primary" @click="fanHui()">返回</a-button>
<a-button type="primary" icon="rollback" @click="fanHui()">返回</a-button>
<!-- table区域-begin -->
<div>

@ -1,12 +1,14 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333;margin-bottom: 0px">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col>
<!-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a-button type="primary">{{biaoTi}}</a-button>-->
<a-button type="primary">{{biaoTi}}</a-button>
<!-- <a-button type="primary">{{biaoTi}}</a-button>-->
</a-col>
</a-row>
</a-form>
@ -18,7 +20,9 @@
<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"-->
<a-button type="primary" icon="rollback" @click="fanHui()">返回</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>-->
@ -36,8 +40,6 @@
<a-icon type="down"/>
</a-button>
</a-dropdown>
<!-- <a-button type="primary" style="left: 80%" @click="fanHui()">返回</a-button>-->
<a-button type="primary" @click="fanHui()">返回</a-button>
</div>
<!-- table区域-begin -->

@ -1,5 +1,6 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -28,7 +29,7 @@
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
<a-button type="primary">{{biaoTi}}</a-button>
<!-- <a-button type="primary">{{biaoTi}}</a-button>-->
</a-row>
</a-form>
@ -40,6 +41,7 @@
<div class="table-operator">
<a-button @click="styleModuleHandleAdd(id,typeId)" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('款式模块表')">导出</a-button>
<a-button type="primary" icon="rollback" @click="fanHui()">返回</a-button>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
@ -57,8 +59,7 @@
<a-icon type="down"/>
</a-button>
</a-dropdown>
<!-- <a-button type="primary" style="left: 80%" @click="fanHui()">返回</a-button>-->
<a-button type="primary" @click="fanHui()">返回</a-button>
</div>
<!-- table区域-begin -->
<div>
@ -247,7 +248,7 @@ export default {
this.typeId = this.$route.query.typeId;
this.biaoTi = this.$route.query.styleNames+"款式模块管理";
console.log('********id对应的为款式style_id: ' + this.id);
//console.log('********biaoTi: ' + this.biaoTi);
console.log('********biaoTi: ' + this.biaoTi);
console.log('******typeId此为类型typeId: ' + this.typeId);
this.loadRouteType = true;
}

@ -0,0 +1,156 @@
package org.jeecg.modules.productplan.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.service.IZyPlanProcessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
* @Description: 生产计划工序
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
@Api(tags = "生产计划工序")
@RestController
@RequestMapping("/org.jeecg.modules.productplan/zyPlanProcess")
@Slf4j
public class ZyPlanProcessController extends JeecgController<ZyPlanProcess, IZyPlanProcessService> {
@Autowired
private IZyPlanProcessService zyPlanProcessService;
/**
* 分页列表查询
*
* @param zyPlanProcess
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "生产计划工序-分页列表查询")
@ApiOperation(value = "生产计划工序-分页列表查询", notes = "生产计划工序-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(ZyPlanProcess zyPlanProcess,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ZyPlanProcess> queryWrapper = QueryGenerator.initQueryWrapper(zyPlanProcess, req.getParameterMap());
Page<ZyPlanProcess> page = new Page<ZyPlanProcess>(pageNo, pageSize);
IPage<ZyPlanProcess> pageList = zyPlanProcessService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param zyPlanProcess
* @return
*/
@AutoLog(value = "生产计划工序-添加")
@ApiOperation(value = "生产计划工序-添加", notes = "生产计划工序-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody ZyPlanProcess zyPlanProcess) {
zyPlanProcessService.save(zyPlanProcess);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param zyPlanProcess
* @return
*/
@AutoLog(value = "生产计划工序-编辑")
@ApiOperation(value = "生产计划工序-编辑", notes = "生产计划工序-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@RequestBody ZyPlanProcess zyPlanProcess) {
zyPlanProcessService.updateById(zyPlanProcess);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "生产计划工序-通过id删除")
@ApiOperation(value = "生产计划工序-通过id删除", notes = "生产计划工序-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
zyPlanProcessService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "生产计划工序-批量删除")
@ApiOperation(value = "生产计划工序-批量删除", notes = "生产计划工序-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.zyPlanProcessService.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) {
ZyPlanProcess zyPlanProcess = zyPlanProcessService.getById(id);
if (zyPlanProcess == null) {
return Result.error("未找到对应数据");
}
return Result.OK(zyPlanProcess);
}
/**
* 导出excel
*
* @param request
* @param zyPlanProcess
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ZyPlanProcess zyPlanProcess) {
return super.exportXls(request, zyPlanProcess, ZyPlanProcess.class, "生产计划工序");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ZyPlanProcess.class);
}
}

@ -0,0 +1,156 @@
package org.jeecg.modules.productplan.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.productplan.entity.ZyProductPlan;
import org.jeecg.modules.productplan.service.IZyProductPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
* @Description: 生产计划
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
@Api(tags = "生产计划")
@RestController
@RequestMapping("/org.jeecg.modules.productplan/zyProductPlan")
@Slf4j
public class ZyProductPlanController extends JeecgController<ZyProductPlan, IZyProductPlanService> {
@Autowired
private IZyProductPlanService zyProductPlanService;
/**
* 分页列表查询
*
* @param zyProductPlan
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "生产计划-分页列表查询")
@ApiOperation(value = "生产计划-分页列表查询", notes = "生产计划-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(ZyProductPlan zyProductPlan,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ZyProductPlan> queryWrapper = QueryGenerator.initQueryWrapper(zyProductPlan, req.getParameterMap());
Page<ZyProductPlan> page = new Page<ZyProductPlan>(pageNo, pageSize);
IPage<ZyProductPlan> pageList = zyProductPlanService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param zyProductPlan
* @return
*/
@AutoLog(value = "生产计划-添加")
@ApiOperation(value = "生产计划-添加", notes = "生产计划-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody ZyProductPlan zyProductPlan) {
zyProductPlanService.save(zyProductPlan);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param zyProductPlan
* @return
*/
@AutoLog(value = "生产计划-编辑")
@ApiOperation(value = "生产计划-编辑", notes = "生产计划-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@RequestBody ZyProductPlan zyProductPlan) {
zyProductPlanService.updateById(zyProductPlan);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "生产计划-通过id删除")
@ApiOperation(value = "生产计划-通过id删除", notes = "生产计划-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
zyProductPlanService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "生产计划-批量删除")
@ApiOperation(value = "生产计划-批量删除", notes = "生产计划-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.zyProductPlanService.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) {
ZyProductPlan zyProductPlan = zyProductPlanService.getById(id);
if (zyProductPlan == null) {
return Result.error("未找到对应数据");
}
return Result.OK(zyProductPlan);
}
/**
* 导出excel
*
* @param request
* @param zyProductPlan
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ZyProductPlan zyProductPlan) {
return super.exportXls(request, zyProductPlan, ZyProductPlan.class, "生产计划");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ZyProductPlan.class);
}
}

@ -0,0 +1,99 @@
package org.jeecg.modules.productplan.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 生产计划工序
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
@Data
@TableName("zy_plan_process")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "zy_plan_process对象", description = "生产计划工序")
public class ZyPlanProcess implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 生产计划id
*/
@Excel(name = "生产计划id", width = 15)
@ApiModelProperty(value = "生产计划id")
private String planId;
/**
* 工位id
*/
@Excel(name = "工位id", width = 15)
@ApiModelProperty(value = "工位id")
private String stationId;
/**
* 设备id列表
*/
@Excel(name = "设备id列表", width = 15)
@ApiModelProperty(value = "设备id列表")
private String machineIds;
/**
* 工具id列表
*/
@Excel(name = "工具id列表", width = 15)
@ApiModelProperty(value = "工具id列表")
private String toolsIds;
/**
* 工序id列表
*/
@Excel(name = "工序id列表", width = 15)
@ApiModelProperty(value = "工序id列表")
private String processIds;
/**
* 成员id列表
*/
@Excel(name = "成员id列表", width = 15)
@ApiModelProperty(value = "成员id列表")
private String userIds;
}

@ -0,0 +1,137 @@
package org.jeecg.modules.productplan.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
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: 生产计划
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
@Data
@TableName("zy_product_plan")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "zy_product_plan对象", description = "生产计划")
public class ZyProductPlan implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 工单编号
*/
@Excel(name = "工单编号", width = 15)
@ApiModelProperty(value = "工单编号")
private String productCode;
/**
* 车间id
*/
@Excel(name = "车间id", width = 15)
@ApiModelProperty(value = "车间id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String workshopId;
/**
* 车间负责人
*/
@Excel(name = "车间负责人", width = 15)
@ApiModelProperty(value = "车间负责人")
private String responsiblePerson;
/**
* 班组
*/
@Excel(name = "班组", width = 15)
@ApiModelProperty(value = "班组")
@Dict(dictTable = "station", dicText = "station_name", dicCode = "id")
private String teamId;
/**
* 组长
*/
@Excel(name = "组长", width = 15)
@ApiModelProperty(value = "组长")
private String teamLeader;
/**
* 生产开始时间
*/
@Excel(name = "生产开始时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "生产开始时间")
private Date workTime;
/**
* 生产时长
*/
@Excel(name = "生产时长", width = 15)
@ApiModelProperty(value = "生产时长")
private Integer offTime;
/**
* 未审核0已审核1生产中2已完成3已撤销8异常9默认0
*/
@Excel(name = "状态", width = 15)
@Dict(dicCode = "productplanStatus")
@ApiModelProperty(value = "状态:未审核0、已审核1、生产中2、已完成3、已撤销8、异常9,默认0")
private Integer status;
/**
* 是否加急
*/
@Excel(name = "是否加急", width = 15)
@ApiModelProperty(value = "是否加急")
@Dict(dicCode = "sfjj")
private Integer speedUp;
/**
* 审核人
*/
@Excel(name = "审核人", width = 15)
@ApiModelProperty(value = "审核人")
private String auditBy;
/**
* 审核时间
*/
@Excel(name = "审核时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "审核时间")
private Date auditTimr;
}

@ -0,0 +1,15 @@
package org.jeecg.modules.productplan.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
/**
* @Description: 生产计划工序
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
public interface ZyPlanProcessMapper extends BaseMapper<ZyPlanProcess> {
}

@ -0,0 +1,14 @@
package org.jeecg.modules.productplan.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.productplan.entity.ZyProductPlan;
/**
* @Description: 生产计划
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
public interface ZyProductPlanMapper extends BaseMapper<ZyProductPlan> {
}

@ -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.productplan.mapper.ZyPlanProcessMapper">
</mapper>

@ -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.productplan.mapper.ZyProductPlanMapper">
</mapper>

@ -0,0 +1,15 @@
package org.jeecg.modules.productplan.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
/**
* @Description: 生产计划工序
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
public interface IZyPlanProcessService extends IService<ZyPlanProcess> {
}

@ -0,0 +1,14 @@
package org.jeecg.modules.productplan.service;
import org.jeecg.modules.productplan.entity.ZyProductPlan;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 生产计划
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
public interface IZyProductPlanService extends IService<ZyProductPlan> {
}

@ -0,0 +1,19 @@
package org.jeecg.modules.productplan.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.mapper.ZyPlanProcessMapper;
import org.jeecg.modules.productplan.service.IZyPlanProcessService;
import org.springframework.stereotype.Service;
/**
* @Description: 生产计划工序
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
@Service
public class ZyPlanProcessServiceImpl extends ServiceImpl<ZyPlanProcessMapper, ZyPlanProcess> implements IZyPlanProcessService {
}

@ -0,0 +1,18 @@
package org.jeecg.modules.productplan.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.productplan.entity.ZyProductPlan;
import org.jeecg.modules.productplan.mapper.ZyProductPlanMapper;
import org.jeecg.modules.productplan.service.IZyProductPlanService;
import org.springframework.stereotype.Service;
/**
* @Description: 生产计划
* @Author: jeecg-boot
* @Date: 2022-12-12
* @Version: V1.0
*/
@Service
public class ZyProductPlanServiceImpl extends ServiceImpl<ZyProductPlanMapper, ZyProductPlan> implements IZyProductPlanService {
}

@ -6,12 +6,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.team.entity.GroupxMember;
import org.jeecg.modules.team.entity.GroupxMember;
import org.jeecg.modules.team.service.IGroupxMemberService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -19,6 +22,8 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* @Description: 班组成员管理
@ -67,6 +72,26 @@ public class GroupxMemberController extends JeecgController<GroupxMember, IGroup
return Result.OK("添加成功!");
}
@AutoLog(value = "班组成员表管理-添加")
@ApiOperation(value = "班组成员表管理-添加", notes = "班组成员表管理-添加")
@PostMapping(value = "/addBatch")
public Result<?> addBatch(@RequestBody GroupxMember en) {
String userIds = en.getUserId();
List<GroupxMember> addList = new LinkedList<>();
if (StringUtils.isNotBlank(userIds)) {
List<String> list = Arrays.asList(userIds.split(","));
list.forEach(e -> {
GroupxMember s = new GroupxMember();
BeanUtils.copyProperties(en, s);
s.setUserId(e);
addList.add(s);
});
}
groupxMemberService.saveBatch(addList);
return Result.OK("添加成功!");
}
/**
* 编辑
*

@ -6,12 +6,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.team.entity.StationMachine;
import org.jeecg.modules.team.entity.StationMachine;
import org.jeecg.modules.team.service.IStationMachineService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -19,6 +22,8 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* @Description: 工序设备管理
@ -70,6 +75,25 @@ public class StationMachineController extends JeecgController<StationMachine, IS
return Result.OK("添加成功!");
}
@AutoLog(value = "工序设备管理-批量添加")
@ApiOperation(value = "工序设备管理-批量添加", notes = "工序设备管理-批量添加")
@PostMapping(value = "/addBatch")
public Result<?> addBatch(@RequestBody StationMachine en) {
String machineIds = en.getMachineId();
List<StationMachine> addList = new LinkedList<>();
if (StringUtils.isNotBlank(machineIds)) {
List<String> list = Arrays.asList(machineIds.split(","));
list.forEach(e -> {
StationMachine s = new StationMachine();
BeanUtils.copyProperties(en, s);
s.setMachineId(e);
addList.add(s);
});
}
stationMachineService.saveBatch(addList);
return Result.OK("添加成功!");
}
/**
* 编辑
*

@ -6,12 +6,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.list.SynchronizedList;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.team.entity.StationTool;
import org.jeecg.modules.team.service.IStationToolService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -19,6 +22,9 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 工序工具管理
@ -70,6 +76,25 @@ public class StationToolController extends JeecgController<StationTool, IStation
return Result.OK("添加成功!");
}
@AutoLog(value = "工序工具管理-批量添加")
@ApiOperation(value = "工序工具管理-批量添加", notes = "工序工具管理-批量添加")
@PostMapping(value = "/addBatch")
public Result<?> addBatch(@RequestBody StationTool stationTool) {
String toolsIds = stationTool.getToolsId();
List<StationTool> addList = new LinkedList<>();
if (StringUtils.isNotBlank(toolsIds)) {
List<String> list = Arrays.asList(toolsIds.split(","));
list.forEach(e -> {
StationTool s = new StationTool();
BeanUtils.copyProperties(stationTool, s);
s.setToolsId(e);
addList.add(s);
});
}
stationToolService.saveBatch(addList);
return Result.OK("添加成功!");
}
/**
* 编辑
*

@ -9,6 +9,7 @@ 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;
@ -34,6 +35,7 @@ public class Groupx {
/**部门id*/
@Excel(name = "部门id", width = 15)
@ApiModelProperty(value = "部门id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String departId;
/**班组名称*/
@Excel(name = "班组名称", width = 15)

@ -9,6 +9,7 @@ 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;
@ -44,6 +45,7 @@ public class StationMachine {
*/
@Excel(name = "设备id,uuid,FK,设备表", width = 15)
@ApiModelProperty(value = "设备id,uuid,FK,设备表")
@Dict(dictTable = "zy_devicetype", dicText = "name", dicCode = "id")
private String machineId;
/**
* 创建日期

@ -9,6 +9,7 @@ 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;
@ -44,6 +45,7 @@ public class StationTool {
*/
@Excel(name = "工具id,uuid,FK,工具表", width = 15)
@ApiModelProperty(value = "工具id,uuid,FK,工具表")
@Dict(dictTable = "zy_tool", dicText = "name", dicCode = "id")
private String toolsId;
/**
* 创建日期

Loading…
Cancel
Save