<!DOCTYPE HTML>
|
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta charset="utf-8">
|
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
<LINK rel="Bookmark" href="../images/favicon.ico">
|
<!-- 本框架基本脚本和样式 -->
|
<!-- 引入样式 -->
|
|
<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
|
<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
|
<link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
|
<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css" />
|
|
</head>
|
<body>
|
|
<div class="ibox-content" id="app" v-cloak>
|
|
<div class="row">
|
<div class="panel panel-primary">
|
<div class="panel-heading">
|
美疗师排班
|
</div>
|
<div class="panel-body">
|
<el-form ref="form">
|
|
<el-form-item label="排班时间">
|
<el-col :span="11">
|
<el-date-picker @change="loadInfo()" type="date" placeholder="选择日期" v-model="dateTime"></el-date-picker>
|
</el-col>
|
</el-form-item>
|
|
<table class="table table-bordered text-center">
|
<thead>
|
<tr>
|
<th data-align="center"
|
data-width="300px">时间\班次
|
</th>
|
<th v-for="item in workTimes">
|
{{item.name }}
|
{{item.startTime | format('hh:mm') }}至{{item.endTime | format('hh:mm') }}
|
</th>
|
</tr>
|
</thead>
|
<tbody>
|
|
<tr v-for="(item,i) in beaWorkForms">
|
<td style="width:150px;">{{item.date|format('yy年MM月dd日')}}</td>
|
<td v-for="(timeCode,j) in workTimes">
|
<el-select style="width: 100%;" v-model="staffIds[i*workTimes.length+j]"
|
placeholder="请选择" multiple>
|
<el-option
|
v-for="item in mlss"
|
:key="item.suId"
|
:label="item.suName"
|
:value="item.suId">
|
</el-option>
|
</el-select>
|
</td>
|
</tr>
|
|
</tbody>
|
|
</table>
|
<div class="form-group ">
|
<div class="col-sm-12 text-center">
|
<el-button type="primary" :disabled="isBefore" @click="submit()" >保存</el-button>
|
</div>
|
</div>
|
</el-form>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
|
|
|
<script type="text/javascript">
|
|
var app = new Vue({
|
el: '#app',
|
data: {
|
workTimes: {},
|
tableData: [],
|
staffIds: [],
|
dateTime:new Date(),
|
},
|
computed:{
|
isBefore: function(){
|
let time=parseInt(MTools.formatDate(this.dateTime,'yyyyMMdd'));
|
let now=parseInt(MTools.formatDate(new Date(),'yyyyMMdd'));
|
console.log(time,now,time>now);
|
return time<now;
|
}
|
|
},
|
created: function () {
|
this.loadInfo();
|
},
|
|
mounted: function () {
|
// this.initDate();
|
},
|
|
|
methods: {
|
|
loadInfo: function () {
|
var _this = this;
|
AjaxProxy.requst({
|
app: _this,
|
data:{'dateTime':MTools.formatDate(_this.dateTime,'yyyy-MM-dd')},
|
async: false,
|
url: basePath + '/admin/beautiWork/getPaiBanInfo',
|
callback: function (data) {
|
let map = data.mapInfo;
|
_this.dateTime = map.dateTime;
|
//班次
|
_this.workTimes = map.workTimes;
|
//获取最近一周的日期
|
_this.beaWorkForms = map.beaWorkForms;
|
_this.mlss = map.mlss;
|
let staffIds = [];
|
//设置选中的staffIds
|
for (let i = 0; i < _this.beaWorkForms.length; i++) {
|
//获取到已经排班的人
|
let queryListWorks = _this.beaWorkForms[i].queryListWorks;
|
for (let j = 0; j < queryListWorks.length; j++) {
|
console.log(i * queryListWorks.length + j, queryListWorks[j])
|
if (queryListWorks[j].length > 0) {
|
let ids = [];
|
queryListWorks[j].forEach(work => {
|
ids.push(work.staffId);
|
});
|
staffIds[i * queryListWorks.length + j] = ids;
|
} else {
|
staffIds[i * queryListWorks.length + j] = [];
|
}
|
}
|
}
|
console.log('初始化staffIds', staffIds);
|
_this.staffIds = staffIds;
|
|
}
|
})
|
},
|
|
initDate: function () {
|
|
|
},
|
|
submit: function () {
|
console.log(this.staffIds);
|
let _this = this;
|
let param = {
|
dateTime: MTools.formatDate(_this.dateTime,'yyyy-MM-dd'),
|
works: [],
|
};
|
for (let i = 0; i < _this.beaWorkForms.length; i++) {
|
for (let j = 0; j < _this.workTimes.length; j++) {
|
var work = new Object();
|
work.paibanCode = MTools.formatDate(_this.beaWorkForms[i].date, 'yyyyMMdd');
|
work.workId = _this.workTimes[j].id;
|
work.staffIds = _this.staffIds[i * _this.workTimes.length + j].join(',');
|
param.works.push(work);
|
}
|
|
}
|
console.log(param);
|
AjaxProxy.requst(
|
{
|
app: _this,
|
data: param,
|
url: basePath + '/admin/beautiWork/ddOrModifyWork',
|
callback: function (data) {
|
_this.$message({
|
message: data.info,
|
type: 'success'
|
});
|
}
|
});
|
},
|
|
changeTime: function (event) {
|
console.log('修改预约时间');
|
var _this = this;
|
|
},
|
|
|
},
|
filters: {
|
format: function (value, patten) {
|
if (!value) return '';
|
return MTools.formatDate(value, patten)
|
},
|
},
|
|
updated: function () {
|
//兼容微信6.74+ios12的软键盘不回弹bug
|
$("input,textarea,select").blur(function () {
|
setTimeout(function () {
|
var scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0;
|
window.scrollTo(0, Math.max(scrollHeight - 1, 0));
|
}, 50)
|
})
|
},
|
})
|
|
|
</script>
|
</body>
|
</html>
|