|
|
@ -66,13 +66,14 @@ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
<el-dialog title="维护工作日历" :close-on-click-modal="false" v-drag :visible.sync="calendarModelFlag" width="341px" > |
|
|
|
|
|
|
|
|
<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 :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
<el-form-item :label="'工厂编号:'"> |
|
|
<el-form-item :label="'工厂编号:'"> |
|
|
<el-input v-model="newCalendarData.site" :disabled="calendarModelDisableFlag" style="width: 130px"></el-input> |
|
|
<el-input v-model="newCalendarData.site" :disabled="calendarModelDisableFlag" style="width: 130px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item :label="'日历编号:'"> |
|
|
<el-form-item :label="'日历编号:'"> |
|
|
<el-input v-model="newCalendarData.calendarId" :disabled="calendarModelDisableFlag" style="width: 130px" ></el-input> |
|
|
|
|
|
|
|
|
<el-input v-model="newCalendarData.calendarId" :disabled="calendarModelDisableFlag" |
|
|
|
|
|
style="width: 130px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item :label="'日历描述:'"> |
|
|
<el-form-item :label="'日历描述:'"> |
|
|
<el-input v-model="newCalendarData.calendarDesc" style="width: 130px"></el-input> |
|
|
<el-input v-model="newCalendarData.calendarDesc" style="width: 130px"></el-input> |
|
|
@ -84,12 +85,12 @@ |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|
|
|
|
|
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
<el-button type="primary" @click="calendarSave()">保存</el-button> |
|
|
<el-button type="primary" @click="calendarSave()">保存</el-button> |
|
|
<el-button type="primary" @click="calendarModelFlag = false">关闭</el-button> |
|
|
<el-button type="primary" @click="calendarModelFlag = false">关闭</el-button> |
|
|
</el-footer> |
|
|
</el-footer> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
<el-dialog title="工作日历例外" :close-on-click-modal="false" v-drag :visible.sync="CEFlag" width="1200px" > |
|
|
|
|
|
|
|
|
<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 :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|
|
<el-form-item :label="'工厂编号:'"> |
|
|
<el-form-item :label="'工厂编号:'"> |
|
|
<el-input v-model="CESearchData.site" style="width: 130px"></el-input> |
|
|
<el-input v-model="CESearchData.site" style="width: 130px"></el-input> |
|
|
@ -123,10 +124,11 @@ |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
header-align="center" |
|
|
header-align="center" |
|
|
align="center" |
|
|
align="center" |
|
|
width="50" |
|
|
|
|
|
|
|
|
width="80" |
|
|
label="操作"> |
|
|
label="操作"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<a type="text" size="small" @click="shiftModal(scope.row)">班次</a> |
|
|
<a type="text" size="small" @click="shiftModal(scope.row)">班次</a> |
|
|
|
|
|
<a type="text" size="small" @click="editShiftModal(scope.row)"> | 编辑</a> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
@ -146,11 +148,12 @@ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|
|
|
|
|
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
<el-button type="primary" @click="CEFlag = false">关闭</el-button> |
|
|
<el-button type="primary" @click="CEFlag = false">关闭</el-button> |
|
|
</el-footer> |
|
|
</el-footer> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
<el-dialog title="批量维护工作日历" :close-on-click-modal="false" v-drag :visible.sync="maintainCalendarFlag" width="1200px" > |
|
|
|
|
|
|
|
|
<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 :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> |
|
|
<el-form-item :label="'日历编码:'"> |
|
|
<el-form-item :label="'日历编码:'"> |
|
|
<el-input v-model="maintainCalendarSearchData.calendarId" style="width: 130px"></el-input> |
|
|
<el-input v-model="maintainCalendarSearchData.calendarId" style="width: 130px"></el-input> |
|
|
@ -166,14 +169,14 @@ |
|
|
placeholder="选择日期"> |
|
|
placeholder="选择日期"> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</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-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-form-item :label="'工作日类型:'"> |
|
|
<el-select v-model="maintainCalendarSearchData.datetype" style="width: 130px" |
|
|
<el-select v-model="maintainCalendarSearchData.datetype" style="width: 130px" |
|
|
placeholder="请选择"> |
|
|
placeholder="请选择"> |
|
|
@ -219,29 +222,30 @@ |
|
|
align="center" |
|
|
align="center" |
|
|
width="30px"> |
|
|
width="30px"> |
|
|
</el-table-column> |
|
|
</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--> |
|
|
|
|
|
<!-- 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 |
|
|
<el-table-column |
|
|
prop="val0" |
|
|
prop="val0" |
|
|
header-align="center" |
|
|
header-align="center" |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[0]"> |
|
|
:label="this.timeArray[0]"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-select v-model="scope.row.val0" placeholder="请选择" style="height: 12px;padding: 0px " filterable allow-create> |
|
|
|
|
|
|
|
|
<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 v-for="item in selectList " :key="index" :label="item.label" :value="item.value"> |
|
|
|
|
|
|
|
|
</el-option> |
|
|
</el-option> |
|
|
@ -254,9 +258,12 @@ |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[1]"> |
|
|
:label="this.timeArray[1]"> |
|
|
<template slot-scope="scope"> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -266,9 +273,12 @@ |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[2]"> |
|
|
:label="this.timeArray[2]"> |
|
|
<template slot-scope="scope"> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -278,9 +288,12 @@ |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[3]"> |
|
|
:label="this.timeArray[3]"> |
|
|
<template slot-scope="scope"> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -290,9 +303,12 @@ |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[4]"> |
|
|
:label="this.timeArray[4]"> |
|
|
<template slot-scope="scope"> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -302,9 +318,12 @@ |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[5]"> |
|
|
:label="this.timeArray[5]"> |
|
|
<template slot-scope="scope"> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -314,19 +333,22 @@ |
|
|
align="left" |
|
|
align="left" |
|
|
:label="this.timeArray[6]"> |
|
|
:label="this.timeArray[6]"> |
|
|
<template slot-scope="scope"> |
|
|
<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 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> |
|
|
</el-select> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
</div> |
|
|
</div> |
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|
|
|
|
|
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
<el-button type="primary" @click="maintainCalendarFlag = false">关闭</el-button> |
|
|
<el-button type="primary" @click="maintainCalendarFlag = false">关闭</el-button> |
|
|
</el-footer> |
|
|
</el-footer> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
<el-dialog title="班次信息" :close-on-click-modal="false" v-drag :visible.sync="shiftFlag" width="600px" > |
|
|
|
|
|
|
|
|
<el-dialog title="班次信息" :close-on-click-modal="false" v-drag :visible.sync="shiftFlag" width="600px"> |
|
|
<el-table |
|
|
<el-table |
|
|
height="300" |
|
|
height="300" |
|
|
:data="dataList4" |
|
|
:data="dataList4" |
|
|
@ -358,14 +380,15 @@ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|
|
|
|
|
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
<el-button type="primary" @click="shiftFlag = false">关闭</el-button> |
|
|
<el-button type="primary" @click="shiftFlag = false">关闭</el-button> |
|
|
</el-footer> |
|
|
</el-footer> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
<el-dialog title="维护班次" :close-on-click-modal="false" v-drag :visible.sync="updateShiftFlag" width="341px" > |
|
|
|
|
|
|
|
|
<el-dialog title="维护班次" :close-on-click-modal="false" v-drag :visible.sync="updateShiftFlag" width="341px"> |
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
<el-form-item :label="'班次编码:'"> |
|
|
<el-form-item :label="'班次编码:'"> |
|
|
<el-input v-model="newShiftData.shiftno" disabled style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input> |
|
|
|
|
|
|
|
|
<el-input v-model="newShiftData.shiftno" disabled style="width: 130px" |
|
|
|
|
|
onblur="this.value=this.value.toUpperCase()"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item :label="'班次名称:'"> |
|
|
<el-form-item :label="'班次名称:'"> |
|
|
<el-input v-model="newShiftData.shiftdesc" disabled style="width: 130px"></el-input> |
|
|
<el-input v-model="newShiftData.shiftdesc" disabled style="width: 130px"></el-input> |
|
|
@ -379,7 +402,7 @@ |
|
|
value-format="HH:mm"> |
|
|
value-format="HH:mm"> |
|
|
</el-time-picker> |
|
|
</el-time-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item :label="'下班时间:'" > |
|
|
|
|
|
|
|
|
<el-form-item :label="'下班时间:'"> |
|
|
<el-time-picker |
|
|
<el-time-picker |
|
|
format="HH:mm" |
|
|
format="HH:mm" |
|
|
style="width: 130px" |
|
|
style="width: 130px" |
|
|
@ -389,11 +412,114 @@ |
|
|
</el-time-picker> |
|
|
</el-time-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center" > |
|
|
|
|
|
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
<el-button type="primary" @click="updateCESShift()">保存</el-button> |
|
|
<el-button type="primary" @click="updateCESShift()">保存</el-button> |
|
|
<el-button type="primary" @click="updateShiftFlag = false">关闭</el-button> |
|
|
<el-button type="primary" @click="updateShiftFlag = false">关闭</el-button> |
|
|
</el-footer> |
|
|
</el-footer> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog title="维护班次信息" :close-on-click-modal="false" v-drag :visible.sync="workDateDialog" width="341px"> |
|
|
|
|
|
|
|
|
|
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
|
|
<el-form-item label="日历编码"> |
|
|
|
|
|
<el-input v-model="workingCalendar.calendarId" :disabled="true" style="width: 130px;color: red"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="日期"> |
|
|
|
|
|
<el-input v-model="workingCalendar.scheduledate" :disabled="true" style="width: 130px;color: red"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="工厂编号"> |
|
|
|
|
|
<el-input v-model="workingCalendar.site" :disabled="true" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'工作日类型:'"> |
|
|
|
|
|
<el-select @change="selectDateType" v-model="workingCalendar.datetype" style="width: 130px"> |
|
|
|
|
|
<el-option v-for="(item,index) in calendarDatetype" :key="index" |
|
|
|
|
|
:label="item.datetype" :value="item.datetype"> |
|
|
|
|
|
|
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时间点1:'"> |
|
|
|
|
|
<el-time-picker |
|
|
|
|
|
format="HH:mm" |
|
|
|
|
|
style="width: 130px" |
|
|
|
|
|
v-model="workingCalendar.exceptexacttime1" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
value-format="HH:mm"> |
|
|
|
|
|
</el-time-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时长1:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.exceptduration1" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时间点2:'"> |
|
|
|
|
|
<el-time-picker |
|
|
|
|
|
format="HH:mm" |
|
|
|
|
|
style="width: 130px" |
|
|
|
|
|
v-model="workingCalendar.exceptexacttime2" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
value-format="HH:mm"> |
|
|
|
|
|
</el-time-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时长2:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.exceptduration2" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时间点3:'"> |
|
|
|
|
|
<el-time-picker |
|
|
|
|
|
format="HH:mm" |
|
|
|
|
|
style="width: 130px" |
|
|
|
|
|
v-model="workingCalendar.exceptexacttime3" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
value-format="HH:mm"> |
|
|
|
|
|
</el-time-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时长3:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.exceptduration3" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时间点4:'"> |
|
|
|
|
|
<el-time-picker |
|
|
|
|
|
format="HH:mm" |
|
|
|
|
|
style="width: 130px" |
|
|
|
|
|
v-model="workingCalendar.exceptexacttime4" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
value-format="HH:mm"> |
|
|
|
|
|
</el-time-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时长4:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.exceptduration4" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时间点5:'"> |
|
|
|
|
|
<el-time-picker |
|
|
|
|
|
format="HH:mm" |
|
|
|
|
|
style="width: 130px" |
|
|
|
|
|
v-model="workingCalendar.exceptexacttime5" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
value-format="HH:mm"> |
|
|
|
|
|
</el-time-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时长5:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.exceptduration5" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时间点6:'"> |
|
|
|
|
|
<el-time-picker |
|
|
|
|
|
format="HH:mm" |
|
|
|
|
|
style="width: 130px" |
|
|
|
|
|
v-model="workingCalendar.exceptexacttime6" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
value-format="HH:mm"> |
|
|
|
|
|
</el-time-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'休息时长6:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.exceptduration6" style="width: 130px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="'备注:'"> |
|
|
|
|
|
<el-input v-model="workingCalendar.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="updateWorkingCalendar()">保存</el-button> |
|
|
|
|
|
<el-button type="primary" @click="workDateDialog = false">关闭</el-button> |
|
|
|
|
|
</el-footer> |
|
|
|
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
@ -406,25 +532,31 @@ |
|
|
calendarDatetypeInfo, |
|
|
calendarDatetypeInfo, |
|
|
batchSaveCDData, |
|
|
batchSaveCDData, |
|
|
getCalendarExceptionShiftData, |
|
|
getCalendarExceptionShiftData, |
|
|
updateCESShift |
|
|
|
|
|
}from "@/api/base.js" |
|
|
|
|
|
|
|
|
updateCESShift, |
|
|
|
|
|
getCalendarDatetypeInfo, |
|
|
|
|
|
updateWorkingCalendar |
|
|
|
|
|
} from "@/api/base.js" |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
name: "calendar", |
|
|
name: "calendar", |
|
|
|
|
|
|
|
|
data () { |
|
|
|
|
|
|
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
newShiftData:{ |
|
|
|
|
|
shiftno:'', |
|
|
|
|
|
shiftdesc:'', |
|
|
|
|
|
startexacttime:'', |
|
|
|
|
|
endexacttime:'', |
|
|
|
|
|
datetype:'', |
|
|
|
|
|
id:'', |
|
|
|
|
|
site:'', |
|
|
|
|
|
}, |
|
|
|
|
|
updateShiftFlag:false, |
|
|
|
|
|
shiftFlag:false, |
|
|
|
|
|
dataList4:[], |
|
|
|
|
|
|
|
|
workDateDialog: false, |
|
|
|
|
|
workingCalendar: {}, |
|
|
|
|
|
calendarDatetype: [], |
|
|
|
|
|
newShiftData: { |
|
|
|
|
|
shiftno: '', |
|
|
|
|
|
shiftdesc: '', |
|
|
|
|
|
startexacttime: '', |
|
|
|
|
|
endexacttime: '', |
|
|
|
|
|
datetype: '', |
|
|
|
|
|
id: '', |
|
|
|
|
|
site: '', |
|
|
|
|
|
}, |
|
|
|
|
|
updateShiftFlag: false, |
|
|
|
|
|
shiftFlag: false, |
|
|
|
|
|
dataList4: [], |
|
|
columnList4: [ |
|
|
columnList4: [ |
|
|
{ |
|
|
{ |
|
|
userId: this.$store.state.user.name, |
|
|
userId: this.$store.state.user.name, |
|
|
@ -501,33 +633,33 @@ |
|
|
], |
|
|
], |
|
|
// 导出 start |
|
|
// 导出 start |
|
|
exportData: [], |
|
|
exportData: [], |
|
|
exportName: "工厂日历"+this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
|
|
|
exportHeader: ["工厂日历"], |
|
|
|
|
|
|
|
|
exportName: "工厂日历" + this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
|
|
|
exportHeader: '', |
|
|
exportFooter: [], |
|
|
exportFooter: [], |
|
|
// 导出 end |
|
|
// 导出 end |
|
|
// 导出 start |
|
|
// 导出 start |
|
|
exportData2: [], |
|
|
exportData2: [], |
|
|
exportName2: "工作日历例外"+this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
|
|
|
|
|
|
exportName2: "工作日历例外" + this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
exportHeader2: ["工作日历例外"], |
|
|
exportHeader2: ["工作日历例外"], |
|
|
exportFooter2: [], |
|
|
exportFooter2: [], |
|
|
// 导出 end |
|
|
// 导出 end |
|
|
buttons:{ |
|
|
|
|
|
download:'导出', |
|
|
|
|
|
download2:'导出', |
|
|
|
|
|
}, |
|
|
|
|
|
selectList:[], |
|
|
|
|
|
calendarModelFlag:false, |
|
|
|
|
|
calendarModelDisableFlag:false, |
|
|
|
|
|
maintainCalendarFlag:false, |
|
|
|
|
|
CEFlag:false, |
|
|
|
|
|
newCalendarData:{ |
|
|
|
|
|
site:'', |
|
|
|
|
|
calendarId:'', |
|
|
|
|
|
calendarDesc:'', |
|
|
|
|
|
status:'使用中', |
|
|
|
|
|
id:0, |
|
|
|
|
|
}, |
|
|
|
|
|
columnList:[ |
|
|
|
|
|
|
|
|
buttons: { |
|
|
|
|
|
download: '导出', |
|
|
|
|
|
download2: '导出', |
|
|
|
|
|
}, |
|
|
|
|
|
selectList: [], |
|
|
|
|
|
calendarModelFlag: false, |
|
|
|
|
|
calendarModelDisableFlag: false, |
|
|
|
|
|
maintainCalendarFlag: false, |
|
|
|
|
|
CEFlag: false, |
|
|
|
|
|
newCalendarData: { |
|
|
|
|
|
site: '', |
|
|
|
|
|
calendarId: '', |
|
|
|
|
|
calendarDesc: '', |
|
|
|
|
|
status: '使用中', |
|
|
|
|
|
id: 0, |
|
|
|
|
|
}, |
|
|
|
|
|
columnList: [ |
|
|
{ |
|
|
{ |
|
|
userId: this.$store.state.user.name, |
|
|
userId: this.$store.state.user.name, |
|
|
functionId: 6038, |
|
|
functionId: 6038, |
|
|
@ -874,7 +1006,7 @@ |
|
|
columnWidth: 100 |
|
|
columnWidth: 100 |
|
|
} |
|
|
} |
|
|
], |
|
|
], |
|
|
columnList3:[ |
|
|
|
|
|
|
|
|
columnList3: [ |
|
|
{ |
|
|
{ |
|
|
userId: this.$store.state.user.name, |
|
|
userId: this.$store.state.user.name, |
|
|
functionId: 6038, |
|
|
functionId: 6038, |
|
|
@ -930,43 +1062,43 @@ |
|
|
columnWidth: 100 |
|
|
columnWidth: 100 |
|
|
}, |
|
|
}, |
|
|
], |
|
|
], |
|
|
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:[], |
|
|
|
|
|
|
|
|
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() { |
|
|
mounted() { |
|
|
this.$nextTick(()=>{ |
|
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
this.height = window.innerHeight - 150; |
|
|
this.height = window.innerHeight - 150; |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
watch: { |
|
|
watch: { |
|
|
'$route' (to, from) { |
|
|
|
|
|
if(localStorage.getItem('calendar')!=undefined){ |
|
|
|
|
|
|
|
|
'$route'(to, from) { |
|
|
|
|
|
if (localStorage.getItem('calendar') != undefined) { |
|
|
this.jump(); |
|
|
this.jump(); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
@ -984,49 +1116,49 @@ |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
jump(){ |
|
|
|
|
|
let data=JSON.parse(localStorage.getItem('calendar')); |
|
|
|
|
|
|
|
|
jump() { |
|
|
|
|
|
let data = JSON.parse(localStorage.getItem('calendar')); |
|
|
localStorage.removeItem('calendar'); |
|
|
localStorage.removeItem('calendar'); |
|
|
getCalendarData(data).then(({data}) => { |
|
|
getCalendarData(data).then(({data}) => { |
|
|
this.dataList = data.rows |
|
|
this.dataList = data.rows |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
// 多选数据 |
|
|
// 多选数据 |
|
|
selectionChangeHandle (val) { |
|
|
|
|
|
|
|
|
selectionChangeHandle(val) { |
|
|
this.dataListSelections = val |
|
|
this.dataListSelections = val |
|
|
}, |
|
|
}, |
|
|
getData(){ |
|
|
|
|
|
if(localStorage.getItem('calendar')!=undefined){ |
|
|
|
|
|
|
|
|
getData() { |
|
|
|
|
|
if (localStorage.getItem('calendar') != undefined) { |
|
|
this.jump(); |
|
|
this.jump(); |
|
|
}else { |
|
|
|
|
|
|
|
|
} else { |
|
|
getCalendarData(this.searchData).then(({data}) => { |
|
|
getCalendarData(this.searchData).then(({data}) => { |
|
|
this.dataList = data.rows |
|
|
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(){ |
|
|
|
|
|
|
|
|
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}) => { |
|
|
saveCalendar(this.newCalendarData).then(({data}) => { |
|
|
if (data.code == 200) { |
|
|
if (data.code == 200) { |
|
|
this.getData() |
|
|
this.getData() |
|
|
this.calendarModelFlag=false; |
|
|
|
|
|
|
|
|
this.calendarModelFlag = false; |
|
|
this.$message.success('操作成功') |
|
|
this.$message.success('操作成功') |
|
|
} else { |
|
|
} else { |
|
|
this.$alert(data.msg, '错误', { |
|
|
this.$alert(data.msg, '错误', { |
|
|
@ -1035,21 +1167,21 @@ |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
delData(row){ |
|
|
|
|
|
|
|
|
delData(row) { |
|
|
this.$confirm(`是否删除此条工作日历?`, '提示', { |
|
|
this.$confirm(`是否删除此条工作日历?`, '提示', { |
|
|
confirmButtonText: '确定', |
|
|
confirmButtonText: '确定', |
|
|
cancelButtonText: '取消', |
|
|
cancelButtonText: '取消', |
|
|
type: 'warning' |
|
|
type: 'warning' |
|
|
|
|
|
|
|
|
}).then(() => { |
|
|
}).then(() => { |
|
|
let inData={ |
|
|
|
|
|
site:row.site.toString(), |
|
|
|
|
|
calendarId:row.calendarId, |
|
|
|
|
|
|
|
|
let inData = { |
|
|
|
|
|
site: row.site.toString(), |
|
|
|
|
|
calendarId: row.calendarId, |
|
|
} |
|
|
} |
|
|
delCalendar(inData).then(({data}) => { |
|
|
delCalendar(inData).then(({data}) => { |
|
|
if (data.code == 200) { |
|
|
if (data.code == 200) { |
|
|
this.getData() |
|
|
this.getData() |
|
|
this.$message.success( '操作成功') |
|
|
|
|
|
|
|
|
this.$message.success('操作成功') |
|
|
} else { |
|
|
} else { |
|
|
this.$alert(data.msg, '错误', { |
|
|
this.$alert(data.msg, '错误', { |
|
|
confirmButtonText: '确定' |
|
|
confirmButtonText: '确定' |
|
|
@ -1058,63 +1190,63 @@ |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
getCEModel(row){ |
|
|
|
|
|
this.CESearchData.site=row.site; |
|
|
|
|
|
this.CESearchData.calendarDesc=row.calendarDesc; |
|
|
|
|
|
this.CESearchData.calendarId=row.calendarId; |
|
|
|
|
|
this.CEFlag=true; |
|
|
|
|
|
|
|
|
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}) => { |
|
|
getCalendarExceptionData(this.CESearchData).then(({data}) => { |
|
|
this.dataList2 = data.rows |
|
|
this.dataList2 = data.rows |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
maintainCalendar(){ |
|
|
|
|
|
|
|
|
maintainCalendar() { |
|
|
this.getSelectData(); |
|
|
this.getSelectData(); |
|
|
this.maintainCalendarSearchData.calendarId=''; |
|
|
|
|
|
this.maintainCalendarSearchData.calendarDesc=''; |
|
|
|
|
|
this.maintainCalendarSearchData.startDate= this.GetDateStr(0); |
|
|
|
|
|
this.maintainCalendarSearchData.endDate=this.GetDateStr(7); |
|
|
|
|
|
|
|
|
this.maintainCalendarSearchData.calendarId = ''; |
|
|
|
|
|
this.maintainCalendarSearchData.calendarDesc = ''; |
|
|
|
|
|
this.maintainCalendarSearchData.startDate = this.GetDateStr(0); |
|
|
|
|
|
this.maintainCalendarSearchData.endDate = this.GetDateStr(7); |
|
|
this.refreshModel(); |
|
|
this.refreshModel(); |
|
|
this.maintainCalendarFlag=true; |
|
|
|
|
|
|
|
|
this.maintainCalendarFlag = true; |
|
|
}, |
|
|
}, |
|
|
refreshModel(){ |
|
|
|
|
|
|
|
|
refreshModel() { |
|
|
this.getAll(); |
|
|
this.getAll(); |
|
|
let mainData={ |
|
|
|
|
|
site:this.$store.state.user.site.toString(), |
|
|
|
|
|
calendarId:this.maintainCalendarSearchData.calendarId, |
|
|
|
|
|
calendarDesc:this.maintainCalendarSearchData.calendarDesc, |
|
|
|
|
|
|
|
|
let mainData = { |
|
|
|
|
|
site: this.$store.state.user.site.toString(), |
|
|
|
|
|
calendarId: this.maintainCalendarSearchData.calendarId, |
|
|
|
|
|
calendarDesc: this.maintainCalendarSearchData.calendarDesc, |
|
|
} |
|
|
} |
|
|
getCalendarData(mainData).then(({data}) => { |
|
|
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; |
|
|
|
|
|
|
|
|
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; |
|
|
this.dataList3 = list; |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
getSelections(){ |
|
|
|
|
|
|
|
|
getSelections() { |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
getSelectData () { |
|
|
|
|
|
|
|
|
getSelectData() { |
|
|
this.selectList = []; |
|
|
this.selectList = []; |
|
|
let newData={ |
|
|
|
|
|
value:'', |
|
|
|
|
|
label:'请选择', |
|
|
|
|
|
|
|
|
let newData = { |
|
|
|
|
|
value: '', |
|
|
|
|
|
label: '请选择', |
|
|
} |
|
|
} |
|
|
this.selectList.push(newData) |
|
|
this.selectList.push(newData) |
|
|
let inputData={ |
|
|
|
|
|
site:this.$store.state.user.site.toString() |
|
|
|
|
|
|
|
|
let inputData = { |
|
|
|
|
|
site: this.$store.state.user.site.toString() |
|
|
}; |
|
|
}; |
|
|
calendarDatetypeInfo(inputData).then(({data}) => { |
|
|
calendarDatetypeInfo(inputData).then(({data}) => { |
|
|
let list = data.rows |
|
|
let list = data.rows |
|
|
this.maintainCalendarSearchData.datetype= list[0].datetype; |
|
|
|
|
|
|
|
|
this.maintainCalendarSearchData.datetype = list[0].datetype; |
|
|
for (let i = 0; i < list.length; i++) { |
|
|
for (let i = 0; i < list.length; i++) { |
|
|
let resultData = { |
|
|
let resultData = { |
|
|
value: list[i].datetype, |
|
|
value: list[i].datetype, |
|
|
@ -1127,21 +1259,21 @@ |
|
|
//获取日期 |
|
|
//获取日期 |
|
|
GetDateStr(AddDayCount) { |
|
|
GetDateStr(AddDayCount) { |
|
|
var dd = new Date(); |
|
|
var dd = new Date(); |
|
|
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 |
|
|
|
|
|
|
|
|
dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期 |
|
|
var y = dd.getFullYear(); |
|
|
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; |
|
|
|
|
|
|
|
|
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; |
|
|
|
|
|
|
|
|
getAll() { |
|
|
|
|
|
let begin = this.maintainCalendarSearchData.startDate; |
|
|
var dd = new Date(begin); |
|
|
var dd = new Date(begin); |
|
|
dd.setDate(dd.getDate()+6);//获取AddDayCount天后的日期 |
|
|
|
|
|
|
|
|
dd.setDate(dd.getDate() + 6);//获取AddDayCount天后的日期 |
|
|
var y = dd.getFullYear(); |
|
|
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 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 startNum = parseInt(begin.replace(/-/g, ''), 10); |
|
|
var endNum = parseInt(end.replace(/-/g, ''), 10); |
|
|
var endNum = parseInt(end.replace(/-/g, ''), 10); |
|
|
if (startNum > endNum) { |
|
|
if (startNum > endNum) { |
|
|
@ -1150,38 +1282,38 @@ |
|
|
}) |
|
|
}) |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
if(this.DateDiff(begin, end)>9){ |
|
|
|
|
|
|
|
|
if (this.DateDiff(begin, end) > 9) { |
|
|
this.$alert('时间不得相差10天!', '错误', { |
|
|
this.$alert('时间不得相差10天!', '错误', { |
|
|
confirmButtonText: '确定' |
|
|
confirmButtonText: '确定' |
|
|
}) |
|
|
}) |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
this.timeArray = []; |
|
|
this.timeArray = []; |
|
|
this.maintainColumnList2=[]; |
|
|
|
|
|
|
|
|
this.maintainColumnList2 = []; |
|
|
let ab = begin.split("-"); |
|
|
let ab = begin.split("-"); |
|
|
let ae = end.split("-"); |
|
|
let ae = end.split("-"); |
|
|
let db = new Date(); |
|
|
let db = new Date(); |
|
|
db.setUTCFullYear(ab[0], ab[1]-1, ab[2]); |
|
|
|
|
|
|
|
|
db.setUTCFullYear(ab[0], ab[1] - 1, ab[2]); |
|
|
let de = new Date(); |
|
|
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;){ |
|
|
|
|
|
|
|
|
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)))); |
|
|
this.timeArray.push(this.dateFormat(new Date(parseInt(k)))); |
|
|
k=k+24*60*60*1000; |
|
|
|
|
|
|
|
|
k = k + 24 * 60 * 60 * 1000; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
for (let i = 0; i <this.timeArray.length ; i++) { |
|
|
|
|
|
|
|
|
for (let i = 0; i < this.timeArray.length; i++) { |
|
|
let property = this.timeArray[i]; |
|
|
let property = this.timeArray[i]; |
|
|
let val = "val"+i; |
|
|
|
|
|
|
|
|
let val = "val" + i; |
|
|
this.maintainColumnList2.push( |
|
|
this.maintainColumnList2.push( |
|
|
{ |
|
|
{ |
|
|
columnProp:val, |
|
|
|
|
|
headerAlign:'center', |
|
|
|
|
|
align:'left', |
|
|
|
|
|
width:'100px', |
|
|
|
|
|
columnLabel:property, |
|
|
|
|
|
value:'', |
|
|
|
|
|
|
|
|
columnProp: val, |
|
|
|
|
|
headerAlign: 'center', |
|
|
|
|
|
align: 'left', |
|
|
|
|
|
width: '100px', |
|
|
|
|
|
columnLabel: property, |
|
|
|
|
|
value: '', |
|
|
} |
|
|
} |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
@ -1233,12 +1365,12 @@ |
|
|
// ); |
|
|
// ); |
|
|
// } |
|
|
// } |
|
|
// }, |
|
|
// }, |
|
|
dateFormat(date){ |
|
|
|
|
|
let s=''; |
|
|
|
|
|
s+=date.getFullYear()+'-'; // 获取年份。 |
|
|
|
|
|
s+=(date.getMonth()+1)+"-"; // 获取月份。 |
|
|
|
|
|
s+= date.getDate(); // 获取日。 |
|
|
|
|
|
return(s); // 返回日期。 |
|
|
|
|
|
|
|
|
dateFormat(date) { |
|
|
|
|
|
let s = ''; |
|
|
|
|
|
s += date.getFullYear() + '-'; // 获取年份。 |
|
|
|
|
|
s += (date.getMonth() + 1) + "-"; // 获取月份。 |
|
|
|
|
|
s += date.getDate(); // 获取日。 |
|
|
|
|
|
return (s); // 返回日期。 |
|
|
}, |
|
|
}, |
|
|
//计算两个日期相差多少天 |
|
|
//计算两个日期相差多少天 |
|
|
DateDiff(sDate1, sDate2) { |
|
|
DateDiff(sDate1, sDate2) { |
|
|
@ -1321,30 +1453,77 @@ |
|
|
return s |
|
|
return s |
|
|
}, |
|
|
}, |
|
|
// 导出 end |
|
|
// 导出 end |
|
|
shiftModal(row){ |
|
|
|
|
|
let inData={ |
|
|
|
|
|
site:row.site, |
|
|
|
|
|
scheduledate:row.scheduledate, |
|
|
|
|
|
calendarId:row.calendarId |
|
|
|
|
|
|
|
|
shiftModal(row) { |
|
|
|
|
|
let inData = { |
|
|
|
|
|
site: row.site, |
|
|
|
|
|
scheduledate: row.scheduledate, |
|
|
|
|
|
calendarId: row.calendarId |
|
|
} |
|
|
} |
|
|
getCalendarExceptionShiftData(inData).then(({data}) => { |
|
|
getCalendarExceptionShiftData(inData).then(({data}) => { |
|
|
this.dataList4=data.rows; |
|
|
|
|
|
this.shiftFlag=true; |
|
|
|
|
|
|
|
|
this.dataList4 = data.rows; |
|
|
|
|
|
this.shiftFlag = true; |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
editShift(row){ |
|
|
|
|
|
this.newShiftData=row; |
|
|
|
|
|
this.updateShiftFlag=true; |
|
|
|
|
|
|
|
|
// 编辑班次 |
|
|
|
|
|
editShiftModal(row) { |
|
|
|
|
|
this.workDateDialog = true |
|
|
|
|
|
this.workingCalendar = JSON.parse(JSON.stringify(row)) |
|
|
|
|
|
this.getcalendarDatetype() |
|
|
}, |
|
|
}, |
|
|
updateCESShift(){ |
|
|
|
|
|
|
|
|
// 获取工作类型 |
|
|
|
|
|
getcalendarDatetype() { |
|
|
|
|
|
let dto = { |
|
|
|
|
|
site: this.workingCalendar.site |
|
|
|
|
|
} |
|
|
|
|
|
calendarDatetypeInfo(dto).then(({data}) => { |
|
|
|
|
|
this.calendarDatetype = data.rows |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
// 选择班次类型之后 |
|
|
|
|
|
selectDateType() { |
|
|
|
|
|
getCalendarDatetypeInfo(this.workingCalendar).then(({data}) =>{ |
|
|
|
|
|
if (data && data.code == 0){ |
|
|
|
|
|
this.workingCalendar.exceptexacttime1 = data.data.exceptexacttime1 |
|
|
|
|
|
this.workingCalendar.exceptduration1 = data.data.exceptduration1 |
|
|
|
|
|
this.workingCalendar.exceptexacttime2 = data.data.exceptexacttime2 |
|
|
|
|
|
this.workingCalendar.exceptduration2 = data.data.exceptduration2 |
|
|
|
|
|
this.workingCalendar.exceptexacttime3 = data.data.exceptexacttime3 |
|
|
|
|
|
this.workingCalendar.exceptduration3 = data.data.exceptduration3 |
|
|
|
|
|
this.workingCalendar.exceptexacttime4 = data.data.exceptexacttime4 |
|
|
|
|
|
this.workingCalendar.exceptduration4 = data.data.exceptduration4 |
|
|
|
|
|
this.workingCalendar.exceptexacttime5 = data.data.exceptexacttime5 |
|
|
|
|
|
this.workingCalendar.exceptduration5 = data.data.exceptduration5 |
|
|
|
|
|
this.workingCalendar.exceptexacttime6 = data.data.exceptexacttime6 |
|
|
|
|
|
this.workingCalendar.exceptduration6 = data.data.exceptduration6 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
// 保存修改后的班次信息 |
|
|
|
|
|
updateWorkingCalendar(){ |
|
|
|
|
|
updateWorkingCalendar(this.workingCalendar).then(({data}) => { |
|
|
|
|
|
if (data && data.code == 0){ |
|
|
|
|
|
this.$message.success(data.msg) |
|
|
|
|
|
this.workDateDialog = false |
|
|
|
|
|
this.getCEModel(this.workingCalendar) |
|
|
|
|
|
}else { |
|
|
|
|
|
this.$message.warning(data.msg) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
editShift(row) { |
|
|
|
|
|
this.newShiftData = row; |
|
|
|
|
|
this.updateShiftFlag = true; |
|
|
|
|
|
}, |
|
|
|
|
|
updateCESShift() { |
|
|
updateCESShift(this.newShiftData).then(({data}) => { |
|
|
updateCESShift(this.newShiftData).then(({data}) => { |
|
|
if(data.code===0){ |
|
|
|
|
|
|
|
|
if (data.code === 0) { |
|
|
getCalendarExceptionData(this.CESearchData).then(({data}) => { |
|
|
getCalendarExceptionData(this.CESearchData).then(({data}) => { |
|
|
this.dataList2 = data.rows |
|
|
this.dataList2 = data.rows |
|
|
}) |
|
|
}) |
|
|
this.updateShiftFlag=false; |
|
|
|
|
|
|
|
|
this.updateShiftFlag = false; |
|
|
this.$message.success('保存成功') |
|
|
this.$message.success('保存成功') |
|
|
}else { |
|
|
|
|
|
|
|
|
} else { |
|
|
this.$alert(data.msg, '错误', { |
|
|
this.$alert(data.msg, '错误', { |
|
|
confirmButtonText: '确定' |
|
|
confirmButtonText: '确定' |
|
|
}) |
|
|
}) |
|
|
@ -1358,7 +1537,7 @@ |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style > |
|
|
|
|
|
|
|
|
<style> |
|
|
.calendar .el-table .cell { |
|
|
.calendar .el-table .cell { |
|
|
height: 28px; |
|
|
height: 28px; |
|
|
} |
|
|
} |
|
|
|