8 changed files with 1607 additions and 2 deletions
-
BINdist.7z
-
34src/api/base.js
-
29src/views/demo/null.vue
-
2src/views/main-navbar-update-language.vue
-
797src/views/modules/base/calendar.vue
-
731src/views/modules/base/calendarDatetype.vue
-
14src/views/modules/productionOrder/searchOrderToBeProduced.vue
-
2src/views/modules/purchaseorder/procurementReview.vue
@ -0,0 +1,34 @@ |
|||
import { createAPI } from "@/utils/httpRequest.js"; |
|||
|
|||
|
|||
// 获取工作日类型列表
|
|||
export const calendarDatetypeInfo = data => createAPI(`/base/calendarDatetypeInfo`,'post',data) |
|||
|
|||
|
|||
|
|||
export const saveCalendarDatetypeData = data => createAPI(`/base/saveCalendarDatetypeData`,'post',data) |
|||
|
|||
|
|||
export const delCalendarType = data => createAPI(`/base/delCalendarType`,'post',data) |
|||
|
|||
export const getShiftData = data => createAPI(`/base/getShiftData`,'post',data) |
|||
|
|||
export const saveShift = data => createAPI(`/base/saveShift`,'post',data) |
|||
|
|||
export const updateShift = data => createAPI(`/base/updateShift`,'post',data) |
|||
|
|||
|
|||
export const delShift = data => createAPI(`/base/delShift`,'post',data) |
|||
|
|||
|
|||
export const getCalendarData = data => createAPI(`/base/getCalendarData`,'post',data) |
|||
|
|||
|
|||
export const saveCalendar = data => createAPI(`/base/saveCalendar`,'post',data) |
|||
|
|||
export const delCalendar = data => createAPI(`/base/delCalendar`,'post',data) |
|||
|
|||
export const getCalendarExceptionData = data => createAPI(`/base/getCalendarExceptionData`,'post',data) |
|||
|
|||
export const batchSaveCDData = data => createAPI(`/base/batchSaveCDData`,'post',data) |
|||
|
|||
@ -0,0 +1,29 @@ |
|||
<template> |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
import {} from "@/api/sysLanguage.js" |
|||
|
|||
export default { |
|||
name: "null", |
|||
data() { |
|||
return { |
|||
height: '', |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$nextTick(() => { |
|||
this.height = window.innerHeight - 240; |
|||
}) |
|||
}, |
|||
methods: {}, |
|||
created() { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
@ -0,0 +1,797 @@ |
|||
<template> |
|||
<div class="mod-config"> |
|||
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|||
<el-form-item :label="'工厂编号:'"> |
|||
<el-input v-model="searchData.site" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历编码:'"> |
|||
<el-input v-model="searchData.calendarId" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'状态:'"> |
|||
<el-select filterable v-model="searchData.status" style="width: 80px"> |
|||
<el-option label="全部" value=""></el-option> |
|||
<el-option label="使用中" value="使用中"></el-option> |
|||
<el-option label="停用" value="停用"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 33px">{{'查询'}}</el-button> |
|||
<el-button @click="newCalendarModel()" type="primary" style="margin-top: 33px">{{'新增工作日历'}}</el-button> |
|||
<el-button @click="maintainCalendar()" type="primary" style="margin-top: 33px">{{'批量维护工作日历'}}</el-button> |
|||
</el-form> |
|||
<el-table |
|||
:height="height" |
|||
:data="dataList" |
|||
border |
|||
style="width: 100%;"> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList" :key="index" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:align="item.align" |
|||
:min-width="item.width" |
|||
:label="item.columnLabel"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
header-align="center" |
|||
align="center" |
|||
min-width="70" |
|||
label="操作"> |
|||
<template slot-scope="scope"> |
|||
<a type="text" size="small" @click="editData(scope.row)">编辑</a> |
|||
<a type="text" size="small" @click="getCEModel(scope.row)">工作日历例外</a> |
|||
<a type="text" size="small" @click="delData(scope.row)">删除</a> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-dialog title="维护工作日历" :close-on-click-modal="false" v-drag :visible.sync="calendarModelFlag" width="341px" > |
|||
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|||
<el-form-item :label="'工厂编号:'"> |
|||
<el-input v-model="newCalendarData.site" :disabled="calendarModelDisableFlag" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历编号:'"> |
|||
<el-input v-model="newCalendarData.calendarId" :disabled="calendarModelDisableFlag" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历描述:'"> |
|||
<el-input v-model="newCalendarData.calendarDesc" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'状态:'"> |
|||
<el-select filterable v-model="newCalendarData.status" style="width: 130px"> |
|||
<el-option label="使用中" value="使用中"></el-option> |
|||
<el-option label="停用" value="停用"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="calendarSave()">保存</el-button> |
|||
<el-button type="primary" @click="calendarModelFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
<el-dialog title="工作日历例外" :close-on-click-modal="false" v-drag :visible.sync="CEFlag" width="1200px" > |
|||
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|||
<el-form-item :label="'工厂编号:'"> |
|||
<el-input v-model="CESearchData.site" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历编码:'"> |
|||
<el-input v-model="CESearchData.calendarId" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历描述:'"> |
|||
<el-input v-model="CESearchData.calendarDesc" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table |
|||
height="400" |
|||
:data="dataList2" |
|||
border |
|||
style="width: 100%;"> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList2" :key="index" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:align="item.align" |
|||
:min-width="item.width" |
|||
:label="item.columnLabel"> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="CEFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
<el-dialog title="批量维护工作日历" :close-on-click-modal="false" v-drag :visible.sync="maintainCalendarFlag" width="1200px" > |
|||
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|||
<el-form-item :label="'日历编码:'"> |
|||
<el-input v-model="maintainCalendarSearchData.calendarId" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'日历描述:'"> |
|||
<el-input v-model="maintainCalendarSearchData.calendarDesc" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'起始时间:'"> |
|||
<el-date-picker |
|||
style="width: 130px" |
|||
v-model="maintainCalendarSearchData.startDate" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<!-- <el-form-item :label="'至:'">--> |
|||
<!-- <el-date-picker--> |
|||
<!-- style="width: 130px"--> |
|||
<!-- v-model="maintainCalendarSearchData.endDate"--> |
|||
<!-- value-format="yyyy-MM-dd"--> |
|||
<!-- placeholder="选择日期">--> |
|||
<!-- </el-date-picker>--> |
|||
<!-- </el-form-item>--> |
|||
<el-form-item :label="'工作日类型:'"> |
|||
<el-select v-model="maintainCalendarSearchData.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-form-item> |
|||
<el-form-item> |
|||
<el-button @click="refreshModel()" type="primary" style="margin-top: 33px">{{'查询'}}</el-button> |
|||
<el-button @click="saveList()" type="primary" style="margin-top: 33px">{{'保存日历'}}</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 maintainColumnList1" :key="index" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:align="item.align" |
|||
:vertical-align="'middle'" |
|||
:min-width="item.width" |
|||
:label="item.columnLabel"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
type="selection" |
|||
align="center" |
|||
width="30px"> |
|||
</el-table-column> |
|||
<!-- <el-table-column--> |
|||
<!-- v-for="(item,index) in maintainColumnList2" :key="index"--> |
|||
<!-- :prop="item.columnProp"--> |
|||
<!-- :header-align="item.headerAlign"--> |
|||
<!-- :align="item.align"--> |
|||
<!-- :min-width="item.width"--> |
|||
<!-- :vertical-align="'middle'"--> |
|||
<!-- :label="item.columnLabel"--> |
|||
<!-- :formatter="getSelections">--> |
|||
<!-- <template slot-scope="scope">--> |
|||
<!-- <el-select v-model="item.columnProp" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create>--> |
|||
<!-- <el-option v-for="item2 in selectList " :key="index" :label="item2.label" :value="item2.value">--> |
|||
<!-- </el-option>--> |
|||
<!-- </el-select>--> |
|||
<!-- </template>--> |
|||
<!-- </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> |
|||
</div> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="maintainCalendarFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
getCalendarData, |
|||
saveCalendar, |
|||
delCalendar, |
|||
getCalendarExceptionData, |
|||
calendarDatetypeInfo, |
|||
batchSaveCDData, |
|||
}from "@/api/base.js" |
|||
export default { |
|||
name: "calendar", |
|||
data () { |
|||
return { |
|||
selectList:[], |
|||
calendarModelFlag:false, |
|||
calendarModelDisableFlag:false, |
|||
maintainCalendarFlag:false, |
|||
CEFlag:false, |
|||
newCalendarData:{ |
|||
site:'', |
|||
calendarId:'', |
|||
calendarDesc:'', |
|||
status:'使用中', |
|||
id:0, |
|||
}, |
|||
columnList:[ |
|||
{ |
|||
columnProp:'site', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'工厂编号', |
|||
}, |
|||
{ |
|||
columnProp:'calendarId', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'日历编码', |
|||
}, |
|||
{ |
|||
columnProp:'calendarDesc', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'日历描述', |
|||
}, |
|||
{ |
|||
columnProp:'status', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'使用状态', |
|||
}, |
|||
// { |
|||
// columnProp:'site', |
|||
// headerAlign:'center', |
|||
// align:'left', |
|||
// width:'50', |
|||
// columnLabel:'工厂编号', |
|||
// } |
|||
], |
|||
columnList2: [ |
|||
{ |
|||
columnProp:'scheduledate', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'日期', |
|||
}, |
|||
{ |
|||
columnProp:'datetype', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'工作日类型', |
|||
}, |
|||
{ |
|||
columnProp:'worktime', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'累计工作时间', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime1', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'休息时间点1', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration1', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'休息时长1', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime2', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'休息时间点2', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration2', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'休息时长2', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime3', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'休息时间点3', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration3', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'休息时长3', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime4', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'休息时间点4', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration4', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'休息时长4', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime5', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'休息时间点5', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration5', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'休息时长5', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime6', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'休息时间点6', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration6', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'100px', |
|||
columnLabel:'休息时长6', |
|||
} |
|||
], |
|||
maintainColumnList1:[ |
|||
{ |
|||
columnProp:'site', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'80px', |
|||
columnLabel:'工厂编码', |
|||
}, |
|||
{ |
|||
columnProp:'calendarId', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'80px', |
|||
columnLabel:'日历编码', |
|||
}, |
|||
{ |
|||
columnProp:'calendarDesc', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'100px', |
|||
columnLabel:'日历描述', |
|||
}, |
|||
], |
|||
maintainColumnList2:[], |
|||
height:'200', |
|||
searchData:{ |
|||
site:'', |
|||
calendarId:'', |
|||
status:'使用中', |
|||
}, |
|||
CESearchData:{ |
|||
site:'', |
|||
calendarId:'', |
|||
calendarDesc:'', |
|||
}, |
|||
maintainCalendarSearchData:{ |
|||
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 - 190; |
|||
}) |
|||
}, |
|||
methods: { |
|||
// 多选数据 |
|||
selectionChangeHandle (val) { |
|||
this.dataListSelections = val |
|||
}, |
|||
getData(){ |
|||
getCalendarData(this.searchData).then(({data}) => { |
|||
this.dataList = data.rows |
|||
}) |
|||
}, |
|||
newCalendarModel(){ |
|||
this.newCalendarData.id=0, |
|||
this.newCalendarData.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: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}) |
|||
}, |
|||
getCEModel(row){ |
|||
this.CESearchData.site=row.site; |
|||
this.CESearchData.calendarDesc=row.calendarDesc; |
|||
this.CESearchData.calendarId=row.calendarId; |
|||
this.CEFlag=true; |
|||
getCalendarExceptionData(this.CESearchData).then(({data}) => { |
|||
this.dataList2 = data.rows |
|||
}) |
|||
}, |
|||
maintainCalendar(){ |
|||
this.getSelectData(); |
|||
this.maintainCalendarSearchData.calendarId=''; |
|||
this.maintainCalendarSearchData.calendarDesc=''; |
|||
this.maintainCalendarSearchData.startDate= this.GetDateStr(0); |
|||
this.maintainCalendarSearchData.endDate=this.GetDateStr(7); |
|||
this.refreshModel(); |
|||
this.maintainCalendarFlag=true; |
|||
}, |
|||
refreshModel(){ |
|||
this.getAll(); |
|||
let mainData={ |
|||
site:this.$store.state.user.site.toString(), |
|||
calendarId:this.maintainCalendarSearchData.calendarId, |
|||
calendarDesc:this.maintainCalendarSearchData.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.maintainCalendarSearchData.datetype; |
|||
list[i].val1=this.maintainCalendarSearchData.datetype; |
|||
list[i].val2=this.maintainCalendarSearchData.datetype; |
|||
list[i].val3=this.maintainCalendarSearchData.datetype; |
|||
list[i].val4=this.maintainCalendarSearchData.datetype; |
|||
list[i].val5=this.maintainCalendarSearchData.datetype; |
|||
list[i].val6=this.maintainCalendarSearchData.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.maintainCalendarSearchData.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.maintainCalendarSearchData.startDate; |
|||
var dd = new Date(begin); |
|||
dd.setDate(dd.getDate()+6);//获取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:'', |
|||
} |
|||
); |
|||
} |
|||
}, |
|||
// getAll(){ |
|||
// let begin=this.maintainCalendarSearchData.startDate; |
|||
// let end=this.maintainCalendarSearchData.endDate; |
|||
// 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.maintainCalendarFlag = false |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
created() { |
|||
this.getData() |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style > |
|||
.calendar .el-table .cell { |
|||
height: 28px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,731 @@ |
|||
<template> |
|||
<div class="mod-config"> |
|||
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 5px;"> |
|||
<el-form-item> |
|||
<el-button @click="newData()" type="primary" style="margin-left: 2px">{{buttons.newData}}</el-button> |
|||
<el-button @click="searchList()" type="primary">{{buttons.searchList}}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table |
|||
:height="height" |
|||
:data="dataList" |
|||
border |
|||
style="width: 100%;"> |
|||
<el-table-column |
|||
header-align="center" |
|||
align="center" |
|||
min-width="70" |
|||
label="操作"> |
|||
<template slot-scope="scope"> |
|||
<a type="text" size="small" @click="editData(scope.row)">编辑</a> |
|||
<a type="text" size="small" @click="delData(scope.row)">删除</a> |
|||
<a type="text" size="small" @click="shiftModal(scope.row)">班次信息</a> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList" :key="index" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:align="item.align" |
|||
:min-width="item.width" |
|||
:label="item.columnLabel"> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-dialog title="维护工作日类型" :close-on-click-modal="false" v-drag :visible.sync="newDateTypeFlag" width="341px" > |
|||
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|||
<el-form-item label="工厂编号"> |
|||
<el-input v-model="dateTypeList.site" :disabled="true" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'工作日类型:'"> |
|||
<el-input v-model="dateTypeList.datetype" :disabled="newDateTypeChangeFlag" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时间点1:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="dateTypeList.exceptexacttime1" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时长1:'"> |
|||
<el-input v-model="dateTypeList.exceptduration1" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时间点2:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="dateTypeList.exceptexacttime2" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时长2:'"> |
|||
<el-input v-model="dateTypeList.exceptduration2" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时间点3:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="dateTypeList.exceptexacttime3" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时长3:'"> |
|||
<el-input v-model="dateTypeList.exceptduration3" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时间点4:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="dateTypeList.exceptexacttime4" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时长4:'"> |
|||
<el-input v-model="dateTypeList.exceptduration4" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时间点5:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="dateTypeList.exceptexacttime5" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时长5:'"> |
|||
<el-input v-model="dateTypeList.exceptduration5" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时间点6:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="dateTypeList.exceptexacttime6" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'休息时长6:'"> |
|||
<el-input v-model="dateTypeList.exceptduration6" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'备注:'"> |
|||
<el-input v-model="dateTypeList.remark" style="width: 275px"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="calendarDatetypeSave()">保存</el-button> |
|||
<el-button type="primary" @click="newDateTypeFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
<el-dialog title="班次信息" :close-on-click-modal="false" v-drag :visible.sync="shiftFlag" width="600px" > |
|||
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|||
<el-button type="primary" @click="newShift()">新增班次</el-button> |
|||
</el-form> |
|||
<el-table |
|||
:height="height2" |
|||
:data="shiftList" |
|||
border |
|||
style="width: 100%"> |
|||
<el-table-column |
|||
prop="shiftno" |
|||
header-align="center" |
|||
align="left" |
|||
label="班次编码"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="shiftdesc" |
|||
header-align="center" |
|||
align="left" |
|||
label="班次名称"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="startexacttime" |
|||
header-align="center" |
|||
align="left" |
|||
label="上班时间"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="endexacttime" |
|||
header-align="center" |
|||
align="left" |
|||
label="下班时间"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="" |
|||
header-align="center" |
|||
align="center" |
|||
label="操作"> |
|||
<template slot-scope="scope"> |
|||
<a type="text" size="small" @click="editShift(scope.row)">编辑</a> |
|||
<a type="text" size="small" @click="deleteShift(scope.row)">删除</a> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="shiftFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
|
|||
<el-dialog title="维护班次" :close-on-click-modal="false" v-drag :visible.sync="newShiftFlag" width="341px" > |
|||
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|||
<el-form-item :label="'班次编码:'"> |
|||
<el-input v-model="newShiftData.shiftno" :disabled="newShiftFlag1" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'班次名称:'"> |
|||
<el-input v-model="newShiftData.shiftdesc" style="width: 130px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'上班时间:'"> |
|||
<el-time-picker |
|||
format="HH:mm" |
|||
arrow-control |
|||
style="width: 130px" |
|||
v-model="newShiftData.startexacttime" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
<el-form-item :label="'下班时间:'" > |
|||
<el-time-picker |
|||
arrow-control |
|||
format="HH:mm" |
|||
style="width: 130px" |
|||
v-model="newShiftData.endexacttime" |
|||
placeholder="请选择" |
|||
value-format="HH:mm"> |
|||
</el-time-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|||
<el-button type="primary" @click="newShiftSave()">保存</el-button> |
|||
<el-button type="primary" @click="newShiftFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
calendarDatetypeInfo, |
|||
saveCalendarDatetypeData, |
|||
delCalendarType, |
|||
getShiftData, |
|||
saveShift, |
|||
updateShift, |
|||
delShift, |
|||
}from "@/api/base.js" |
|||
export default { |
|||
name: "calendarDatetype", |
|||
data () { |
|||
return { |
|||
// table高度 |
|||
height:450, |
|||
height2:300, |
|||
newDateTypeFlag: false, |
|||
newDateTypeChangeFlag: false, |
|||
shiftFlag:false, |
|||
newShiftFlag: false, |
|||
newShiftFlag1:false, |
|||
buttons: { |
|||
newData: '新增工作日类型', |
|||
searchList:'查询', |
|||
|
|||
}, |
|||
newShiftData:{ |
|||
shiftno:'', |
|||
shiftdesc:'', |
|||
startexacttime:'', |
|||
endexacttime:'', |
|||
datetype:'', |
|||
id:'', |
|||
site:this.$store.state.user.site.toString(), |
|||
}, |
|||
shiftSearchData:{ |
|||
site:'', |
|||
datetype:'', |
|||
}, |
|||
// 数据集 |
|||
dataList: [], |
|||
shiftList:[], |
|||
columnList: [ |
|||
{ |
|||
columnProp:'datetype', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'工作日类型', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime1', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'休息时间点1', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration1', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'休息时长1', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime2', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'休息时间点2', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration2', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'休息时长2', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime3', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'休息时间点3', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration3', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'休息时长3', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime4', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'休息时间点4', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration4', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'休息时长4', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime5', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'休息时间点5', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration5', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'休息时长5', |
|||
}, |
|||
{ |
|||
columnProp:'exceptexacttime6', |
|||
headerAlign:'center', |
|||
align:'left', |
|||
width:'50', |
|||
columnLabel:'休息时间点6', |
|||
}, |
|||
{ |
|||
columnProp:'exceptduration6', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'休息时长6', |
|||
}, |
|||
{ |
|||
columnProp:'worktime', |
|||
headerAlign:'center', |
|||
align:'right', |
|||
width:'50', |
|||
columnLabel:'累计工作时间', |
|||
} |
|||
], |
|||
dateTypeList: { |
|||
site: '', |
|||
datetype: '', |
|||
exceptexacttime1: '', |
|||
exceptduration1: '', |
|||
exceptexacttime2: '', |
|||
exceptduration2: '', |
|||
exceptexacttime3: '', |
|||
exceptduration3: '', |
|||
exceptexacttime4: '', |
|||
exceptduration4: '', |
|||
exceptexacttime5: '', |
|||
exceptduration5: '', |
|||
exceptexacttime6: '', |
|||
exceptduration6: '', |
|||
remark: '', |
|||
id: '', |
|||
}, |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$nextTick(()=>{ |
|||
this.height = window.innerHeight - 180; |
|||
}) |
|||
}, |
|||
methods: { |
|||
searchList(){ |
|||
let list = {site: this.$store.state.user.site.toString()} |
|||
calendarDatetypeInfo(list).then(({data}) => { |
|||
this.dataList = data.rows |
|||
}) |
|||
}, |
|||
//新增工作日类型 |
|||
newData(){ |
|||
this.dateTypeList.site=this.$store.state.user.site.toString(); |
|||
this.dateTypeList.datetype=''; |
|||
this.dateTypeList.exceptexacttime1=''; |
|||
this.dateTypeList.exceptduration1=''; |
|||
this.dateTypeList.exceptexacttime2=''; |
|||
this.dateTypeList.exceptduration2=''; |
|||
this.dateTypeList.exceptexacttime3=''; |
|||
this.dateTypeList.exceptduration3=''; |
|||
this.dateTypeList.exceptexacttime4=''; |
|||
this.dateTypeList.exceptduration4=''; |
|||
this.dateTypeList.exceptexacttime5=''; |
|||
this.dateTypeList.exceptduration5=''; |
|||
this.dateTypeList.exceptexacttime6=''; |
|||
this.dateTypeList.exceptduration6=''; |
|||
this.dateTypeList.id=0; |
|||
this.newDateTypeChangeFlag=false; |
|||
this.newDateTypeFlag=true; |
|||
}, |
|||
//保存工作日类型 |
|||
calendarDatetypeSave(){ |
|||
if (this.dateTypeList.exceptexacttime1=="") { |
|||
this.$alert('请输入休息时间点1!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if (this.dateTypeList.exceptduration1=="") { |
|||
this.$alert('请输入休息时长1!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if ((this.dateTypeList.exceptexacttime2==""||this.dateTypeList.exceptexacttime2==null)^this.dateTypeList.exceptduration2=="") { |
|||
this.$alert('请将休息时间点2或休息时长2填完整!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if ((this.dateTypeList.exceptexacttime3==""||this.dateTypeList.exceptexacttime3==null)^this.dateTypeList.exceptduration3=="") { |
|||
this.$alert('请将休息时间点3或休息时长3填完整!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if ((this.dateTypeList.exceptexacttime4==""||this.dateTypeList.exceptexacttime4==null)^this.dateTypeList.exceptduration4=="") { |
|||
this.$alert('请将休息时间点4或休息时长4填完整!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if ((this.dateTypeList.exceptexacttime5==""||this.dateTypeList.exceptexacttime5==null)^this.dateTypeList.exceptduration5=="") { |
|||
this.$alert('请将休息时间点5或休息时长5填完整!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if ((this.dateTypeList.exceptexacttime6==""||this.dateTypeList.exceptexacttime6==null)^this.dateTypeList.exceptduration6=="") { |
|||
this.$alert('请将休息时间点6或休息时长6填完整!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
if (this.dateTypeList.datetype=="") { |
|||
this.$alert('请输入工作日类型!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
//验证顺序 |
|||
var bln = false; |
|||
var list = new Array(); |
|||
list.push(this.dateTypeList.exceptexacttime1); |
|||
list.push(this.dateTypeList.exceptduration1); |
|||
list.push(this.dateTypeList.exceptexacttime2); |
|||
list.push(this.dateTypeList.exceptduration2); |
|||
list.push(this.dateTypeList.exceptexacttime3); |
|||
list.push(this.dateTypeList.exceptduration3); |
|||
list.push(this.dateTypeList.exceptexacttime4); |
|||
list.push(this.dateTypeList.exceptduration4); |
|||
list.push(this.dateTypeList.exceptexacttime5); |
|||
list.push(this.dateTypeList.exceptduration5); |
|||
list.push(this.dateTypeList.exceptexacttime6); |
|||
list.push(this.dateTypeList.exceptduration6); |
|||
for(var i = 0 ; i < list.length; i++){ |
|||
if(list[i]!=""){ |
|||
bln=true; |
|||
break; |
|||
} |
|||
} |
|||
if(bln==true){ |
|||
for(var i = 11 ; i >= 0 ; i--) { |
|||
if(list[i]!=""){ |
|||
if(i!=0){ |
|||
if(list[i-1]==""){ |
|||
this.$alert('请按照顺序输入!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
/** |
|||
* 保存数据 |
|||
*/ |
|||
|
|||
saveCalendarDatetypeData(this.dateTypeList).then(({data}) => { |
|||
if (data.code == 200) { |
|||
this.searchList(); |
|||
this.newDateTypeFlag=false; |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
editData(row){ |
|||
this.dateTypeList.site= row.site; |
|||
this.dateTypeList.datetype= row.datetype; |
|||
this.dateTypeList.exceptexacttime1 = row.exceptexacttime1; |
|||
this.dateTypeList.exceptduration1 = row.exceptduration1; |
|||
if(row.exceptduration2!=0) { |
|||
this.dateTypeList.exceptexacttime2 = row.exceptexacttime2; |
|||
this.dateTypeList.exceptduration2 = row.exceptduration2; |
|||
}else{ |
|||
this.dateTypeList.exceptexacttime2 = ''; |
|||
this.dateTypeList.exceptduration2 = ''; |
|||
} |
|||
if(row.exceptduration3!=0) { |
|||
this.dateTypeList.exceptexacttime3 = row.exceptexacttime3; |
|||
this.dateTypeList.exceptduration3 = row.exceptduration3; |
|||
}else{ |
|||
this.dateTypeList.exceptexacttime3 = ''; |
|||
this.dateTypeList.exceptduration3 = ''; |
|||
} |
|||
if(row.exceptduration4!=0) { |
|||
this.dateTypeList.exceptexacttime4 = row.exceptexacttime4; |
|||
this.dateTypeList.exceptduration4 = row.exceptduration4; |
|||
}else{ |
|||
this.dateTypeList.exceptexacttime4 = ''; |
|||
this.dateTypeList.exceptduration4 = ''; |
|||
} |
|||
if(row.exceptduration5!=0) { |
|||
this.dateTypeList.exceptexacttime5 = row.exceptexacttime5; |
|||
this.dateTypeList.exceptduration5 = row.exceptduration5; |
|||
}else{ |
|||
this.dateTypeList.exceptexacttime5 = ''; |
|||
this.dateTypeList.exceptduration5 = ''; |
|||
} |
|||
if(row.exceptduration6!=0) { |
|||
this.dateTypeList.exceptexacttime6 = row.exceptexacttime6; |
|||
this.dateTypeList.exceptduration6 = row.exceptduration6; |
|||
}else{ |
|||
this.dateTypeList.exceptexacttime6 = ''; |
|||
this.dateTypeList.exceptduration6 = ''; |
|||
} |
|||
this.dateTypeList.remark= row.remark; |
|||
this.dateTypeList.id= 1; |
|||
this.newDateTypeChangeFlag=true; |
|||
this.newDateTypeFlag=true; |
|||
}, |
|||
delData(row){ |
|||
this.$confirm(`是否删除此条工作日类型?`, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
|
|||
}).then(() => { |
|||
let inData={ |
|||
site:row.site.toString(), |
|||
datetype:row.datetype, |
|||
} |
|||
delCalendarType(inData).then(({data}) => { |
|||
if (data.code == 200) { |
|||
this.searchList(); |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}) |
|||
}, |
|||
shiftModal(row){ |
|||
this.shiftFlag=true; |
|||
this.shiftSearchData.site=row.site; |
|||
this.shiftSearchData.datetype=row.datetype; |
|||
this.newShiftData.datetype=row.datetype; |
|||
this.searchShift(); |
|||
}, |
|||
newShift(){ |
|||
this.newShiftFlag1 = false |
|||
this.newShiftData.shiftno = '' |
|||
this.newShiftData.shiftdesc = '' |
|||
this.newShiftData.startexacttime = '' |
|||
this.newShiftData.endexacttime = '' |
|||
this.newShiftData.id = 0 |
|||
this.newShiftFlag=true; |
|||
}, |
|||
searchShift(){ |
|||
getShiftData(this.shiftSearchData).then(({data}) => { |
|||
this.shiftList = data.rows |
|||
|
|||
}) |
|||
}, |
|||
editShift (row) { |
|||
this.newShiftData.shiftno = row.shiftno |
|||
this.newShiftData.shiftdesc = row.shiftdesc |
|||
this.newShiftData.startexacttime = row.startexacttime |
|||
this.newShiftData.endexacttime = row.endexacttime |
|||
this.newShiftData.id =2 |
|||
this.newShiftFlag1 = true |
|||
this.newShiftFlag = true |
|||
}, |
|||
newShiftSave () { |
|||
if (this.newShiftData.shiftno == '' || this.newShiftData.shiftno == null) { |
|||
this.$alert('请输入班次编码!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false |
|||
} |
|||
if (this.newShiftData.shiftdesc == '' || this.newShiftData.shiftdesc == null) { |
|||
this.$alert('请输入班次名称!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false |
|||
} |
|||
if (this.newShiftData.startexacttime == '') { |
|||
this.$alert('请输入上班时间!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false |
|||
} |
|||
if (this.newShiftData.endexacttime == '') { |
|||
this.$alert('请输入下班时间!', '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
return false |
|||
} |
|||
if(this.newShiftData.id===0) { |
|||
saveShift(this.newShiftData).then(({data}) => { |
|||
if (data && data.code == 200) { |
|||
this.newShiftFlag = false |
|||
getShiftData(this.shiftSearchData).then(({data}) => { |
|||
this.shiftList = data.rows |
|||
}) |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}else{ |
|||
updateShift(this.newShiftData).then(({data}) => { |
|||
if (data && data.code == 200) { |
|||
this.newShiftFlag = false |
|||
getShiftData(this.shiftSearchData).then(({data}) => { |
|||
this.shiftList = data.rows |
|||
}) |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
deleteShift (row) { |
|||
this.$confirm(`是否删除此条班次信息?`, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
let inData = { |
|||
site:this.$store.state.user.site.toString(), |
|||
datetype:row.datetype, |
|||
shiftno:row.shiftno |
|||
} |
|||
delShift(inData).then(({data}) => { |
|||
if (data && data.code == 200) { |
|||
getShiftData(this.shiftSearchData).then(({data}) => { |
|||
this.shiftList = data.rows |
|||
}) |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
|
|||
onClose: () => { |
|||
} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}).catch(() => { |
|||
}) |
|||
}, |
|||
}, |
|||
created() { |
|||
this.searchList(); |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
@ -0,0 +1,14 @@ |
|||
<template> |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
// 待生产工单 |
|||
name: "searchOrderToBeProduced" |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue