mirror of
https://gitee.com/java110/MicroCommunityWeb.git
synced 2026-02-24 05:46:03 +08:00
优化排班功能
This commit is contained in:
parent
9ae3888cc0
commit
457f5a4d3b
@ -1,5 +1,4 @@
|
||||
<div id="editScheduleClassesDayModel" class="modal fade" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div id="editScheduleClassesDayModel" class="modal fade" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
@ -16,31 +15,26 @@
|
||||
<div class="col-sm-10">
|
||||
<select class="custom-select" v-model="editScheduleClassesDayInfo.workday" @change="_changeScheduleClassesDayState()">
|
||||
<option value="2002">休息</option>
|
||||
<option :value="item.classesId" v-for="(item,index) in editScheduleClassesDayInfo.classess">{{item.name}}</option>
|
||||
<option :value="item.classesId" v-for="(item,index) in editScheduleClassesDayInfo.classess">{{item.name}}{{_getClassTime(item)}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row"
|
||||
v-if="editScheduleClassesDayInfo.workday != '2002'"
|
||||
v-for="(item,index) in editScheduleClassesDayInfo.times">
|
||||
<div class="form-group row" v-if="editScheduleClassesDayInfo.workday != '2002'" v-for="(item,index) in editScheduleClassesDayInfo.times">
|
||||
<label class="col-sm-2 col-form-label text-right">
|
||||
<span><vc:i18n name='上班时间' namespace='editScheduleClassesDay'></vc:i18n></span>
|
||||
</label>
|
||||
<div class="col-sm-4">
|
||||
<input v-model="item.startTime" type="text"
|
||||
:placeholder="vc.i18n('必填,请填写上班时间','editScheduleClassesDay')" class="form-control" />
|
||||
<input v-model="item.startTime" type="text" :placeholder="vc.i18n('必填,请填写上班时间','editScheduleClassesDay')" class="form-control" />
|
||||
</div>
|
||||
<label class="col-sm-2 col-form-label text-right">
|
||||
<span><vc:i18n name='下班时间' namespace='editScheduleClassesDay'></vc:i18n></span>
|
||||
</label>
|
||||
<div class="col-sm-4">
|
||||
<input v-model="item.endTime" type="text"
|
||||
:placeholder="vc.i18n('必填,请填写下班时间','editScheduleClassesDay')" class="form-control" />
|
||||
<input v-model="item.endTime" type="text" :placeholder="vc.i18n('必填,请填写下班时间','editScheduleClassesDay')" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="ibox-content">
|
||||
<button type="button" class="btn btn-primary float-right" style="margin-right:20px;"
|
||||
data-dismiss="modal">
|
||||
<button type="button" class="btn btn-primary float-right" style="margin-right:20px;" data-dismiss="modal">
|
||||
<span><vc:i18n name="提交"></vc:i18n></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
(function (vc) {
|
||||
(function(vc) {
|
||||
vc.extends({
|
||||
data: {
|
||||
editScheduleClassesDayInfo: {
|
||||
@ -8,61 +8,77 @@
|
||||
classess: [],
|
||||
}
|
||||
},
|
||||
_initMethod: function () {
|
||||
|
||||
_initMethod: function() {
|
||||
|
||||
},
|
||||
_initEvent: function () {
|
||||
vc.on('editScheduleClassesDay', 'notify', function (_param) {
|
||||
_initEvent: function() {
|
||||
vc.on('editScheduleClassesDay', 'notify', function(_param) {
|
||||
$that.editScheduleClassesDayInfo = _param;
|
||||
$that._listClassess();
|
||||
$('#editScheduleClassesDayModel').modal('show');
|
||||
|
||||
|
||||
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
|
||||
_changeScheduleClassesDayState:function(){
|
||||
$that.editScheduleClassesDayInfo.times.splice(0,$that.editScheduleClassesDayInfo.times.length);
|
||||
if($that.editScheduleClassesDayInfo.workday == '2002'){
|
||||
_changeScheduleClassesDayState: function() {
|
||||
$that.editScheduleClassesDayInfo.times.splice(0, $that.editScheduleClassesDayInfo.times.length);
|
||||
if ($that.editScheduleClassesDayInfo.workday == '2002') {
|
||||
$that.editScheduleClassesDayInfo.workdayName = '休息';
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
let _classes = $that.editScheduleClassesDayInfo.classess;
|
||||
let _classes = $that.editScheduleClassesDayInfo.classess;
|
||||
_classes.forEach(item => {
|
||||
if($that.editScheduleClassesDayInfo.workday == item.classesId){
|
||||
if ($that.editScheduleClassesDayInfo.workday == item.classesId) {
|
||||
$that.editScheduleClassesDayInfo.workdayName = item.name;
|
||||
item.times.forEach(time=>{
|
||||
item.times.forEach(time => {
|
||||
$that.editScheduleClassesDayInfo.times.push(time);
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
_summitEditScheduleClassesDay:function(){
|
||||
|
||||
_summitEditScheduleClassesDay: function() {
|
||||
|
||||
},
|
||||
_listClassess: function (_page, _rows) {
|
||||
_listClassess: function(_page, _rows) {
|
||||
let param = {
|
||||
params: {
|
||||
page:1,
|
||||
row:100
|
||||
page: 1,
|
||||
row: 100
|
||||
}
|
||||
};
|
||||
|
||||
//发送get请求
|
||||
vc.http.apiGet('/classes.listClasses',
|
||||
param,
|
||||
function (json, res) {
|
||||
function(json, res) {
|
||||
let _classesManageInfo = JSON.parse(json);
|
||||
vc.component.editScheduleClassesDayInfo.classess = _classesManageInfo.data;
|
||||
$that.$forceUpdate();
|
||||
|
||||
}, function (errInfo, error) {
|
||||
|
||||
},
|
||||
function(errInfo, error) {
|
||||
console.log('请求失败处理');
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
_getClassTime: function(item) {
|
||||
let _time = "";
|
||||
if (!item.times) {
|
||||
return _time
|
||||
}
|
||||
|
||||
item.times.forEach(_timeItem => {
|
||||
_time += (_timeItem.startTime + "~" + _timeItem.endTime + ";")
|
||||
})
|
||||
if (!_time) {
|
||||
return _time;
|
||||
}
|
||||
|
||||
return "(" + _time + ")";
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
})(window.vc);
|
||||
})(window.vc);
|
||||
@ -12,11 +12,9 @@
|
||||
</div>
|
||||
<div class="ibox-content">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
<input type="text" :placeholder="vc.i18n('请输入员工名称','scheduleClassesPage')"
|
||||
v-model="scheduleClassesPageInfo.conditions.nameLike" class=" form-control ">
|
||||
<input type="text" :placeholder="vc.i18n('请输入员工名称','scheduleClassesPage')" v-model="scheduleClassesPageInfo.conditions.nameLike" class=" form-control ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
@ -29,27 +27,38 @@
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
<input type="text" :placeholder="vc.i18n('请输入日期 YYYY-MM','scheduleClassesPage')"
|
||||
v-model="scheduleClassesPageInfo.conditions.curDate"
|
||||
class=" form-control queryDate">
|
||||
<input type="text" :placeholder="vc.i18n('请输入日期 YYYY-MM','scheduleClassesPage')" v-model="scheduleClassesPageInfo.conditions.curDate" class=" form-control queryDate">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<button type="button" class="btn btn-primary btn-sm"
|
||||
v-on:click="_queryScheduleClassesMethod()">
|
||||
<button type="button" class="btn btn-primary btn-sm" v-on:click="_queryScheduleClassesMethod()">
|
||||
<i class="fa fa-search"></i>
|
||||
<span>
|
||||
<vc:i18n name="查询" namespace="scheduleClassesPage"></vc:i18n>
|
||||
</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-white btn-sm"
|
||||
v-on:click="_exportScheduleClasses()">
|
||||
<button type="button" class="btn btn-white btn-sm" v-on:click="_resetScheduleClassesMethod()">
|
||||
<i class="fa fa-search"></i>
|
||||
<span>
|
||||
<vc:i18n name="重置" namespace="scheduleClassesPage"></vc:i18n>
|
||||
</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-white btn-sm" v-on:click="_exportScheduleClasses()">
|
||||
<span>
|
||||
<vc:i18n name="导出" namespace="scheduleClassesPage"></vc:i18n>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
<input v-model="scheduleClassesPageInfo.conditions.orgName" readonly @focus="_staffChangeOrg()" type="text" :placeholder="vc.i18n('必填,请选择关联组织','addStaff')" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -97,8 +106,7 @@
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center" v-for="(day,index) in staff.days">
|
||||
<div class=" text-center border padding-lg labeling-strip"
|
||||
style="border-radius: 5px;cursor:pointer">
|
||||
<div class=" text-center border padding-lg labeling-strip" style="border-radius: 5px;cursor:pointer">
|
||||
<div>{{day.workdayName?day.workdayName:'休息'}}</div>
|
||||
<div v-for="(time,index) in day.times">{{time.startTime}}-{{time.endTime}}
|
||||
</div>
|
||||
@ -130,4 +138,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<vc:create path="frame/chooseOrgTree" callBackListener="scheduleClassesPage"></vc:create>
|
||||
|
||||
</div>
|
||||
@ -1,17 +1,17 @@
|
||||
/**
|
||||
入驻小区
|
||||
**/
|
||||
(function (vc) {
|
||||
(function(vc) {
|
||||
var DEFAULT_PAGE = 1;
|
||||
var DEFAULT_ROWS = 10;
|
||||
vc.extends({
|
||||
data: {
|
||||
scheduleClassesPageInfo: {
|
||||
staffs: [],
|
||||
scheduleClassess:[],
|
||||
maxDay:30,
|
||||
curMonth:'',
|
||||
curYear:'',
|
||||
scheduleClassess: [],
|
||||
maxDay: 30,
|
||||
curMonth: '',
|
||||
curYear: '',
|
||||
total: 0,
|
||||
records: 1,
|
||||
moreCondition: false,
|
||||
@ -19,23 +19,29 @@
|
||||
conditions: {
|
||||
staffNameLike: '',
|
||||
scheduleId: '',
|
||||
curDate: ''
|
||||
curDate: '',
|
||||
orgId: '',
|
||||
orgName: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
_initMethod: function () {
|
||||
_initMethod: function() {
|
||||
$that.initStaffDate();
|
||||
vc.component._listStaffScheduleClassess(DEFAULT_PAGE, DEFAULT_ROWS);
|
||||
vc.component._listScheduleClassess(DEFAULT_PAGE, DEFAULT_ROWS);
|
||||
|
||||
},
|
||||
_initEvent: function () {
|
||||
vc.on('scheduleClassesPage', 'listScheduleClasses', function (_param) {
|
||||
_initEvent: function() {
|
||||
vc.on('scheduleClassesPage', 'listScheduleClasses', function(_param) {
|
||||
vc.component._listStaffScheduleClassess(DEFAULT_PAGE, DEFAULT_ROWS);
|
||||
});
|
||||
vc.on('pagination', 'page_event', function (_currentPage) {
|
||||
vc.on('pagination', 'page_event', function(_currentPage) {
|
||||
vc.component._listStaffScheduleClassess(_currentPage, DEFAULT_ROWS);
|
||||
});
|
||||
vc.on('scheduleClassesPage', 'switchOrg', function(_org) {
|
||||
$that.scheduleClassesPageInfo.conditions.orgId = _org.orgId;
|
||||
$that.scheduleClassesPageInfo.conditions.orgName = _org.allOrgName;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
initStaffDate: function() {
|
||||
@ -54,7 +60,7 @@
|
||||
vc.component._listStaffScheduleClassess(DEFAULT_PAGE, DEFAULT_ROWS);
|
||||
})
|
||||
},
|
||||
_listStaffScheduleClassess: function (_page, _rows) {
|
||||
_listStaffScheduleClassess: function(_page, _rows) {
|
||||
vc.component.scheduleClassesPageInfo.conditions.page = _page;
|
||||
vc.component.scheduleClassesPageInfo.conditions.row = _rows;
|
||||
let param = {
|
||||
@ -63,7 +69,7 @@
|
||||
//发送get请求
|
||||
vc.http.apiGet('/scheduleClasses.staffMonthScheduleClasses',
|
||||
param,
|
||||
function (json, res) {
|
||||
function(json, res) {
|
||||
let _scheduleClassesPageInfo = JSON.parse(json);
|
||||
vc.component.scheduleClassesPageInfo.total = _scheduleClassesPageInfo.total;
|
||||
vc.component.scheduleClassesPageInfo.records = _scheduleClassesPageInfo.records;
|
||||
@ -74,45 +80,57 @@
|
||||
currentPage: _page
|
||||
});
|
||||
},
|
||||
function (errInfo, error) {
|
||||
function(errInfo, error) {
|
||||
console.log('请求失败处理');
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
|
||||
//查询
|
||||
_queryScheduleClassesMethod: function () {
|
||||
_queryScheduleClassesMethod: function() {
|
||||
vc.component._listStaffScheduleClassess(DEFAULT_PAGE, DEFAULT_ROWS);
|
||||
},
|
||||
|
||||
_moreCondition: function () {
|
||||
_resetScheduleClassesMethod: function() {
|
||||
$that.scheduleClassesPageInfo.conditions = {
|
||||
staffNameLike: '',
|
||||
scheduleId: '',
|
||||
curDate: '',
|
||||
orgId: '',
|
||||
orgName: ''
|
||||
}
|
||||
|
||||
let _date = new Date(new Date());
|
||||
$that.scheduleClassesPageInfo.conditions.curDate = _date.getFullYear() + "-" + (_date.getMonth() + 1);
|
||||
},
|
||||
|
||||
_moreCondition: function() {
|
||||
if (vc.component.scheduleClassesPageInfo.moreCondition) {
|
||||
vc.component.scheduleClassesPageInfo.moreCondition = false;
|
||||
} else {
|
||||
vc.component.scheduleClassesPageInfo.moreCondition = true;
|
||||
}
|
||||
},
|
||||
_listScheduleClassess: function (_page, _rows) {
|
||||
_listScheduleClassess: function(_page, _rows) {
|
||||
let param = {
|
||||
params: {
|
||||
page:1,
|
||||
row:100
|
||||
page: 1,
|
||||
row: 100
|
||||
}
|
||||
};
|
||||
//发送get请求
|
||||
vc.http.apiGet('/scheduleClasses.listScheduleClasses',
|
||||
param,
|
||||
function (json, res) {
|
||||
function(json, res) {
|
||||
let _scheduleClassesInfo = JSON.parse(json);
|
||||
$that.scheduleClassesPageInfo.scheduleClassess = _scheduleClassesInfo.data;
|
||||
|
||||
|
||||
},
|
||||
function (errInfo, error) {
|
||||
function(errInfo, error) {
|
||||
console.log('请求失败处理');
|
||||
}
|
||||
);
|
||||
},
|
||||
_exportScheduleClasses: function () {
|
||||
_exportScheduleClasses: function() {
|
||||
//vc.jumpToPage('/callComponent/exportReportFee/exportData?pagePath=reportPayFeeDetail&' + vc.objToGetParam($that.reportPayFeeDetailInfo.conditions));
|
||||
vc.component.scheduleClassesPageInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
|
||||
vc.component.scheduleClassesPageInfo.conditions.pagePath = 'reportStaffMonthScheduleClasses';
|
||||
@ -121,18 +139,21 @@
|
||||
};
|
||||
//发送get请求
|
||||
vc.http.apiGet('/export.exportData', param,
|
||||
function (json, res) {
|
||||
function(json, res) {
|
||||
let _json = JSON.parse(json);
|
||||
vc.toast(_json.msg);
|
||||
if(_json.code == 0){
|
||||
if (_json.code == 0) {
|
||||
vc.jumpToPage('/#/pages/property/downloadTempFile?tab=下载中心')
|
||||
}
|
||||
},
|
||||
function (errInfo, error) {
|
||||
function(errInfo, error) {
|
||||
console.log('请求失败处理');
|
||||
});
|
||||
},
|
||||
_staffChangeOrg: function() {
|
||||
vc.emit('chooseOrgTree', 'openOrgModal', {});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
})(window.vc);
|
||||
Loading…
Reference in New Issue
Block a user