5 changed files with 1369 additions and 22 deletions
-
4src/api/common/com_part_stock.js
-
918src/views/modules/common/com_batch_work_calendar.vue
-
295src/views/modules/common/com_part_stock.vue
-
158src/views/modules/schedule/order_schedule.vue
-
16src/views/modules/schedule/order_schedule_fqc.vue
@ -0,0 +1,4 @@ |
|||
import { createAPI } from '@/utils/httpRequest.js' |
|||
|
|||
// 获取当前工单的物料库存数据
|
|||
export const getOrderPartStockedQty = data => createAPI('scheduling/getOrderPartStockedQty', 'POST', data) |
|||
@ -0,0 +1,918 @@ |
|||
<template> |
|||
<div class="customer-css"> |
|||
<el-dialog title="批量维护工作日历" v-drag v-bind="$attrs" v-on="$listeners" width="800px" class="customer-dialog" > |
|||
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|||
<el-form-item :label="'日历编码:'"> |
|||
<el-input v-model="calendarSearchData.calendarId" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历描述:'"> |
|||
<el-input v-model="calendarSearchData.calendarDesc" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'起始时间:'"> |
|||
<el-date-picker |
|||
style="width: 130px" |
|||
v-model="calendarSearchData.startDate" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'工作日类型:'"> |
|||
<el-select v-model="calendarSearchData.datetype" style="width: 130px" |
|||
placeholder="请选择"> |
|||
<el-option |
|||
v-for="(item, index) in selectList" |
|||
:key="index" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
<el-button @click="refreshModel()" type="primary" style="margin-top: 0px">{{'查询'}}</el-button> |
|||
<el-button @click="saveList()" type="primary" style="margin-top: 0px">{{'保存日历'}}</el-button> |
|||
</el-form-item> |
|||
|
|||
</el-form> |
|||
<div class="calendar"> |
|||
<el-table |
|||
height="400" |
|||
:data="dataList3" |
|||
border |
|||
:vertical-align="'middle'" |
|||
@selection-change="selectionChangeHandle" |
|||
style="width: 100%;" |
|||
:row-style="{height:'20px'}"> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList3" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:show-overflow-tooltip="item.showOverflowTooltip" |
|||
:align="item.align" |
|||
:fixed="item.fixed" |
|||
:width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
|||
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
|||
style="width: 100px; height: 80px"/></span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
type="selection" |
|||
align="center" |
|||
width="30px"> |
|||
</el-table-column> |
|||
|
|||
<el-table-column |
|||
prop="val0" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[0]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val0" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
|
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val1" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[1]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val1" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val2" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[2]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val2" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val3" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[3]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val3" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val4" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[4]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val4" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val5" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[5]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val5" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val6" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[6]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val6" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val7" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[7]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val7" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="val8" |
|||
header-align="center" |
|||
align="left" |
|||
:label="this.timeArray[8]"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.val8" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|||
<el-option v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="closeDialog">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
getCalendarData, |
|||
saveCalendar, |
|||
delCalendar, |
|||
calendarDatetypeInfo, |
|||
batchSaveCDData, |
|||
}from "@/api/base.js" |
|||
export default { |
|||
name: "calendar", |
|||
data () { |
|||
return { |
|||
selectList:[], |
|||
calendarModelFlag:false, |
|||
calendarModelDisableFlag:false, |
|||
newCalendarData:{ |
|||
site:'', |
|||
calendarId:'', |
|||
calendarDesc:'', |
|||
status:'使用中', |
|||
id:0, |
|||
}, |
|||
columnList:[ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038TableSite', |
|||
tableId: "6038Table", |
|||
tableName: "工作日类型表", |
|||
columnProp: "site", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "工厂编号", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038TableCalendarId', |
|||
tableId: "6038Table", |
|||
tableName: "工作日类型表", |
|||
columnProp: "calendarId", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "日历编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038TableCalendarDesc', |
|||
tableId: "6038Table", |
|||
tableName: "工作日类型表", |
|||
columnProp: "calendarDesc", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "日历描述", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 160 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038TableStatus', |
|||
tableId: "6038Table", |
|||
tableName: "工作日类型表", |
|||
columnProp: "status", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "使用状态", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
|
|||
], |
|||
columnList2: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Scheduledate', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "scheduledate", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "日期", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Datetype', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "datetype", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "工作日类型", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Worktime', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "worktime", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "累计工作时间", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptexacttime1', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptexacttime1", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "休息时间点1", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptduration1', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptduration1", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "休息时长1", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptexacttime2', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptexacttime2", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "休息时间点2", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptduration2', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptduration2", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "休息时长2", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptexacttime3', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptexacttime3", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "休息时间点3", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptduration3', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptduration3", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "休息时长3", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptexacttime4', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptexacttime4", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "休息时间点4", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptduration4', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptduration4", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "休息时长4", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptexacttime5', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptexacttime5", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "休息时间点5", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptduration5', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptduration5", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "休息时长5", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptexacttime6', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptexacttime6", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "休息时间点6", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table2Exceptduration6', |
|||
tableId: "6038Table2", |
|||
tableName: "工作日历表2", |
|||
columnProp: "exceptduration6", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "休息时长6", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
} |
|||
], |
|||
columnList3:[ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table3Site', |
|||
tableId: "6038Table3", |
|||
tableName: "工作日历表3", |
|||
columnProp: "site", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "工厂编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 80 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table3CalendarId', |
|||
tableId: "6038Table3", |
|||
tableName: "工作日历表3", |
|||
columnProp: "calendarId", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "日历编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 80 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 6038, |
|||
serialNumber: '6038Table3CalendarDesc', |
|||
tableId: "6038Table3", |
|||
tableName: "工作日历表3", |
|||
columnProp: "calendarDesc", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "日历描述", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
columnWidth: 100 |
|||
}, |
|||
], |
|||
maintainColumnList2:[], |
|||
height:'200', |
|||
searchData:{ |
|||
site:'', |
|||
calendarId:'', |
|||
status:'使用中', |
|||
}, |
|||
calendarSearchData:{ |
|||
site:this.$store.state.user.site.toString(), |
|||
calendarId:'', |
|||
calendarDesc:'', |
|||
startDate:'', |
|||
endDate:'', |
|||
datetype:'', |
|||
}, |
|||
dataList:[], |
|||
dataList2:[], |
|||
dataList3:[], |
|||
timeArray:[], |
|||
valueList:[], |
|||
valList:[], |
|||
dataListSelections:[], |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$nextTick(()=>{ |
|||
this.height = window.innerHeight - 150; |
|||
}) |
|||
}, |
|||
watch: { |
|||
'$route' (to, from) { |
|||
if(localStorage.getItem('calendar')!=undefined){ |
|||
this.jump(); |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
|
|||
//初始化页面的方法 |
|||
init(searchData){ |
|||
//设置参数 |
|||
this.calendarSearchData.startDate = searchData.scheduledDate; |
|||
|
|||
//调用方法 |
|||
this.maintainCalendar(); |
|||
|
|||
}, |
|||
|
|||
/*刷新页面的数据*/ |
|||
maintainCalendar(){ |
|||
this.getSelectData(); |
|||
this.calendarSearchData.calendarId = ''; |
|||
this.calendarSearchData.calendarDesc =''; |
|||
//this.calendarSearchData.startDate = this.GetDateStr(0); |
|||
this.calendarSearchData.endDate = this.GetDateStr(9); |
|||
this.refreshModel(); |
|||
}, |
|||
|
|||
jump(){ |
|||
let data=JSON.parse(localStorage.getItem('calendar')); |
|||
localStorage.removeItem('calendar'); |
|||
getCalendarData(data).then(({data}) => { |
|||
this.dataList = data.rows |
|||
}) |
|||
}, |
|||
// 多选数据 |
|||
selectionChangeHandle (val) { |
|||
this.dataListSelections = val |
|||
}, |
|||
getData(){ |
|||
if(localStorage.getItem('calendar')!=undefined){ |
|||
this.jump(); |
|||
}else { |
|||
getCalendarData(this.searchData).then(({data}) => { |
|||
this.dataList = data.rows |
|||
}) |
|||
} |
|||
}, |
|||
newCalendarModel(){ |
|||
this.newCalendarData.id=0, |
|||
this.newCalendarData.site=this.$store.state.user.site, |
|||
this.newCalendarData.calendarId='', |
|||
this.newCalendarData.calendarDesc='', |
|||
this.newCalendarData.status='使用中', |
|||
this.calendarModelDisableFlag=false; |
|||
this.calendarModelFlag=true; |
|||
}, |
|||
editData(row){ |
|||
this.newCalendarData.id=1, |
|||
this.newCalendarData.site=row.site, |
|||
this.newCalendarData.calendarId=row.calendarId, |
|||
this.newCalendarData.calendarDesc=row.calendarDesc, |
|||
this.newCalendarData.status=row.status, |
|||
this.calendarModelDisableFlag=true; |
|||
this.calendarModelFlag=true; |
|||
}, |
|||
calendarSave(){ |
|||
saveCalendar(this.newCalendarData).then(({data}) => { |
|||
if (data.code == 200) { |
|||
this.getData() |
|||
this.calendarModelFlag=false; |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
delData(row){ |
|||
this.$confirm(`是否删除此条工作日历?`, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
|
|||
}).then(() => { |
|||
let inData={ |
|||
site:row.site.toString(), |
|||
calendarId:row.calendarId, |
|||
} |
|||
delCalendar(inData).then(({data}) => { |
|||
if (data.code == 200) { |
|||
this.getData() |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}) |
|||
}, |
|||
refreshModel(){ |
|||
this.getAll(); |
|||
let mainData={ |
|||
site:this.$store.state.user.site.toString(), |
|||
calendarId:this.calendarSearchData.calendarId, |
|||
calendarDesc:this.calendarSearchData.calendarDesc, |
|||
} |
|||
getCalendarData(mainData).then(({data}) => { |
|||
let list=data.rows; |
|||
if(list.length>0){ |
|||
for (let i = 0; i <list.length ; i++) { |
|||
list[i].val0=this.calendarSearchData.datetype; |
|||
list[i].val1=this.calendarSearchData.datetype; |
|||
list[i].val2=this.calendarSearchData.datetype; |
|||
list[i].val3=this.calendarSearchData.datetype; |
|||
list[i].val4=this.calendarSearchData.datetype; |
|||
list[i].val5=this.calendarSearchData.datetype; |
|||
list[i].val6=this.calendarSearchData.datetype; |
|||
list[i].val7=this.calendarSearchData.datetype; |
|||
list[i].val8=this.calendarSearchData.datetype; |
|||
} |
|||
} |
|||
this.dataList3 = list; |
|||
}) |
|||
}, |
|||
getSelections(){ |
|||
|
|||
}, |
|||
getSelectData () { |
|||
this.selectList = []; |
|||
let newData={ |
|||
value:'', |
|||
label:'请选择', |
|||
} |
|||
this.selectList.push(newData) |
|||
let inputData={ |
|||
site:this.$store.state.user.site.toString() |
|||
}; |
|||
calendarDatetypeInfo(inputData).then(({data}) => { |
|||
let list = data.rows |
|||
this.calendarSearchData.datetype= list[0].datetype; |
|||
for (let i = 0; i < list.length; i++) { |
|||
let resultData = { |
|||
value: list[i].datetype, |
|||
label: list[i].datetype |
|||
} |
|||
this.selectList.push(resultData) |
|||
} |
|||
}) |
|||
}, |
|||
//获取日期 |
|||
GetDateStr(AddDayCount) { |
|||
var dd = new Date(); |
|||
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 |
|||
var y = dd.getFullYear(); |
|||
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0 |
|||
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0 |
|||
return y+"-"+m+"-"+d; |
|||
}, |
|||
//获取区间所有时间并生成动态列 |
|||
getAll(){ |
|||
let begin=this.calendarSearchData.startDate; |
|||
var dd = new Date(begin); |
|||
dd.setDate(dd.getDate() + 8);//获取AddDayCount天后的日期 |
|||
var y = dd.getFullYear(); |
|||
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0 |
|||
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0 |
|||
let end=y+"-"+m+"-"+d; |
|||
var startNum = parseInt(begin.replace(/-/g, ''), 10); |
|||
var endNum = parseInt(end.replace(/-/g, ''), 10); |
|||
if (startNum > endNum) { |
|||
this.$alert('结束时间不能在开始时间之前!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if(this.DateDiff(begin, end)>9){ |
|||
this.$alert('时间不得相差10天!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
this.timeArray = []; |
|||
this.maintainColumnList2=[]; |
|||
let ab = begin.split("-"); |
|||
let ae = end.split("-"); |
|||
let db = new Date(); |
|||
db.setUTCFullYear(ab[0], ab[1]-1, ab[2]); |
|||
let de = new Date(); |
|||
de.setUTCFullYear(ae[0], ae[1]-1, ae[2]); |
|||
let unixDb=db.getTime(); |
|||
let unixDe=de.getTime(); |
|||
for(let k=unixDb;k<=unixDe;){ |
|||
this.timeArray.push(this.dateFormat(new Date(parseInt(k)))); |
|||
k=k+24*60*60*1000; |
|||
} |
|||
|
|||
for (let i = 0; i <this.timeArray.length ; i++) { |
|||
let property = this.timeArray[i]; |
|||
let val = "val"+i; |
|||
this.maintainColumnList2.push( |
|||
{ |
|||
columnProp:val, |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:property, |
|||
value:'', |
|||
} |
|||
); |
|||
} |
|||
}, |
|||
dateFormat(date){ |
|||
let s=''; |
|||
s+=date.getFullYear()+'-'; // 获取年份。 |
|||
s+=(date.getMonth()+1)+"-"; // 获取月份。 |
|||
s+= date.getDate(); // 获取日。 |
|||
return(s); // 返回日期。 |
|||
}, |
|||
//计算两个日期相差多少天 |
|||
DateDiff(sDate1, sDate2) { |
|||
let aDate = sDate1.split("-"); |
|||
let oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); //转换为yyyy-MM-dd格式 |
|||
aDate = sDate2.split("-"); |
|||
let oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); |
|||
let iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); |
|||
return iDays; |
|||
}, |
|||
saveList() { |
|||
let inData = { |
|||
timeList: this.timeArray, |
|||
batchCDVoList: this.dataListSelections |
|||
} |
|||
batchSaveCDData(inData).then(({data}) => { |
|||
if (data && data.code == 200) { |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
/*关闭modal*/ |
|||
closeDialog(){ |
|||
this.$emit('update:visible', false); |
|||
}, |
|||
|
|||
}, |
|||
created() { |
|||
this.getData() |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style > |
|||
.calendar .el-table .cell { |
|||
height: 27px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,295 @@ |
|||
<template> |
|||
<div class="customer-css"> |
|||
<el-dialog :title="titleCon" v-drag v-bind="$attrs" v-on="$listeners" |
|||
width="750px" style="height: 415px;" class="customer-dialog"> |
|||
<el-form :inline="true" label-position="top" style="height: 265px;" |
|||
label-width="80px"> |
|||
<!-- 菜单信息 --> |
|||
<el-row> |
|||
<el-col :span="3" > |
|||
<el-form-item :label="'工厂编码:'"> |
|||
<el-input v-model="pageData.site" readonly="readonly" style="width: 80px"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="5"> |
|||
<el-form-item :label="'生产订单号:'"> |
|||
<el-input v-model="pageData.orderNo" readonly="readonly" style="width: 120px"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="customer-button"> |
|||
<el-button type="primary" @click="closeDialog" style="margin-left: 10px; margin-top: -5px;"> |
|||
关闭</el-button> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<!-- 主材料 --> |
|||
<el-form> |
|||
<fieldset class="customer-fieldset" style="width: 730px; padding: 5px 0px"> |
|||
<el-table height="200px" |
|||
:data="partStockList" |
|||
border |
|||
v-loading="dataListLoading" |
|||
style="width: 100%; margin-top: -5px;"> |
|||
<el-table-column |
|||
v-for="(item,index) in columnPartArray" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:show-overflow-tooltip="item.showOverflowTooltip" |
|||
:align="item.align" |
|||
:fixed="item.fixed" |
|||
:width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="scope"> |
|||
<!--<el-input type="number" class="table-input" align="right" @blur="checkValidQty(scope.row)"--> |
|||
<el-input type="number" class="table-input" align="right" v-if="item.columnHidden" |
|||
v-model="scope.row[item.columnProp]"></el-input> |
|||
<span v-else>{{scope.row[item.columnProp]}}</span> |
|||
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
|||
style="width: 100px; height: 80px"/></span> |
|||
|
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</fieldset> |
|||
</el-form> |
|||
</el-form> |
|||
|
|||
|
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
getOrderPartStockedQty, |
|||
} from '@/api/common/com_part_stock.js'; |
|||
export default { |
|||
data() { |
|||
return { |
|||
titleCon: '查看物料库存', |
|||
pageData: { |
|||
site: this.$store.state.user.site, |
|||
username: this.$store.state.user.name, |
|||
orderNo: '', |
|||
itemNo: 0, |
|||
operatorId: '', |
|||
reportDate: '', |
|||
reportTime: '', |
|||
}, |
|||
partStockList: [], |
|||
columnPartArray: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5303, |
|||
serialNumber: '5306PartPartNo', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "partNo", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "物料编码", |
|||
columnWidth: 85, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartPartDesc', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "partDesc", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "物料名称", |
|||
columnWidth: 120, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartWarehouseId', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "warehouseId", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "仓库代码", |
|||
columnWidth: 80, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartWarehouseName', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "warehouseName", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "仓库名称", |
|||
columnWidth: 100, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartOnhand', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "onhand", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "存货量", |
|||
columnWidth: 60, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartIsCommited', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "isCommited", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "已承诺", |
|||
columnWidth: 60, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartOnOrder', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "onOrder", |
|||
headerAlign: "center", |
|||
align: "right", |
|||
columnLabel: "已订购", |
|||
columnWidth: 60, |
|||
columnHidden: true, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartQtyAvailable', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "qtyAvailable", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "可用的", |
|||
columnWidth: 80, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 5306, |
|||
serialNumber: '5306PartQtyRequired', |
|||
tableId: "5306Part", |
|||
tableName: "物料库存", |
|||
columnProp: "qtyRequired", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "需求数量", |
|||
columnWidth: 80, |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
} |
|||
], |
|||
dataListLoading: false, |
|||
} |
|||
}, |
|||
methods: { |
|||
/*初始化页面参数*/ |
|||
init(pageData) { |
|||
//设置参数 |
|||
this.pageData.orderNo = pageData.orderNo; |
|||
this.pageData.site = pageData.site; |
|||
//刷新当前页面的列表 |
|||
this.refreshPageTable(); |
|||
}, |
|||
|
|||
/*关闭modal*/ |
|||
closeDialog(){ |
|||
this.$emit('update:visible', false); |
|||
}, |
|||
|
|||
//刷新当前卷的时间数据 |
|||
refreshPageTable(){ |
|||
getOrderPartStockedQty(this.pageData).then(({data}) => { |
|||
this.partStockList = data.rows; |
|||
}); |
|||
}, |
|||
|
|||
}, |
|||
created() { |
|||
// |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
/*调节页面button和input的上下间距*/ |
|||
.customer-css .customer-button{ |
|||
margin-top: 25px; |
|||
} |
|||
|
|||
/*调节样式*/ |
|||
.customer-item{ |
|||
margin-top: -10px; |
|||
} |
|||
/*fieldset下table的样式*/ |
|||
.customer-fieldset /deep/ .el-table__header th.is-leaf{ |
|||
line-height: 16px; |
|||
} |
|||
|
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue