员工排班信息

This commit is contained in:
wuxw 2022-10-31 00:04:56 +08:00
parent 60b91005bb
commit 2e7cff5ec4
10 changed files with 295 additions and 30 deletions

View File

@ -0,0 +1,15 @@
<div>
<div>
<div v-if="staffScheduleClassesInfo.scheduleType == '1001'">
<vc:create path="property/staffScheduleClassesDay">
</div>
<div v-if="staffScheduleClassesInfo.scheduleType == '2002'">
<vc:create path="property/staffScheduleClassesWeek">
</div>
<div v-if="staffScheduleClassesInfo.scheduleType == '3003'">
<vc:create path="property/staffScheduleClassesMonth">
</div>
</div>
</div>

View File

@ -0,0 +1,125 @@
(function (vc) {
vc.extends({
data: {
staffScheduleClassesInfo: {
staffId:'',
scheduleId:'',
name:'',
scheduleType:'',
scheduleCycle:'1',
days:[]
}
},
_initMethod: function () {
$that.staffScheduleClassesInfo.staffId = vc.getParam('staffId');
if(!$that.staffScheduleClassesInfo.staffId){
return ;
}
$that._loadStaffScheduleClasses();
},
_initEvent: function () {
},
methods: {
_changeScheduleType: function () {
if($that.staffScheduleClassesInfo.scheduleType == '1001'){
vc.emit("scheduleClassesDayInfo", "notify",{
scheduleCycle:$that.staffScheduleClassesInfo.scheduleCycle,
days:$that.staffScheduleClassesInfo.days
})
}
if($that.staffScheduleClassesInfo.scheduleType == '2002'){
vc.emit("scheduleClassesWeekInfo", "notify",{
scheduleCycle:$that.staffScheduleClassesInfo.scheduleCycle,
days:$that.staffScheduleClassesInfo.days
})
}
if($that.staffScheduleClassesInfo.scheduleType == '3003'){
vc.emit("scheduleClassesMonthInfo", "notify",{
scheduleCycle:$that.staffScheduleClassesInfo.scheduleCycle,
days:$that.staffScheduleClassesInfo.days
})
}
},
_loadStaffScheduleClasses: function () {
let param = {
params: {
staffId: $that.staffDetailInfo.staffId,
page:1,
row:1
}
};
//发送get请求
vc.http.apiGet('/scheduleClasses.listScheduleClassesStaff',
param,
function (json) {
let _staffDetailInfo = JSON.parse(json);
if(!_staffDetailInfo.data || _staffDetailInfo.data.length < 1){
return;
}
$that.staffScheduleClassesInfo.scheduleId = _staffDetailInfo.data[0].scheduleId;
$that._listScheduleClassess();
},
function () {
console.log('请求失败处理');
});
},
_listScheduleClassess: function () {
let param = {
params: {
page:1,
row:1,
scheduleId:$that.staffScheduleClassesInfo.scheduleId
}
};
//发送get请求
vc.http.apiGet('/scheduleClasses.listScheduleClasses',
param,
function (json, res) {
let _scheduleClassesInfo = JSON.parse(json);
vc.copyObject(_scheduleClassesInfo.data[0],$that.staffScheduleClassesInfo);
$that._listScheduleClassesDays();
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listScheduleClassesDays: function () {
let param = {
params: {
page:1,
row:100,
scheduleId:$that.staffScheduleClassesInfo.scheduleId
}
};
//发送get请求
vc.http.apiGet('/scheduleClasses.listScheduleClassesDay',
param,
function (json, res) {
let _scheduleClassesInfo = JSON.parse(json);
_scheduleClassesInfo.data.forEach(item => {
if(item.workday == '1001'){
item.workdayName = '正常上下班';
}else{
item.workdayName = '休息';
}
});
$that.staffScheduleClassesInfo.days = _scheduleClassesInfo.data;
$that._changeScheduleType();
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
}
});
})(window.vc);

View File

@ -0,0 +1,23 @@
<div>
<div class="form-group row">
<label class="col-sm-1 col-form-label">
<span>
<vc:i18n name="按天排班" namespace="scheduleClassesDay"></vc:i18n>
</span>
</label>
<div class="col-sm-11">
<div class="row bg-white border-radius padding ">
<div class="col-md-2 text-center border padding-lg labeling-strip"
v-for="(item,index) in scheduleClassesDayInfo.days" :key="index"
style="border-radius: 5px;cursor:pointer" @click="_changeWorkdayInfo(item)">
<div>{{item.day}}</div>
<div>{{item.workdayName}}</div>
<div v-for="(time,index) in item.times">{{time.startTime}}-{{time.endTime}}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,24 @@
(function (vc) {
vc.extends({
data: {
scheduleClassesDayInfo: {
scheduleCycle:1,
days:[]
}
},
_initMethod: function () {
},
_initEvent: function () {
vc.on("scheduleClassesDayInfo", "notify", function (_param) {
$that.scheduleClassesDayInfo.days = _param.days;
$that.scheduleClassesDayInfo.scheduleCycle = _param.scheduleCycle;
});
},
methods: {
}
});
})(window.vc);

View File

@ -0,0 +1,23 @@
<div>
<div class="form-group row">
<label class="col-sm-2 col-form-label ">
<span>
<vc:i18n name="按月排班" namespace="scheduleClassesMonth"></vc:i18n>
</span>
</label>
<div class="col-sm-10">
<div class="row bg-white border-radius padding ">
<div class="col-md-2 text-center border padding-lg labeling-strip"
v-for="(item,index) in scheduleClassesMonthInfo.days" :key="index"
style="border-radius: 5px;cursor:pointer" @click="_changeWorkdayMonthInfo(item)">
<div>{{item.day}}</div>
<div>{{item.workdayName}}</div>
<div v-for="(time,index) in item.times">{{time.startTime}}-{{time.endTime}}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,28 @@
(function (vc) {
vc.extends({
data: {
scheduleClassesMonthInfo: {
scheduleCycle:1,
days:[]
}
},
_initMethod: function () {
},
_initEvent: function () {
vc.on("scheduleClassesMonthInfo", "notify", function (_param) {
$that.scheduleClassesMonthInfo.days = _param.days;
$that.scheduleClassesMonthInfo.scheduleCycle = _param.scheduleCycle;
});
},
methods: {
}
});
})(window.vc);

View File

@ -0,0 +1,21 @@
<div>
<div class="form-group row" v-for="week in scheduleClassesWeekInfo.scheduleCycle">
<label class="col-sm-2 col-form-label text-right">
<span>
{{vc.getWeek(week)}}
</span>
</label>
<div class="col-sm-10">
<div class="row bg-white border-radius padding ">
<div class="col-md-2 text-center border padding-lg labeling-strip"
v-for="(item,index) in scheduleClassesWeekInfo.days" :key="index"
style="border-radius: 5px;cursor:pointer" @click="_changeWorkdayWeekInfo(item)" v-if="item.weekFlag == week">
<div>{{vc.getWorkDay(item.day)}}</div>
<div>{{item.workdayName}}</div>
<div v-for="(time,index) in item.times">{{time.startTime}}-{{time.endTime}}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,27 @@
(function (vc) {
vc.extends({
data: {
scheduleClassesWeekInfo: {
scheduleCycle: 1,
days: []
}
},
_initMethod: function () {
},
_initEvent: function () {
vc.on("scheduleClassesWeekInfo", "notify", function (_param) {
$that.scheduleClassesWeekInfo.days = _param.days;
$that.scheduleClassesWeekInfo.scheduleCycle = parseInt(_param.scheduleCycle);
});
},
methods: {
}
});
})(window.vc);

View File

@ -84,16 +84,6 @@
<div class="col-md-6">岗位:{{item.relCdName}}</div>
</div>
</div>
<!-- <div class="ibox-title margin-top">-->
<!-- <h5>-->
<!-- <span><vc:i18n name="关联小区" namespace="staffDetailInfo"></vc:i18n></span>-->
<!-- </h5>-->
<!-- </div>-->
<!-- <div class="ibox-content">-->
<!-- <div class="row" v-for="(item,index) in staffDetailInfo.communitys">-->
<!-- <div class="col-md-4">{{item.name}}</div>-->
<!-- </div>-->
<!-- </div>-->
<div class="ibox-title margin-top">
<h5>
<span><vc:i18n name="关联角色及小区" namespace="staffDetailInfo"></vc:i18n></span>
@ -114,6 +104,14 @@
</div>
</div>
</div>
<div class="ibox-title margin-top">
<h5>
<span><vc:i18n name="排班" namespace="staffDetailInfo"></vc:i18n></span>
</h5>
</div>
<div class="ibox-content">
<vc:create path="property/staffScheduleClasses"></vc:create>
</div>
</div>
</div>
<div class="col-lg-3">

View File

@ -198,26 +198,6 @@
}
);
},
// _loadStaffCommunity: function () {
// let param = {
// params: {
// page: 1,
// row: 9999,
// staffId: $that.staffDetailInfo.staffId
// }
// };
// //发送get请求
// vc.http.apiGet('/user.listStaffCommunitys',
// param,
// function (json) {
// let _staffInfo = JSON.parse(json);
// $that.staffDetailInfo.communitys = _staffInfo.data
// },
// function () {
// console.log('请求失败处理');
// }
// );
// },
_loadStaffRole: function () {
let param = {
params: {
@ -238,6 +218,7 @@
}
);
},
}
});
})(window.vc);