commit
38b58b7978
@ -50,8 +50,21 @@ export default {
|
|||||||
trainPerson:'培训人',
|
trainPerson:'培训人',
|
||||||
trainPersonNum:'培训人数',
|
trainPersonNum:'培训人数',
|
||||||
remarks:'备注',
|
remarks:'备注',
|
||||||
educateTypeList:['入场三级教育','定期安全教育','安全技术交底','VR安全教育'],
|
educateTypeList:[
|
||||||
|
'入场安全教育',
|
||||||
|
'日常安全教育',
|
||||||
|
'每日安全交底',
|
||||||
|
'VR安全教育',
|
||||||
|
'班前教育',
|
||||||
|
'日常教育(日常违规教育)',
|
||||||
|
'每日交底(方案交底)',
|
||||||
|
'每日交底(安全技术交底)',
|
||||||
|
'每日交底(大工程交底)',
|
||||||
|
],
|
||||||
signInInfo:'签到信息',
|
signInInfo:'签到信息',
|
||||||
|
trainVideo:'教学视频上传',
|
||||||
|
photo:'培训照片',
|
||||||
|
trainDateTime:'培训时间',
|
||||||
selectWorker: '选择工人',
|
selectWorker: '选择工人',
|
||||||
allGroup:'全部班组',
|
allGroup:'全部班组',
|
||||||
allCompany:'全部企业',
|
allCompany:'全部企业',
|
||||||
|
|||||||
@ -39,6 +39,7 @@ if (process.env.NODE_ENV == 'development') {
|
|||||||
|
|
||||||
// axios.defaults.baseURL = 'http://36.137.53.203:9090/'; // 南昌地铁 17512009894 123456789 gdjt 123456789
|
// axios.defaults.baseURL = 'http://36.137.53.203:9090/'; // 南昌地铁 17512009894 123456789 gdjt 123456789
|
||||||
|
|
||||||
|
axios.defaults.baseURL = 'http://192.168.34.125:6023/'
|
||||||
// axios.defaults.baseURL = 'http://124.71.178.44:100/' // 河南
|
// axios.defaults.baseURL = 'http://124.71.178.44:100/' // 河南
|
||||||
// tag: 本地
|
// tag: 本地
|
||||||
// axios.defaults.baseURL = 'http://192.168.34.148:6023/' // 老大本地
|
// axios.defaults.baseURL = 'http://192.168.34.148:6023/' // 老大本地
|
||||||
|
|||||||
@ -45,16 +45,16 @@ export default new Vuex.Store({
|
|||||||
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
|
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
|
||||||
// FILEURL:'http://10.0.1.43:6023/image/',//测试
|
// FILEURL:'http://10.0.1.43:6023/image/',//测试
|
||||||
BASEURL: baseUrl?baseUrl:window.location.protocol + '//' + window.location.host + '/', //
|
BASEURL: baseUrl?baseUrl:window.location.protocol + '//' + window.location.host + '/', //
|
||||||
UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
|
// UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
|
||||||
FILEURL: window.location.protocol + '//' + window.location.host + '/image/',//测试
|
// FILEURL: window.location.protocol + '//' + window.location.host + '/image/',//测试
|
||||||
/* 2022-05-16 */
|
/* 2022-05-16 */
|
||||||
// tag: 部署河南项目时,需要打开这两行代码
|
// tag: 部署河南项目时,需要打开这两行代码
|
||||||
// UPLOADURL: 'http://124.71.178.44:100/upload/image',
|
// UPLOADURL: 'http://124.71.178.44:100/upload/image',
|
||||||
// FILEURL: 'http://124.71.178.44:100/image/',
|
// FILEURL: 'http://124.71.178.44:100/image/',
|
||||||
|
|
||||||
/* 2022-06-06 */ // tag: 本地测试接口
|
/* 2022-06-06 */ // tag: 本地测试接口
|
||||||
// UPLOADURL: 'http://192.168.34.125:6023/upload/image',
|
UPLOADURL: 'http://192.168.34.125:6023/upload/image',
|
||||||
// FILEURL: 'http://192.168.34.125:6023/image/',
|
FILEURL: 'http://192.168.34.125:6023/image/',
|
||||||
// UPLOADURL:'http://'+"61.190.32.219:9050"+'/upload/image',//正式
|
// UPLOADURL:'http://'+"61.190.32.219:9050"+'/upload/image',//正式
|
||||||
// FILEURL:'http://'+"61.190.32.219:9050"+'/image/',//正式
|
// FILEURL:'http://'+"61.190.32.219:9050"+'/image/',//正式
|
||||||
ACCOUNTTYPE: ['系统管理员', '企业一级管理员', '企业二级管理员', '企业三级管理员', '项目管理员'], //1系统管理员,2企业管理员账号,3企业区账号,4企业市账号,5项目账号
|
ACCOUNTTYPE: ['系统管理员', '企业一级管理员', '企业二级管理员', '企业三级管理员', '项目管理员'], //1系统管理员,2企业管理员账号,3企业区账号,4企业市账号,5项目账号
|
||||||
|
|||||||
@ -205,6 +205,33 @@
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('message.laborDev.trainDateTime')"
|
||||||
|
prop="eduDateTime"
|
||||||
|
>
|
||||||
|
<el-time-select
|
||||||
|
class="startTime"
|
||||||
|
placeholder="起始时间"
|
||||||
|
v-model="cardForm.eduStartTime"
|
||||||
|
:picker-options="{
|
||||||
|
start: '08:30',
|
||||||
|
step: '00:15',
|
||||||
|
end: '18:30',
|
||||||
|
maxTime: cardForm.eduEndTime
|
||||||
|
}">
|
||||||
|
</el-time-select>
|
||||||
|
<el-time-select
|
||||||
|
class="endTime"
|
||||||
|
placeholder="结束时间"
|
||||||
|
v-model="cardForm.eduEndTime"
|
||||||
|
:picker-options="{
|
||||||
|
start: '08:30',
|
||||||
|
step: '00:15',
|
||||||
|
end: '18:30',
|
||||||
|
minTime: cardForm.eduStartTime
|
||||||
|
}">
|
||||||
|
</el-time-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('message.laborDev.trainPerson')"
|
:label="$t('message.laborDev.trainPerson')"
|
||||||
prop="eduTeacher"
|
prop="eduTeacher"
|
||||||
@ -226,23 +253,56 @@
|
|||||||
<el-form-item :label="$t('message.laborDev.trainPersonNum')">
|
<el-form-item :label="$t('message.laborDev.trainPersonNum')">
|
||||||
<el-input :value="cardForm.list.length" disabled></el-input>
|
<el-input :value="cardForm.list.length" disabled></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- 签到信息 -->
|
||||||
<el-form-item :label="$t('message.laborDev.signInInfo')" prop="list">
|
<el-form-item :label="$t('message.laborDev.signInInfo')" prop="list">
|
||||||
<el-button type="primary" @click="selectWorkerDialog = true">
|
<el-button type="primary" @click="selectWorkerDialog = true" style="margin-right: 200px">
|
||||||
{{ $t("message.laborDev.selectWorker") }}
|
{{ $t("message.laborDev.selectWorker") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 添加上传相关材料 -->
|
</el-form-item>
|
||||||
|
<!-- 教学视频上传 -->
|
||||||
|
<el-form-item :label="$t('message.laborDev.trainVideo')" prop="uploadAttachments" >
|
||||||
|
<div class="videoUpload">
|
||||||
<el-upload
|
<el-upload
|
||||||
name="files"
|
name="files"
|
||||||
class="upload-demo uploadBtn"
|
|
||||||
:action="$store.state.UPLOADURL"
|
:action="$store.state.UPLOADURL"
|
||||||
multiple
|
multiple
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:on-preview="handlePreview"
|
|
||||||
:on-success="handleSuccess"
|
:on-success="handleSuccess"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
:show-file-list="false"
|
:show-file-list="false"
|
||||||
>
|
>
|
||||||
<el-button type="primary">材料上传</el-button>
|
<el-button type="primary">教学视频上传</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
|
<template v-if="cardForm.uploadAttachments">
|
||||||
|
<video width="120" height="80" controls autoplay style="margin-left: 10px">
|
||||||
|
<source :src="$store.state.FILEURL + cardForm.uploadAttachments" type="video/mp4">
|
||||||
|
<source :src="$store.state.FILEURL + cardForm.uploadAttachments" type="video/ogg">
|
||||||
|
<source :src="$store.state.FILEURL + cardForm.uploadAttachments" type="video/x-ms-wmv">
|
||||||
|
您的浏览器不支持 video 标签。
|
||||||
|
</video>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 培训照片 -->
|
||||||
|
<el-form-item :label="$t('message.laborDev.photo')" prop="photo" >
|
||||||
|
<div class="form-photo" >
|
||||||
|
<el-upload
|
||||||
|
v-for="i in 3" :key="i"
|
||||||
|
name="files"
|
||||||
|
class="photoUpload"
|
||||||
|
:action="$store.state.UPLOADURL"
|
||||||
|
:show-file-list="false"
|
||||||
|
:on-success="file => handleUpload(file, i)"
|
||||||
|
>
|
||||||
|
<img v-if="cardForm[`edu${i === 1 ? 'Before': i === 2 ? 'In' : 'After'}Photo`]"
|
||||||
|
:src="$store.state.FILEURL + cardForm[`edu${i === 1 ? 'Before': i === 2 ? 'In' : 'After'}Photo`]"
|
||||||
|
class="photo">
|
||||||
|
<template v-else>
|
||||||
|
<i class="el-icon-plus avatar-uploader-icon"></i>
|
||||||
|
<span>培训{{i === 1 ? '前' : i === 2 ? '中' : '后'}}</span>
|
||||||
|
</template>
|
||||||
|
</el-upload>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-table
|
<el-table
|
||||||
class="tables dialogTable"
|
class="tables dialogTable"
|
||||||
@ -343,6 +403,7 @@
|
|||||||
size="medium"
|
size="medium"
|
||||||
>{{ $t("message.personnelPosition.cancel") }}
|
>{{ $t("message.personnelPosition.cancel") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<!-- 取消 -->
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-circle-check"
|
icon="el-icon-circle-check"
|
||||||
@ -350,6 +411,7 @@
|
|||||||
size="medium"
|
size="medium"
|
||||||
>{{ $t("message.personnelPosition.determine") }}
|
>{{ $t("message.personnelPosition.determine") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<!-- 确定 -->
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -385,6 +447,12 @@ import {
|
|||||||
export default {
|
export default {
|
||||||
components: { selectWorker },
|
components: { selectWorker },
|
||||||
data() {
|
data() {
|
||||||
|
const validateConfig = {
|
||||||
|
required: true,
|
||||||
|
message: this.$t("message.personnelPosition.mandatory"),
|
||||||
|
trigger: "blur",
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uploadaurl:'',
|
uploadaurl:'',
|
||||||
fileList:[],
|
fileList:[],
|
||||||
@ -405,35 +473,23 @@ export default {
|
|||||||
eduContent: "",
|
eduContent: "",
|
||||||
eduCourseName: "",
|
eduCourseName: "",
|
||||||
eduPhoto: "",
|
eduPhoto: "",
|
||||||
|
eduBeforePhoto: "",
|
||||||
|
eduInPhoto: "",
|
||||||
|
eduAfterPhoto: "",
|
||||||
eduTeacher: "",
|
eduTeacher: "",
|
||||||
eduTime: "",
|
eduTime: "",
|
||||||
|
eduStartTime: '',
|
||||||
|
eduEndTime: '',
|
||||||
eduType: 1,
|
eduType: 1,
|
||||||
list: [],
|
list: [],
|
||||||
workernum: 0,
|
workernum: 0,
|
||||||
projectSn: this.$store.state.projectSn,
|
projectSn: this.$store.state.projectSn,
|
||||||
},
|
},
|
||||||
cardFormRules: {
|
cardFormRules: {
|
||||||
eduCourseName: [
|
eduCourseName: [validateConfig],
|
||||||
{
|
eduTime: [validateConfig],
|
||||||
required: true,
|
list: [validateConfig],
|
||||||
message: this.$t("message.personnelPosition.mandatory"),
|
uploadAttachments: [validateConfig],
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
eduTime: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: this.$t("message.personnelPosition.mandatory"),
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
list: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: this.$t("message.personnelPosition.mandatory"),
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
isAdd: false,
|
isAdd: false,
|
||||||
allPersonList: [],
|
allPersonList: [],
|
||||||
@ -448,25 +504,29 @@ export default {
|
|||||||
console.log('url',xxx)
|
console.log('url',xxx)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handlePreview(file,type){
|
handleUpload(res, num) {
|
||||||
// console.log('file',file)
|
const imageUrl = res.data[0].imageUrl
|
||||||
// console.log('fileList',type)
|
this.cardForm[`edu${num === 1 ? 'Before': num === 2 ? 'In' : 'After'}Photo`] = imageUrl
|
||||||
|
console.log(this.eduPhoto1,this.eduPhoto2,this.eduPhoto3, num);
|
||||||
},
|
},
|
||||||
handleSuccess(file,fileList){
|
handleSuccess(file,fileList){
|
||||||
console.log('成功的file',file)
|
console.log('成功的file',file)
|
||||||
this.cardForm.uploadAttachments = file.data[0].filename
|
this.cardForm.uploadAttachments = file.data[0].filename
|
||||||
if(file.status == "SUCCESS"){
|
if(file.status == "SUCCESS"){
|
||||||
this.$message({
|
this.$message({ message: '视频上传成功', type: 'success' });
|
||||||
message: '相关材料上传成功!',
|
|
||||||
type: 'success'
|
|
||||||
});
|
|
||||||
}else{
|
}else{
|
||||||
this.$message({
|
this.$message({ message: '上传失败,请重新上传!', type: 'error' });
|
||||||
message: '上传失败,请重新上传!',
|
|
||||||
type: 'error'
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
beforeUpload(file){
|
||||||
|
const videoTypes = ['video/mp4','application/x-mpegURL','video/x-ms-wmv','video/x-msvideo','video/x-flv','video/x-ms-wmv']
|
||||||
|
const type = file.type
|
||||||
|
const flag = videoTypes.includes(type)
|
||||||
|
if (!flag) {
|
||||||
|
this.$message({ message: '只能上传视频', type: 'error' });
|
||||||
|
}
|
||||||
|
return flag
|
||||||
|
},
|
||||||
changeScore(index, value) {
|
changeScore(index, value) {
|
||||||
console.log("changeScore", value, index);
|
console.log("changeScore", value, index);
|
||||||
var json = this.cardForm.list[index];
|
var json = this.cardForm.list[index];
|
||||||
@ -697,4 +757,55 @@ export default {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form-photo{
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
.photoUpload{
|
||||||
|
margin-right: 10px;
|
||||||
|
.photo{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.photoUpload .el-upload {
|
||||||
|
position: relative;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
border: 1px dashed #d9d9d9;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: pointer;
|
||||||
|
span{
|
||||||
|
position: relative;
|
||||||
|
bottom: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.avatar-uploader-icon {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #8c939d;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
line-height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.startTime, .endTime{
|
||||||
|
width: 170px !important;
|
||||||
|
/deep/.el-input__inner{
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/deep/.el-date-editor{
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
.videoUpload{
|
||||||
|
width: 320px;
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
>div{
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user