|
|
@@ -40,13 +40,15 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item v-if="formData.id" prop="dateTime" label="培训开始时间">
|
|
|
- <el-date-picker v-model="formData.trainingStartDateTime" type="datetime" placeholder="选择日期">
|
|
|
+ <el-date-picker v-model="formData.trainingStartDateTime" :picker-options="startDatepickerOptions"
|
|
|
+ type="datetime" placeholder="选择日期" @change="startDateChanged">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item v-if="formData.id" prop="dateTime" label="培训结束时间">
|
|
|
- <el-date-picker v-model="formData.trainingEndDateTime" type="datetime" placeholder="选择日期">
|
|
|
+ <el-date-picker v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
|
|
|
+ type="datetime" placeholder="选择日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -164,6 +166,7 @@
|
|
|
<script>
|
|
|
import { mapState, mapMutations } from "vuex";
|
|
|
import { getEduTask, recordEduTask } from "@/api/core/edu/eduTask";
|
|
|
+import dayjs from "dayjs";
|
|
|
import KTextarea from "@/components/common/textarea.vue";
|
|
|
import KSelect from "@/components/common/userselect.vue";
|
|
|
import imgUpload from "@/components/ImageUpload/index.vue";
|
|
|
@@ -187,6 +190,14 @@ export default {
|
|
|
// dueCount: [{ required: true, message: "请输入应到人数" }],
|
|
|
// actualCount: [{ required: true, message: "请输入实到人数" }],
|
|
|
},
|
|
|
+ startDatepickerOptions: {
|
|
|
+ disabledDate(time) {
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ endDatepickerOptions: {
|
|
|
+ disabledDate: this.endDisabledDate,
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
dicts: ['edu_type', 'edu_task_status'],
|
|
|
@@ -235,18 +246,18 @@ export default {
|
|
|
this.formData.fileList = [];
|
|
|
}
|
|
|
if (this.formData.taskUserList) {
|
|
|
- let list1 = this.formData.taskUserList.filter((element) =>
|
|
|
+ let list1 = this.formData.taskUserList.filter((element) =>
|
|
|
element.type === 1
|
|
|
);
|
|
|
- console.log("list1",list1)
|
|
|
- this.formData.absenceList = list1 ? list1.map((a) =>{ return a.userId;})
|
|
|
+ console.log("list1", list1)
|
|
|
+ this.formData.absenceList = list1 ? list1.map((a) => { return a.userId; })
|
|
|
: [];
|
|
|
|
|
|
- let list2 = this.formData.taskUserList.filter((element) =>
|
|
|
+ let list2 = this.formData.taskUserList.filter((element) =>
|
|
|
element.type === 2
|
|
|
);
|
|
|
- console.log("list2",list2)
|
|
|
- this.formData.absentList = list2 ? list2.map((a) =>{ return a.userId;})
|
|
|
+ console.log("list2", list2)
|
|
|
+ this.formData.absentList = list2 ? list2.map((a) => { return a.userId; })
|
|
|
: [];
|
|
|
}
|
|
|
else {
|
|
|
@@ -254,7 +265,7 @@ export default {
|
|
|
this.formData.absentList = [];
|
|
|
}
|
|
|
})
|
|
|
- console.log("getEduTask",this.formData);
|
|
|
+ console.log("getEduTask", this.formData);
|
|
|
},
|
|
|
async show(id, other = {}) {
|
|
|
this.id = id;
|
|
|
@@ -270,10 +281,10 @@ export default {
|
|
|
if (this.formData.taskUserList) {
|
|
|
this.formData.taskUserList = this.formData.taskUserList.filter(x => x.type == 1);
|
|
|
}
|
|
|
- else{
|
|
|
- this.formData.taskUserList=[];
|
|
|
+ else {
|
|
|
+ this.formData.taskUserList = [];
|
|
|
}
|
|
|
- let tempList = list.map(x => {
|
|
|
+ let tempList = list.map(x => {
|
|
|
return {
|
|
|
userId: x.id,
|
|
|
userName: x.name,
|
|
|
@@ -289,8 +300,8 @@ export default {
|
|
|
if (this.formData.taskUserList) {
|
|
|
this.formData.taskUserList = this.formData.taskUserList.filter(x => x.type == 2);
|
|
|
}
|
|
|
- else{
|
|
|
- this.formData.taskUserList=[];
|
|
|
+ else {
|
|
|
+ this.formData.taskUserList = [];
|
|
|
}
|
|
|
let tempList = list.map(x => {
|
|
|
return {
|
|
|
@@ -306,18 +317,27 @@ export default {
|
|
|
// 事件
|
|
|
onHide() {
|
|
|
this.isShow = false;
|
|
|
- this.formData=this.reset();
|
|
|
+ this.formData = this.reset();
|
|
|
},
|
|
|
- async onSave(){
|
|
|
+ async onSave() {
|
|
|
if (!this.validatePerson()) {
|
|
|
this.$message.error("参与人员与缺席人员重复,请重新选择!");
|
|
|
return;
|
|
|
}
|
|
|
- let request ={submitType:1,...this.formData};
|
|
|
+ let request = { submitType: 1, ...this.formData };
|
|
|
+ if (request.trainingStartDateTime)
|
|
|
+ request.trainingStartDateTime = dayjs(request.trainingStartDateTime).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+
|
|
|
+ if (request.trainingEndDateTime)
|
|
|
+ request.trainingEndDateTime = dayjs(request.trainingEndDateTime).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ // if(request.imageList)
|
|
|
+ // request.imageList=request.imageList.split(',').map(x=>{return x;});
|
|
|
+
|
|
|
recordEduTask(request).then((v) => {
|
|
|
- this.$emit("success", this.formData);
|
|
|
- this.onHide();
|
|
|
- });
|
|
|
+ this.$emit("success", this.formData);
|
|
|
+ this.onHide();
|
|
|
+ this.$modal.msgSuccess("培训登记暂存成功");
|
|
|
+ });
|
|
|
},
|
|
|
async onSubmit() {
|
|
|
await this.$refs.form.validate();
|
|
|
@@ -329,10 +349,11 @@ export default {
|
|
|
} else if (!this.validatePerson()) {
|
|
|
this.$message.error("参与人员与缺席人员重复,请重新选择!");
|
|
|
} else {
|
|
|
- let request ={submitType:2,...this.formData};
|
|
|
+ let request = { submitType: 2, ...this.formData };
|
|
|
recordEduTask(request).then((v) => {
|
|
|
this.$emit("success", this.formData);
|
|
|
this.onHide();
|
|
|
+ this.$modal.msgSuccess("培训登记提交成功");
|
|
|
});
|
|
|
// this.$emit("success");
|
|
|
// this.onHide();
|
|
|
@@ -348,8 +369,25 @@ export default {
|
|
|
return true;
|
|
|
},
|
|
|
uploadTriggerEvent(value) { },
|
|
|
- // 事件
|
|
|
- //apimark//
|
|
|
+
|
|
|
+ endDisabledDate(time) {
|
|
|
+ //小于开始日期禁止选择
|
|
|
+ let startDate = new Date();
|
|
|
+ startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
|
|
|
+ if (this.formData.trainingStartDateTime) {
|
|
|
+ startDate = new Date(dayjs(this.formData.trainingStartDateTime).format('YYYY-MM-DD'));
|
|
|
+ startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
|
|
|
+ }
|
|
|
+ return time.getTime() < new Date(startDate).getTime()
|
|
|
+
|
|
|
+ },
|
|
|
+ startDateChanged(time) {
|
|
|
+ console.log("startDateChanged",time,this.formData.trainingStartDateTime ,this.formData.trainingEndDateTime)
|
|
|
+ if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
|
|
|
+ this.formData.trainingEndDateTime = this.formData.trainingStartDateTime;
|
|
|
+ console.log("trainingEndDateTime",this.formData.trainingEndDateTime)
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
mounted() { },
|
|
|
};
|