班组组织增加跨位修改

排产确认几个页面使用统一工序转码
工厂日历修改
master
xiaoning 10 months ago
parent 9df0783351
commit 6cfecc8bf9

@ -9,6 +9,7 @@ export function getCdAll() {return request({url: '/sygdpc/getCdAll', method: 'ge
export function saveGxcd(data) {return request({url: '/sygdpc/saveGxcd', method: 'post', data})} export function saveGxcd(data) {return request({url: '/sygdpc/saveGxcd', method: 'post', data})}
export function removeGxcd(data) {return request({url: '/sygdpc/removeGxcd', method: 'post', data})} export function removeGxcd(data) {return request({url: '/sygdpc/removeGxcd', method: 'post', data})}
export function getSbcnAll() {return request({url: '/sygdpc/getSbcnAll', method: 'get'})} export function getSbcnAll() {return request({url: '/sygdpc/getSbcnAll', method: 'get'})}
export function getGxDict() {return request({url: '/sygdpc/getGxDict', method: 'get'})}
export function saveSbcn(data) {return request({url: '/sygdpc/saveSbcn', method: 'post',data})} export function saveSbcn(data) {return request({url: '/sygdpc/saveSbcn', method: 'post',data})}
export function removeSbcn(data) {return request({url: '/sygdpc/remove', method: 'post',data})} export function removeSbcn(data) {return request({url: '/sygdpc/remove', method: 'post',data})}

@ -72,10 +72,6 @@ export default {
weeks() { weeks() {
var month=this.current.getMonth() + 1; var month=this.current.getMonth() + 1;
var year=this.current.getFullYear(); var year=this.current.getFullYear();
// if (this.current.getDate()>=20){
// month=this.current.getMonth() + 2;
// if (month==1){year=year+1}
// }
if (!this.years.includes(year+'')&&this.flag){ if (!this.years.includes(year+'')&&this.flag){
this.$message.warning("请生成"+this.nextYear+"年度工厂日历!"); this.$message.warning("请生成"+this.nextYear+"年度工厂日历!");
}else { }else {
@ -88,6 +84,11 @@ export default {
}, },
created() { created() {
this.initList(); this.initList();
// this.current=new Date(Date.UTC(2027, 11, 18))
if (this.current.getDate()>=20){
this.current.setMonth(this.current.getMonth() + 1);
this.current = new Date(this.current);
}
}, },
methods: { methods: {
@ -123,22 +124,17 @@ export default {
} }
}, },
isHidden(date){ isHidden(date){
// let today = new Date(Date.UTC(2024, 5, 21)); // let today = new Date(Date.UTC(2024, 5, 18));
let today = new Date(); let today = new Date();
var lastDay;
if (today.getDate()<21){ if (today.getDate()<21){
//1.21 return !(date < today);
lastDay= new Date(today.getFullYear(), today.getMonth()+1, 1);
}else { }else {
//2.21 var lastDay= new Date(today.getFullYear(), today.getMonth()+1, 1);
lastDay= new Date(today.getFullYear(), today.getMonth()+2, 1); return !(date < lastDay);
} }
return !(
date < lastDay
);
}, },
getCurDate() { getCurDate() {
var date = new Date();
var year = this.current.getFullYear(); var year = this.current.getFullYear();
var month = this.current.getMonth() + 1; // getMonth() returns a zero-based value (0-11) var month = this.current.getMonth() + 1; // getMonth() returns a zero-based value (0-11)
if (month < 10) { if (month < 10) {
@ -178,6 +174,7 @@ export default {
}, },
getMonthData(year, month) { getMonthData(year, month) {
let weeks = []; let weeks = [];
let firstDay = new Date(year, month - 1, 1); // let firstDay = new Date(year, month - 1, 1); //
let lastDayOfCurrentMonth = new Date(year, month, 0); // let lastDayOfCurrentMonth = new Date(year, month, 0); //
let lastDayOfPrevMonth = new Date(year, month - 1, 0); // let lastDayOfPrevMonth = new Date(year, month - 1, 0); //

@ -33,7 +33,7 @@
</template> </template>
<script> <script>
import {getCdAll,saveGxcd,removeGxcd} from '@/api/jhzx/pc' import {getCdAll,saveGxcd,removeGxcd,getGxDict} from '@/api/jhzx/pc'
export default { export default {
name:'GxCD', name:'GxCD',
props:{ props:{
@ -45,11 +45,12 @@ export default {
data(){ data(){
return { return {
gxCDList:[], gxCDList:[],
gxList:[],
gxCDtableColumn:[ gxCDtableColumn:[
{ type: 'checkbox', width: 50 }, { type: 'checkbox', width: 50 },
{type: 'seq', width: 60, title: '序号'}, {type: 'seq', width: 60, title: '序号'},
{ field: 'gx', title: '工序', width: 150, { field: 'gx', title: '工序', width: 150,
editRender: { name: "input" }, editRender: { name: '$select', options:[], props: {clearable: true}},
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', }, filterRender: { name: 'FilterCombination', },
}, },
@ -63,6 +64,16 @@ export default {
}, },
created() { created() {
this.getList() this.getList()
getGxDict().then((res)=>{
res.data.forEach(item=>{
// this.gxList.push({label:item.name,value:item.code})
this.gxList.push({label:item.name,value:item.name})
})
const xGridGx = this.$refs.xGridGx
const gx = xGridGx.getColumnByField('gx')
gx.editRender.options = this.gxList
})
}, },
methods:{ methods:{
getList(){ getList(){
@ -70,6 +81,14 @@ export default {
this.gxCDList = res.data this.gxCDList = res.data
}) })
}, },
formatterGx({cellValue}){
// for (let i = 0; i < this.gxList.length; i++) {
// if (this.gxList[i].value===cellValue){
// return this.gxList[i].label
// }
// }
return cellValue
},
add(){ add(){
this.$refs.xGridGx.insertAt({},-1) this.$refs.xGridGx.insertAt({},-1)
}, },

@ -33,7 +33,7 @@
</template> </template>
<script> <script>
import {getSbcnAll, saveSbcn, removeSbcn} from '@/api/jhzx/pc' import {getSbcnAll, saveSbcn, removeSbcn, getGxDict} from '@/api/jhzx/pc'
export default { export default {
name:'Sbcn', name:'Sbcn',
props:{ props:{
@ -45,11 +45,12 @@ export default {
data(){ data(){
return { return {
sbcnList:[], sbcnList:[],
gxList:[],
sbcnColumn:[ sbcnColumn:[
{ type: 'checkbox', width: 50 }, { type: 'checkbox', width: 50 },
{type: 'seq', width: 60, title: '序号', }, {type: 'seq', width: 60, title: '序号', },
{ field: '_工序', title: '工序', width: 150, { field: '_工序', title: '工序', width: 150,
editRender: { name: "input" }, editRender: { name: '$select', options:[], props: {clearable: true}},
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', }, filterRender: { name: 'FilterCombination', },
}, },
@ -99,6 +100,15 @@ export default {
}, },
created() { created() {
this.getList() this.getList()
getGxDict().then((res)=>{
res.data.forEach(item=>{
// this.gxList.push({label:item.name,value:item.code})
this.gxList.push({label:item.name,value:item.name})
})
const xGridSbcn = this.$refs.xGridSbcn
const gx = xGridSbcn.getColumnByField('_工序')
gx.editRender.options = this.gxList
})
}, },
methods:{ methods:{
getList(){ getList(){

@ -295,7 +295,7 @@
<el-row style="float: right;margin-right: 5px;"> <el-row style="float: right;margin-right: 5px;">
<el-button size="small" type="success" v-show="modalShow>1" @click="preModal" plain>上一步</el-button> <el-button size="small" type="success" v-show="modalShow>1" @click="preModal" plain>上一步</el-button>
<el-button size="small" type="success" v-show="modalShow<5" @click="nextModal" plain>下一步</el-button> <el-button size="small" type="success" v-show="modalShow<5" @click="nextModal" plain>下一步</el-button>
<el-button size="small" type="success" v-show="modalShow==5"@click="paichan" plain>完成</el-button> <el-button size="small" type="success" v-show="modalShow==5"@click="paichan" plain>排产</el-button>
</el-row> </el-row>
</el-row> </el-row>
<el-row> <el-row>

@ -38,7 +38,7 @@
<el-button style="margin: 1px;" type="primary" icon="el-icon-search">查询</el-button> <el-button style="margin: 1px;" type="primary" icon="el-icon-search">查询</el-button>
<el-button style="margin: 1px" type="success" @click="handleAddYhxx"></el-button> <el-button style="margin: 1px" type="success" @click="handleAddYhxx"></el-button>
<el-button style="margin: 1px" type="warning" @click="handleUpdateYhxx"></el-button> <el-button style="margin: 1px" type="warning" @click="handleUpdateYhxx"></el-button>
<el-button style="margin: 1px" type="danger" @click="handleDeleteYhxx"></el-button> <el-button style="margin: 1px" type="danger" @click="handleDeleteYhxx"></el-button>
</div> </div>
</div> </div>
@ -47,23 +47,30 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
:data="c_yhxxTableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" :data="c_yhxxTableData.slice((currentPage-1)*pageSize,currentPage*pageSize)"
height="calc(100% - 60px - 35px)" height="calc(100% - 60px - 35px)"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
width="100%" width="100%"
:border="true" :border="true"
highlight-current-row highlight-current-row
@current-change="handleYhxxCurrentChange" @current-change="handleYhxxCurrentChange"
@header-click="showFilter" @header-click="showFilter"
> >
<el-table-column label="" property="checked" min-width="40"> <!-- <el-table-column label="" property="checked" min-width="40">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<el-checkbox v-model="scope.row.checked" /> <!-- <el-checkbox v-model="scope.row.checked" />-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="序号" type="index" /> <el-table-column label="序号" type="index" />
<el-table-column label="班组编码" property="resourcesCode" /> <el-table-column label="班组编码" property="resourcesCode" />
<el-table-column label="班组名称" property="resourcesName" /> <el-table-column label="班组名称" property="resourcesName" />
<el-table-column label="是否资源" property="resource" /> <el-table-column label="是否资源" property="resource" />
<el-table-column label="所属工厂" property="factoryName" /> <el-table-column label="所属工厂" property="factoryName" />
<el-table-column label="所属车间" property="workshopName" /> <el-table-column label="所属车间" property="workshopName" />
<el-table-column label="所属跨位" width="100px">
<template slot-scope="scope">
{{ getKwName(scope.row.kw) }}
</template>
</el-table-column>
<el-table-column label="所属产线" property="productionLineName" /> <el-table-column label="所属产线" property="productionLineName" />
<el-table-column label="组织类型" property="resourcesType" /> <el-table-column label="组织类型" property="resourcesType" />
<el-table-column label="外部对照码" property="comparisonCode" /> <el-table-column label="外部对照码" property="comparisonCode" />
@ -106,6 +113,17 @@
<span style="width: 110px;display:inline-block;">所属车间</span> <span style="width: 110px;display:inline-block;">所属车间</span>
<el-input v-model="updateData.workshopName" placeholder="" style="width: 250px;" /> <el-input v-model="updateData.workshopName" placeholder="" style="width: 250px;" />
</el-row> </el-row>
<el-row>
<span style="width: 110px;display:inline-block;">所属跨位</span>
<el-select v-model="updateData.kw" clearable placeholder="跨位" style="width: 250px;">
<el-option
v-for="item in kwList"
:key="item.bm"
:label="item.bmsm"
:value="item.bm"
/>
</el-select>
</el-row>
<el-row> <el-row>
<span style="width: 110px;display:inline-block;">所属产线</span> <span style="width: 110px;display:inline-block;">所属产线</span>
<el-input v-model="updateData.productionLineName" placeholder="" style="width: 250px;" /> <el-input v-model="updateData.productionLineName" placeholder="" style="width: 250px;" />
@ -207,6 +225,7 @@ export default {
defaultHeight: { defaultHeight: {
height: '100%' height: '100%'
}, },
kwList:[],
inputDisabled:true, inputDisabled:true,
activeGzzxxTabName: 'gzzxx', activeGzzxxTabName: 'gzzxx',
dm_depart: [], dm_depart: [],
@ -264,7 +283,12 @@ export default {
this.bzryTableData = response.data this.bzryTableData = response.data
}) })
}) })
const dict= window.localStorage.getItem("QGKW");
this.kwList=JSON.parse(dict);
this.kwList=this.kwList.filter(item => {
if (item.bm >4)
return true
})
}, },
methods: { methods: {
showFilter(column) { showFilter(column) {
@ -332,7 +356,6 @@ export default {
} }
this.dialogVisible = true this.dialogVisible = true
this.dialogTitle = '修改班组信息' this.dialogTitle = '修改班组信息'
console.log(this.selectYhxx)
this.updateData = JSON.parse(JSON.stringify(this.selectYhxx)) this.updateData = JSON.parse(JSON.stringify(this.selectYhxx))
this.inputDisabled=true; this.inputDisabled=true;
}, },
@ -346,6 +369,23 @@ export default {
}) })
}, },
handleDeleteYhxx() { handleDeleteYhxx() {
if (!this.selectYhxx.resourcesCode) {
this.$message({ message: '请选择要删除的班组!', type: 'error' })
return
}
let resultList = JSON.parse(JSON.stringify(this.selectYhxx))
this.$confirm('此操作将删除该班组, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
del([resultList]).then(response => {
this.yhxxTableData = this.yhxxTableData.filter(t => !(t.resourcesCode === this.selectYhxx.resourcesCode))
this.$message({ message: '删除班组信息成功!', type: 'success' })
})
})
},
handleDeleteYhxx1() {
let resultList = this.yhxxTableData.filter(data => { let resultList = this.yhxxTableData.filter(data => {
return data.checked return data.checked
}) })
@ -376,10 +416,10 @@ export default {
} }
}, },
getDepartName(depart_code) { getKwName(bm) {
for (const i in this.dm_depart) { for (const i in this.kwList) {
if (this.dm_depart[i].depart_code === depart_code) { if (this.kwList[i].bm === bm) {
return this.dm_depart[i].depart_name return this.kwList[i].bmsm
} }
} }
return '' return ''

@ -8,7 +8,7 @@
<el-form-item label="工序名称:"> <el-form-item label="工序名称:">
<el-select v-model="request.gx" placeholder="工序名称" clearable> <el-select v-model="request.gx" placeholder="工序名称" clearable>
<el-option <el-option
v-for="item in gxOptions" v-for="item in gxList"
:key="item.value" :key="item.value"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"
@ -96,6 +96,7 @@ import {
deleteJgry deleteJgry
} from "@/api/sjzx/sbryWH"; } from "@/api/sjzx/sbryWH";
import {emSbjbbZM, getBMMCBM} from "@/api/sjzx/sbwxjhWH"; import {emSbjbbZM, getBMMCBM} from "@/api/sjzx/sbwxjhWH";
import {getGxDict} from "@/api/jhzx/pc";
export default { export default {
name: "SbjgryWH", name: "SbjgryWH",
data() { data() {
@ -103,6 +104,7 @@ export default {
request: { request: {
gx: "", gx: "",
}, },
gxList:[],
list: [], list: [],
height: "500px", height: "500px",
tableColumn: [ tableColumn: [
@ -116,7 +118,7 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', }, filterRender: { name: 'FilterCombination', },
}, },
{ field: 'gx', title: '工序', width: 160,formatter:['dictFormat','PCGX'], { field: 'gx', title: '工序', width: 160,
editRender: { editRender: {
name: "$select", name: "$select",
options: [], options: [],
@ -239,7 +241,6 @@ export default {
filterRender: { name: 'FilterCombination', }, filterRender: { name: 'FilterCombination', },
}, },
], ],
gxOptions: [],
departmentOptions: [], departmentOptions: [],
options: [], options: [],
sbmcOptions: [], sbmcOptions: [],
@ -254,7 +255,7 @@ export default {
this.initgxList(); this.initgxList();
this.getBMMCBM(); this.getBMMCBM();
this.emSbjbbZM("bmbm"); this.emSbjbbZM("bmbm");
this.getGxList();
}, },
methods: { methods: {
@ -266,6 +267,17 @@ export default {
} }
}); });
}, },
getGxList(){
getGxDict().then((res)=>{
res.data.forEach(item=>{
// this.gxList.push({label:item.name,value:item.code})
this.gxList.push({label:item.name,value:item.name})
})
const tableRef = this.$refs.tableRef
const gx = tableRef.getColumnByField('gx')
gx.editRender.options = this.gxList
})
},
// //
emSbjbbZM(params) { emSbjbbZM(params) {
emSbjbbZM({ emSbjbbZM({
@ -293,27 +305,16 @@ export default {
}); });
}, },
initgxList(){ initgxList(){
const dict=window.localStorage.getItem( 'PCGX');
const ztDict=window.localStorage.getItem( 'YGZT'); const ztDict=window.localStorage.getItem( 'YGZT');
const gzDict=window.localStorage.getItem( 'RYGX'); const gzDict=window.localStorage.getItem( 'RYGX');
const gxList =JSON.parse(dict)
const ztList =JSON.parse(ztDict) const ztList =JSON.parse(ztDict)
const gzList =JSON.parse(gzDict) const gzList =JSON.parse(gzDict)
this.$nextTick(() => { this.$nextTick(() => {
const tableRef = this.$refs.tableRef; const tableRef = this.$refs.tableRef;
const gx = tableRef.getColumnByField("gx");
const zt = tableRef.getColumnByField("zt"); const zt = tableRef.getColumnByField("zt");
const gz = tableRef.getColumnByField("gz"); const gz = tableRef.getColumnByField("gz");
const testList = [];
const ztList1 = []; const ztList1 = [];
const gzList1 = []; const gzList1 = [];
for (let i = 0; i < gxList.length; i++) {
const temp = {
label: gxList[i].bmsm,
value: gxList[i].bm,
};
testList.push(temp);
}
for (let i = 0; i < ztList.length; i++) { for (let i = 0; i < ztList.length; i++) {
const temp = { const temp = {
label: ztList[i].bmsm, label: ztList[i].bmsm,
@ -328,8 +329,6 @@ export default {
}; };
gzList1.push(temp); gzList1.push(temp);
} }
this.gxOptions= testList;
gx.editRender.options = testList;
zt.editRender.options = ztList1; zt.editRender.options = ztList1;
gz.editRender.options = gzList1; gz.editRender.options = gzList1;
}); });

Loading…
Cancel
Save