Merge remote-tracking branch 'origin/dev' into dev

pull/2/head
dearlin 2023-11-09 10:02:11 +08:00
commit 32db2c7fcd
14 changed files with 1547 additions and 243 deletions

View File

@ -0,0 +1,981 @@
<template>
<div style="padding: 10px">
<el-form v-loading="listLoading" ref="form" :rules="rules" :model="form" label-width="210px">
<el-row>
<el-col :span="12">
<el-form-item label="照片" prop="userImg" >
<el-upload
ref="photoUpload"
:file-list="form.userImg"
:multiple="false"
:limit="1"
:class="{hide:hideUpload}"
:auto-upload="false"
:before-remove="handlePhotoBeforeRemove"
:on-remove="handleRemove"
:on-change="handleChangeIMG"
action="#"
accept=".jpg,.jpeg,.png"
list-type="picture-card">
<i class="el-icon-plus" />
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="姓名" prop="NAME" class="input-width">
<el-input :span="5" v-model="form.NAME" placeholder="这里输入姓名..."/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户名" prop="USERNAME" class="input-width">
<el-input v-model="form.USERNAME" :disabled="dialog_type == 'editPerson'" placeholder="这里输入用户名..." />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="联系电话" prop="PHONE" style="display:none">
<el-input v-model="form.PHONE" disabled placeholder="这里输入联系电话..."/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="部门" prop="DEPARTMENT_ID" label-width="">
<SelectTree
ref="deptTree"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="form.DEPARTMENT_ID"
placeholder="请选择部门"
style="width: 290px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="CARD_ID" class="input-width">
<el-input v-model="form.CARD_ID" placeholder="这里输入身份证号..."/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证照片" class="input-width" prop="userCardFile" >
<el-upload
ref="userCardUpload"
:file-list="form.userCardFile"
:multiple="false"
:limit="2"
:class="{hide:userCardIDUpload}"
:auto-upload="false"
:before-remove="handlePhotoBeforeRemove"
:on-remove="handleUserCardPhoneRemove"
:on-change="handleUserCardPhoneZhengshu"
action="#"
accept=".jpg,.jpeg,.png"
list-type="picture-card">
<i class="el-icon-plus" />
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="民族" prop="NATIONALITY">
<el-select v-model="form.NATIONALITY" placeholder="请选择" style="width: 290px">
<el-option
v-for="item in minzuList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" >
<el-radio-group v-model="form.SEX" disabled>
<el-radio v-model="form.SEX" label="1"></el-radio>
<el-radio v-model="form.SEX" label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="出生年月" prop="DATE_OF_BIRTH">
<el-date-picker
v-model="form.DATE_OF_BIRTH"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
disabled
style="width: 290px"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年龄" prop="AGE" class="input-width">
<el-input v-model="form.AGE" type="number" placeholder="这里输入年龄..." disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="户口所在地" prop="HKLOCAL" class="input-width">
<el-input v-model="form.HKLOCAL" placeholder="这里输入户口所在地..."/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="现住址" prop="ADDRESS" class="input-width">
<el-input v-model="form.ADDRESS" placeholder="这里输入现住址..."/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="文化程度" prop="DEGREE_OF_EDUCATION">
<el-select v-model="form.DEGREE_OF_EDUCATION" placeholder="请选择" style="width: 290px">
<el-option
v-for="item in wenhuachengduList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="婚姻状况" prop="MARITALSTATUS" class="input-width">
<el-radio-group v-model="form.MARITALSTATUS" >
<el-radio v-model="form.MARITALSTATUS" label="1"></el-radio>
<el-radio v-model="form.MARITALSTATUS" label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="政治面貌" prop="POLITICAL_STATUS">
<el-select v-model="form.POLITICAL_STATUS" placeholder="请选择" style="width: 290px">
<el-option
v-for="item in zhengzhimianmaoList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col v-show="form.POLITICAL_STATUS == 'zhonggongdangyuan'" :span="12">
<el-form-item label="入党时间" prop="POLITICAL_TIME">
<el-date-picker
v-model="form.POLITICAL_TIME"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 290px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否缴纳社保" prop="IS_SOCIAL">
<el-radio-group v-model="form.IS_SOCIAL" @change="form.zhebaoZhaopian = []">
<el-radio v-model="form.IS_SOCIAL" label="1"></el-radio>
<el-radio v-model="form.IS_SOCIAL" label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.IS_SOCIAL === '1'" label="社会保障号码" class="input-width" prop="SOCIAL_NUMBER">
<el-input v-model="form.SOCIAL_NUMBER" placeholder="这里输入社会保障号码..." @keyup.native="number"/>
</el-form-item>
<el-form-item v-if="form.IS_SOCIAL === '1'" label="社保卡照片" prop="zhebaoZhaopian" >
<el-upload
ref="zhenbaoUpload"
:file-list="form.zhebaoZhaopian"
:multiple="false"
:limit="2"
:class="{hide:zhebaoUpload}"
:auto-upload="false"
:before-remove="handlePhotoBeforeRemove"
:on-remove="handleZhebaoRemove"
:on-change="handleZhebaoChangeIMG"
action="#"
accept=".jpg,.jpeg,.png"
list-type="picture-card">
<i class="el-icon-plus" />
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否参加三级安全培训" prop="IS_LEVEL_THREE" >
<el-radio-group v-model="form.IS_LEVEL_THREE">
<el-radio v-model="form.IS_LEVEL_THREE" label="1"></el-radio>
<el-radio v-model="form.IS_LEVEL_THREE" label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.IS_LEVEL_THREE === '1'" label="三级安全培训照片" prop="photosOfLevel" >
<el-upload
ref="photosOfLevel"
:file-list="form.photosOfLevel"
:multiple="false"
:limit="5"
:class="{hide:photosOfLevel}"
:auto-upload="false"
:before-remove="handlePhotoBeforeRemove"
:on-remove="handleLevelPhotoRemove"
:on-change="handleLevelPhotoChangeIMG"
action="#"
accept=".jpg,.jpeg,.png"
list-type="picture-card">
<i class="el-icon-plus" />
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="岗位名称(工种)" prop="POST_ID">
<el-input v-model="form.POST_ID" placeholder="这里输入岗位名称(工种)..."/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="是否缴纳保险" prop="IS_BF">
<el-select v-model="form.IS_BF" multiple placeholder="请选择" @change="changeBf">
<el-option
v-for="item in BF_OPTIONS"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="item.disabled"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否特殊工种" prop="IS_SPECIAL_JOB">
<el-radio-group v-model="form.IS_SPECIAL_JOB" disabled>
<el-radio v-model="form.IS_SPECIAL_JOB" label="1"></el-radio>
<el-radio v-model="form.IS_SPECIAL_JOB" label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-alert
v-show="form.IS_SPECIAL_JOB == 1"
:closable="false"
title="请提示该用户去相关方app端完善特种证书信息"
type="error"
class="alertClass"
/>
</el-col>
<el-col :span="8">
<el-form-item label="是否流动人员" prop="ISFLOW" style="float:left">
<el-radio-group v-model="form.ISFLOW" :disabled="whetherServiceCompany">
<el-radio v-model="form.ISFLOW" label="1"></el-radio>
<el-radio v-model="form.ISFLOW" label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-alert
v-show="whetherServiceCompany"
:closable="false"
title="该人员已固定服务企业,无法变更人员类型"
type="error"
class="alertClass"
/>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import SelectTree from '@/components/SelectTree'
import { upload } from '@/utils/upload'
export default {
name: 'UserBaseInfoUpd',
components: { SelectTree },
props: {
user_id: {
type: String,
default: ''
},
corpinfo_id: {
type: String,
default: ''
},
employment_apply_management_id: {
type: String,
default: ''
},
dialog_type: {
type: String,
default: ''
}
},
data() {
var hasSOCIAL = (rule, value, callback) => {
if (this.form.IS_SOCIAL == '0') {
this.form.SOCIAL_NUMBER = ''
callback()
} else {
if (this.form.SOCIAL_NUMBER == '') callback(new Error('社会保障号码不为空'))
}
callback()
}
var isCommunist = (rule, value, callback) => {
if (this.form.POLITICAL_STATUS != 'zhonggongdangyuan') {
this.form.POLITICAL_TIME = ''
callback()
} else {
if (this.form.POLITICAL_TIME == '') callback(new Error('请选择入党时间'))
}
callback()
}
var hasCARD = (rule, value, callback) => {
requestFN(
'/user/hasUserCARD',
{
CARD_ID: value,
USER_ID: this.user_id
}
).then((data) => {
if (data.pd) {
callback(new Error('身份证号已存在'))
}
callback()
//
this.form.DATE_OF_BIRTH = value.substring(6, 10) + '-' + value.substring(10, 12) + '-' + value.substring(12, 14)
//
this.form.SEX = (parseInt(value.substr(16, 1)) % 2 == 1 ? '0' : '1')
//
var ageDate = new Date()
var month = ageDate.getMonth() + 1
var day = ageDate.getDate()
var age = ageDate.getFullYear() - value.substring(6, 10) - 1
if (value.substring(10, 12) < month || value.substring(10, 12) == month && value.substring(12, 14) <= day) {
age++
}
if (age <= 0) {
age = 1
}
this.form.AGE = age
}).catch((e) => {
callback()
})
}
var hasName = (rule, value, callback) => {
requestFN(
'/user/hasUserName',
{
USERNAME: value,
USER_ID: this.user_id
}
).then((data) => {
if (data.pd) {
callback(new Error('用户名已存在'))
}
callback()
}).catch((e) => {
callback()
})
}
//
var hasLevelThree = (rule, value, callback) => {
console.log('hasLevelThree')
if (this.form.IS_LEVEL_THREE == '0') {
this.form.photosOfLevel = []
callback()
} else {
if (this.form.photosOfLevel.length == 0) callback(new Error('三级培训不为空'))
}
callback()
}
//
var hasSOCIALPHTOT = (rule, value, callback) => {
if (this.form.IS_SOCIAL == '0') {
this.form.zhebaoZhaopian = []
callback()
} else {
if (this.form.zhebaoZhaopian.length == 0) callback(new Error('社会卡照片不为空'))
}
callback()
}
return {
form: {
userCardFile: [],
zhebaoZhaopian: [],
photosOfLevel: [],
gongshangbaoxianFile: [],
userImg: [],
NATIONALITY: '',
POLITICAL_TIME: '',
MARITALSTATUS: '1',
POLITICAL_STATUS: '',
contractFileList: [], //
insuranceFileList: [], //
CARD_ID: '', //
DEPARTMENT_NAME: '', //
CORPINFO_ID: '', // id
HKLOCAL: '', //
AGE: '',
SEX: '',
ADDRESS: '',
PHONE: '',
IS_SAFETY_TIME: '',
IS_SOCIAL: '1',
SOCIAL_NUMBER: '', //
IS_LEVEL_THREE: '1', //
IS_SPECIAL_JOB: '0', //
ISFLOW: '', //
PHOTO: [],
IS_INJURIES_PAY: '',
CORP_START_DATE: '',
IS_BODY_ADAPT: '',
IS_SAFETY_TELL: '',
ISPAY: '',
IS_INJURIES_PAY_TIME: '',
ISPAY_NUMBER: '',
IS_SIGN_LABOR: '',
IS_HAZARDCONFIRMER: 0,
INFORPOST: '',
INFORTITLE: '',
INFORTITLEValue: '',
infortitleType: 'select',
INFORWORK: '',
INFORWORKValue: '',
inforworkType: 'select',
ROLE_ID: [],
ROLE_NAME: [],
DEPARTMENT_ID: '',
POST_ID: '',
PERSON_WORK_TYPE: '', //
USERNAME: '',
NAME: '',
EMAIL: '',
LEARNERCATEGORY: '',
LEARNERCATEGORYSTATUS: 'select',
SORT: '',
JCR: '',
BZ: '',
PERSON_TYPE: '',
PASSWORD: 'Aa@123456789',
USERAVATARPREFIX: '',
USERAVATARURL: '',
USERAVATARURL_CONVERT: '',
SHIFTDUTYONE: '',
SHIFTDUTYTWO: '',
DURATION: '',
WORKSTATUS: '',
WORKPERIOD: '',
ISSTUDENT: false,
NATION: '', //
POLITICAL_OUTLOOK: '', //
DATE_OF_BIRTH: '', //
DEGREE_OF_EDUCATION: '', //
POST: '', //
TYPE_OF_WORK: '', //
ENTRY_DATE: '', //
WORK_DATE: '', //
INCUMBENCY: '', //
CERTIFICATE_INFORMATION: '', //
TITLE: '', //
DUTIESValue: '',
DUTIES: '',
inforpostType: 'select',
INFORPOSTValue: '',
letDutiesType: 'select',
letPostType: 'select',
letTitleValue: '',
letTitleId: '',
letTitleType: 'select',
letTypeOfWorkValue: '',
letTypeOfWorkId: '',
letTypeOfWorkType: 'select',
USER_ID_CARD: '',
PERSONNEL_TYPE: '',
userCerList: [],
IS_BF: ''
},
pdrelated: {},
BF_OPTIONS: [
{ value: '0', label: '无' },
{ value: '1', label: '商业保险' },
{ value: '2', label: '工伤保险' }
],
config: config,
wenhuachengduList: [],
zhengzhimianmaoList: [],
minzuList: [],
treeData: [],
imgDelKey: [],
whetherHaveCertificate: false,
photosOfLevel: false,
dialogFormEdit: false,
zhebaoUpload: false, //
listLoading: false,
buttonLoading: false,
whetherServiceCompany: false,
specialJob: '0',
defaultProps: {
children: 'nodes',
label: 'name',
value: 'id'
},
hideUpload: false,
userCardIDUpload: false,
rules: {
NAME: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
POLITICAL_STATUS: [{ required: true, message: '请选择政治面貌', trigger: 'blur' }],
MARITALSTATUS: [{ required: true, message: '请选择婚姻状况', trigger: 'blur' }],
NATIONALITY: [{ required: false, message: '请选择民族', trigger: 'blur' }],
POLITICAL_TIME: [{ required: true, validator: isCommunist, message: '请选择入党时间', trigger: 'blur' }],
USERNAME: [
{ required: true, message: '用户名不能为空', trigger: 'blur' },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/,
message: '用户名为手机号,请正确输入'
},
{ validator: hasName, trigger: 'blur' }
],
userCardFile: [{ type: 'array', required: true, message: '请上传身份证图片', trigger: 'blur' }],
IS_BF: [{ type: 'array', required: true, message: '请选择是否缴纳保险', trigger: 'blur' }],
IS_SOCIAL: [{ required: true, message: '请选择是否缴纳社保', trigger: 'blur' }],
zhebaoZhaopian: [{ type: 'array', required: true, message: '请上传社保卡照片', trigger: 'blur' }, { validator: hasSOCIALPHTOT }],
photosOfLevel: [{ type: 'array', required: true, message: '请上传三级培训照片', trigger: 'blur' }, { validator: hasLevelThree }],
SOCIAL_NUMBER: [{ required: true, message: '社会保障号码不能为空', trigger: 'blur' },
{ validator: hasSOCIAL }],
ISFLOW: [{ required: true, message: '请选择是否流动人员', trigger: 'blur' }],
IS_LEVEL_THREE: [{ required: true, message: '请选择是否参加三级安全培训', trigger: 'blur' }],
IS_SPECIAL_JOB: [{ required: true, message: '请选择是否特种工种', trigger: 'blur' }],
HKLOCAL: [{ required: false, message: '请输入户口所在地', trigger: 'blur' }],
ADDRESS: [{ required: false, message: '请输入现住址', trigger: 'blur' }],
DEGREE_OF_EDUCATION: [{ required: true, message: '请选择文化程度', trigger: 'blur' }],
POST_ID: [{ required: true, message: '请输入岗位名称(工种)', trigger: 'blur' }],
PHONE: [
{ required: true, message: '请输入手机号码', trigger: 'blur' },
{ min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/,
message: '请输入正确的手机号码'
}],
ROLE_ID: [{ required: true, message: '请选择角色', trigger: 'change' }],
DEPARTMENT_ID: [{ required: true, message: '请选择部门', trigger: 'change' }],
CARD_ID: [{ required: true, message: '身份证号不能为空', trigger: 'blur' },
{
pattern: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号'
},
{ validator: hasCARD, trigger: 'blur' }
],
AGE: [{ required: true, message: '年龄不能为空', trigger: 'blur' },
{
pattern: /^\d{2}$/,
message: '请输入两位数年龄'
}
],
PHOTO: [
{
type: 'array',
required: true,
message: '请上传照片',
trigger: 'blur'
}
],
userImg: [
{
type: 'array',
required: true,
message: '请上传照片',
trigger: 'blur'
}
]
}
}
},
watch: {
'form.USERNAME': {
handler: function() {
if (this.form.USERNAME) {
this.form.PHONE = this.form.USERNAME
}
}
},
'form.userCardFile': {
handler: function() {
if (this.form.userCardFile.length >= 2) {
this.userCardIDUpload = true
} else {
this.userCardIDUpload = false
}
}
},
'form.zhebaoZhaopian': {
handler: function() {
if (this.form.zhebaoZhaopian.length >= 2) {
this.zhebaoUpload = true
} else {
this.zhebaoUpload = false
}
}
},
'form.photosOfLevel': {
handler: function() {
if (this.form.photosOfLevel.length >= 4) {
this.photosOfLevel = true
} else {
this.photosOfLevel = false
}
}
},
'form.userImg': {
handler: function() {
if (this.form.userImg.length >= 1) {
this.hideUpload = true
} else {
this.hideUpload = false
}
}
}
},
async created() {
this.getDict()
this.getTreeList()
if (this.dialog_type != 'saveUser') {
this.handleEdit(this.user_id, this.corpinfo_id, this.employment_apply_management_id)
await this.checkSpecialCertificateList(this.user_id, this.corpinfo_id, this.employment_apply_management_id)
}
},
methods: {
number() {
this.form.SORT = this.form.SORT.replace(/[^\.\d]/g, '')
this.form.SORT = this.form.SORT.replace('.', '')
},
//
checkSpecialCertificateList() {
return new Promise((resolve, reject) => {
requestFN(
'/specialUser/list',
{
USER_ID: this.user_id,
CORPINFO_ID: this.corpinfo_id,
keyCrelType: '7498057c4c1f4a11b9a960e66ea04a7a'
}
).then((data) => {
this.listLoading = false
if (data.varList.length > 0) {
this.whetherHaveCertificate = false
this.specialJob = '1'
}
}).catch((e) => {
this.listLoading = false
})
})
},
getTreeList() {
requestFN(
'/department/listzTree',
{}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
// 1.
// 2
// 3
// 4,
changeBf(event) {
for (let i = 0; i < event.length; i++) {
if (event[event.length - 1] == '0') {
this.form.IS_BF = ['0']
break
}
if (event[i] == '0') {
if (this.form.IS_BF.length !== 1) {
this.form.IS_BF = this.form.IS_BF.filter(item => {
return item != '0'
})
}
}
}
},
//
handleEdit(USER_ID, CORPINFO_ID, EMPLOYMENT_APPLY_MANAGEMENT_ID) {
this.listLoading = true
requestFN(
'/user/goEdit',
{
USER_ID: USER_ID,
CORPINFO_ID: CORPINFO_ID,
EMPLOYMENT_APPLY_MANAGEMENT_ID: EMPLOYMENT_APPLY_MANAGEMENT_ID
}
).then((data) => {
this.form = Object.assign(this.form, data.pd) // copy obj
this.form.IS_BF = this.form.IS_BF.split(',')
if (data.userPhotoFile) {
data.userPhotoFile.map(item => {
const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH }
this.form.userImg.push(obj)
})
}
if (data.userCardIDPhotoFile) {
data.userCardIDPhotoFile.map(item => {
const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH }
this.form.userCardFile.push(obj)
})
}
if (data.socialPhotoFile) {
data.socialPhotoFile.map(item => {
const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH }
this.form.zhebaoZhaopian.push(obj)
})
}
if (data.threeLevelFile) {
data.threeLevelFile.map(item => {
const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH }
this.form.photosOfLevel.push(obj)
})
}
const node = {}
node.id = this.form.DEPARTMENT_ID
this.$refs.deptTree.clearHandle()
this.$nextTick(() => { // 使
this.$refs.deptTree.handleNodeClick(node)
})
if (this.form.ISFLOW) {
this.checkWhetherUserService()
}
this.pdrelated = Object.assign(this.pdrelated, data.pdrelated)
Object.assign(this.form, data.pdrelated)
}).catch((e) => {
console.log(e)
this.listLoading = false
})
this.dialogFormEdit = true
},
handleChangeIMG(file, fileList) {
const types = ['image/jpeg', 'image/jpg', 'image/png']
const isImage = types.includes(file.raw.type)
if (!isImage) {
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
fileList.pop()
this.form.userImg = []
return
}
this.form.userImg = []
this.form.userImg.push(file)
this.hideUpload = fileList.length >= 1
},
checkWhetherUserService() {
return new Promise((resolve, reject) => {
requestFN(
'/user/checkWhetherUserService',
{
USER_ID: this.user_id,
IS_FLOW: this.form.ISFLOW
}
).then((data) => {
this.listLoading = false
if (data.pd) {
this.whetherServiceCompany = true
}
}).catch((e) => {
this.listLoading = false
})
})
},
handlePhotoBeforeRemove(file, fileList) {
return this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (file.id) {
this.imgDelKey.push(file.id)
}
})
},
/** 社保照片 **/
handleZhebaoRemove(file, fileList) {
this.form.zhebaoZhaopian = fileList
},
handleZhebaoChangeIMG(file, fileList) {
const types = ['image/jpeg', 'image/jpg', 'image/png']
const isImage = types.includes(file.raw.type)
if (!isImage) {
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
fileList.pop()
return
}
this.form.zhebaoZhaopian.push(file)
},
/** 三级教育培训 **/
handleLevelPhotoRemove(file, fileList) {
this.form.photosOfLevel = fileList
},
handleLevelPhotoChangeIMG(file, fileList) {
const types = ['image/jpeg', 'image/jpg', 'image/png']
const isImage = types.includes(file.raw.type)
if (!isImage) {
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
fileList.pop()
return
}
this.form.photosOfLevel.push(file)
},
handleUserCardPhoneRemove(file, fileList) {
this.form.userCardFile = fileList
this.userCardIDUpload = fileList >= 2
},
handleUserCardPhoneZhengshu(file, fileList) {
const types = ['image/jpeg', 'image/jpg', 'image/png']
const isImage = types.includes(file.raw.type)
if (!isImage) {
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
fileList.pop()
this.form.userCardFile = []
return
}
this.form.userCardFile.push(file)
this.userCardIDUpload = this.form.userCardFile.length >= 2
},
handleRemove(file, fileList) {
this.form.userImg = fileList
this.hideUpload = fileList.length >= 1
},
getDict() {
requestFN(
'dictionaries/getLevels',
{ DICTIONARIES_ID: 'd7d80f08d73a4accbccf4fd3d8d1d867' }
).then((data) => {
this.wenhuachengduList = data.list
}).catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{ DICTIONARIES_ID: '0a0e406f27f74ee698fe9979d25f62dd' }
).then((data) => {
this.minzuList = data.list
}).catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{ DICTIONARIES_ID: '6351efdd12dc4730952e5d195718e252' }
).then((data) => {
this.zhengzhimianmaoList = data.list
}).catch((e) => {
this.listLoading = false
})
},
//
//
confirm() {
this.$refs.form.validate(valid => {
if (valid) {
if (this.form.userCardFile.length < 2) {
this.$message.error('请上传身份证正反面照片')
return false
} else {
this.listLoading = true
this.buttonLoading = true
// this.form.IS_SPECIAL_JOB = this.specialJob
//
if ((this.form.IS_BF.length == 0 && this.form.IS_BF[0].length == 0) && this.form.IS_SOCIAL === '0') {
this.$message.error('保险或社保全无人员,不可进入本系统相关方人员管理!')
this.listLoading = false
this.buttonLoading = false
return
}
const formData = new FormData()
formData.append('imgDelKey', this.imgDelKey)
Object.keys(this.form).map(key => {
formData.append(key, this.form[key])
})
//
if (this.$refs['photoUpload'].uploadFiles.length > 0) {
for (let i = 0; i < this.$refs['photoUpload'].uploadFiles.length; i++) {
if (this.$refs['photoUpload'].uploadFiles[i]) {
formData.append('userPhoto', this.$refs['photoUpload'].uploadFiles[i].raw)
}
}
}
//
if (this.$refs['userCardUpload'].uploadFiles.length > 0) {
for (let i = 0; i < this.$refs['userCardUpload'].uploadFiles.length; i++) {
if (this.$refs['userCardUpload'].uploadFiles[i]) {
formData.append('userCard', this.$refs['userCardUpload'].uploadFiles[i].raw)
}
}
}
//
if (this.form.IS_SOCIAL === '1') {
if (this.$refs['zhenbaoUpload'].uploadFiles.length > 0) {
for (let i = 0; i < this.$refs['zhenbaoUpload'].uploadFiles.length; i++) {
if (this.$refs['zhenbaoUpload'].uploadFiles[i]) {
formData.append('SOCIAL_IMG', this.$refs['zhenbaoUpload'].uploadFiles[i].raw)
}
}
}
}
//
if (this.form.IS_LEVEL_THREE === '1') {
if (this.$refs['photosOfLevel'].uploadFiles.length > 0) {
for (let i = 0; i < this.$refs['photosOfLevel'].uploadFiles.length; i++) {
if (this.$refs['photosOfLevel'].uploadFiles[i]) {
formData.append('photosOfLevel', this.$refs['photosOfLevel'].uploadFiles[i].raw)
}
}
}
}
formData.append('CORPINFO_ID', JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID)
if (this.dialog_type != 'saveUser') {
formData.append('EMPLOYMENT_APPLY_MANAGEMENT_ID', this.employment_apply_management_id)
}
upload(
'/user/' + this.dialog_type,
formData
).then((data) => {
this.$message.success('保存成功!')
this.listLoading = false
this.buttonLoading = false
this.$emit('go-back')
// this.$parent.goBack()
}).catch((e) => {
console.log(e)
this.$message.success('保存失败!')
this.listLoading = false
this.buttonLoading = false
})
}
} else {
this.$message.warning('请补全必填项')
return false
}
})
}
}
}
</script>

View File

@ -0,0 +1,283 @@
<template>
<div>
<el-dialog
:visible.sync="dialog_visible"
title="人员详情"
width="70%"
>
<div v-loading="listLoading">
<table class="table-ui" style="margin-bottom: 20px;">
<div class="level-title">
<h1>人员信息</h1>
</div>
<tr>
<th>照片</th>
<td>
<span v-if="imgUrl != ''">
<div class="img-flex">
<viewer>
<img :src="imgUrl" width="40" height="40" style="object-fit: cover;">
</viewer>
</div>
</span>
<span v-else/>
</td>
<th>姓名</th>
<td>{{ dataForm.NAME }}</td>
<th>性别</th>
<td>{{ dataForm.SEX === '0' ? '男' : '女' }}</td>
</tr>
<tr>
<th>出生年月</th>
<td>{{ dataForm.DATE_OF_BIRTH }}</td>
<th>年龄</th>
<td>{{ dataForm.AGE }}</td>
<th>手机号</th>
<td>{{ dataForm.PHONE }}</td>
</tr>
<tr>
<th>身份证</th>
<td>{{ dataForm.CARD_ID }}</td>
<th>身份证照片</th>
<!--if条件不可删除-->
<td v-if="userCardIDPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in userCardIDPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>民族</th>
<td>{{ dataForm.minzuName? dataForm.minzuName:'暂无信息' }}</td>
<th>婚姻状况</th>
<td>{{ dataForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th>
<td>{{ dataForm.zzName }} {{
dataForm.zzName == '中共党员' ? '入党时间' + dataForm.POLITICAL_TIME : ''
}}
</td>
</tr>
<tr>
<th>户口所在地</th>
<td>{{ dataForm.HKLOCAL? dataForm.HKLOCAL:'暂无信息' }}</td>
<th>现住址</th>
<td>{{ dataForm.ADDRESS? dataForm.ADDRESS:'暂无信息' }}</td>
<th>联系电话</th>
<td>{{ dataForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ dataForm.DEGREE_OF_EDUCATION_NAME }}</td>
<!-- <th>本企业从业开始日期</th>-->
<!-- <td>{{ dataForm.CORP_START_DATE }}</td>-->
<th>岗位名称(工种)</th>
<td colspan="3">{{ dataForm.POST_ID }}</td>
</tr>
<tr>
<th>是否缴纳社保</th>
<td :colspan="dataForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(dataForm.IS_SOCIAL) }}</td>
<th v-if="dataForm.IS_SOCIAL === '1'"></th>
<td v-if="dataForm.IS_SOCIAL === '1'">{{ dataForm.SOCIAL_NUMBER }}</td>
<th v-if="dataForm.IS_SOCIAL === '1'"></th>
<td v-if="dataForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in socialPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否参加三级安全培训</th>
<td >{{ formatLabel(dataForm.IS_LEVEL_THREE) }}</td>
<th v-if="dataForm.IS_LEVEL_THREE == 1"></th>
<td v-if="dataForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in photosOfLevel"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否缴纳保险</th>
<td >{{ formatLabelBf(dataForm.IS_BF) }}</td>
<th>是否特殊工种</th>
<td >{{ formatLabel(dataForm.IS_SPECIAL_JOB) }}</td>
<th>是否流动人员</th>
<td >{{ formatLabel(dataForm.ISFLOW) }}</td>
</tr>
</table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialog_visible = false"> </el-button>
<el-button type="primary" @click="dialog_visible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
name: 'UserBaseInfoView',
props: {
base_info_url: {
type: String,
default: ''
}
},
data() {
return {
config: config,
imgUrl: '',
listLoading: false,
dialog_visible: false,
wenhuachengduList: [],
postList: [],
contractFileList: [], //
insuranceFileList: [], //
userPhotoFile: [], //
userCardIDPhotoFile: [], //
photosOfLevel: [], //
socialPhotoFile: [], //
gongshangbaoxianFile: [], //
dataForm: {
contractFileList: [], //
insuranceFileList: [], //
CARD_ID: '', //
DEPARTMENT_NAME: '', //
CORPINFO_ID: '', // id
HKLOCAL: '', //
AGE: '',
SEX: '',
ADDRESS: '',
PHONE: '',
IS_SOCIAL: '', //
SOCIAL_NUMBER: '', //
IS_LEVEL_THREE: '', //
IS_SPECIAL_JOB: '', //
ISFLOW: '', //
PHOTO: [],
IS_INJURIES_PAY: '',
CORP_START_DATE: '',
IS_BODY_ADAPT: '',
IS_SAFETY_TELL: '',
ISPAY: '',
IS_SIGN_LABOR: '',
DEPARTMENT_ID: '',
POST_ID: '',
PERSON_WORK_TYPE: '', //
USERNAME: '',
NAME: '',
BZ: '',
PERSON_TYPE: '',
PASSWORD: 'Aa@123456789',
DATE_OF_BIRTH: '', //
DEGREE_OF_EDUCATION: '', //
POST: '', //
TYPE_OF_WORK: '', //
ENTRY_DATE: '', //
WORK_DATE: '' //
},
USER_ID: '',
CORPINFO_ID: ''
}
},
methods: {
openWindow(user_id, corpinfo_id) {
console.log('openWindow')
console.log(this.base_info_url)
this.getList(user_id, corpinfo_id)
this.$nextTick(() => {
this.dialog_visible = !this.dialog_visible
})
},
formatLabelBf(value) {
if (value) {
var valList = value.split(',')
var label = []
for (let i = 0; i < valList.length; i++) {
if (valList[i] == 0) {
label.push('无')
break
}
if (valList[i] == 1) {
label.push('商业保险')
}
if (valList[i] == 2) {
label.push('工伤保险')
}
}
return label.join(',')
}
},
//
formatLabel(value) {
if (value == '1') {
return '是'
} else if (value == '0') {
return '否'
} else {
return ''
}
},
//
getList(user_id, corpinfo_id) {
this.listLoading = true
requestFN(
this.base_info_url,
{
USER_ID: user_id,
CORPINFO_ID: corpinfo_id
}
).then((data) => {
this.listLoading = false
this.dataForm = Object.assign(this.dataForm, data.pd)
this.userPhotoFile = data.userPhotoFile
if (this.userPhotoFile.length > 0) {
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH
}
this.photosOfLevel = data.photosOfLevel
// this.insuranceFileList = data.insuranceFile
// this.contractFileList = data.contractFile
this.userCardIDPhotoFile = data.userCardIDPhotoFile
this.socialPhotoFile = data.socialPhotoFile
// this.gongshangbaoxianFile = data.gongshangbaoxianFile
}).catch((e) => {
this.listLoading = false
})
}
}
}
</script>

View File

@ -178,7 +178,7 @@
<!-- </div>--> <!-- </div>-->
<div class="block1"> <div class="block1">
<div class="subtitle">安全动态</div> <div class="subtitle">安全动态</div>
<div class="text">通过安全风险分级管控隐患排查治理减少或消除生产安全事故</div> <div class="text">本质安全通过消除隐患减少并杜绝事故</div>
<div class="trapezoid one">消除{{ hiddenAllCount1 }}<br>起严重事故</div> <div class="trapezoid one">消除{{ hiddenAllCount1 }}<br>起严重事故</div>
<div class="trapezoid two">避免{{ hiddenAllCount2 }}次轻微事故</div> <div class="trapezoid two">避免{{ hiddenAllCount2 }}次轻微事故</div>
<div class="trapezoid three">避免{{ hiddenAllCount3 }}次未遂事故征兆</div> <div class="trapezoid three">避免{{ hiddenAllCount3 }}次未遂事故征兆</div>
@ -250,7 +250,7 @@
<div id="main6"/> <div id="main6"/>
</div> </div>
<div class="bottom"> <div class="bottom">
<div class="title">危作业占比</div> <div class="title">作业占比</div>
<div id="main7"/> <div id="main7"/>
</div> </div>
</div> </div>
@ -1842,16 +1842,19 @@ export default {
} }
&.two { &.two {
font-size: 13px;
clip-path: polygon(37.5% 0%, 62.5% 0%, 75% 100%, 25% 100%); clip-path: polygon(37.5% 0%, 62.5% 0%, 75% 100%, 25% 100%);
background-color: #f97a1d; background-color: #f97a1d;
} }
&.three { &.three {
font-size: 17px;
clip-path: polygon(25% 0%, 75% 0%, 87.5% 100%, 12.5% 100%); clip-path: polygon(25% 0%, 75% 0%, 87.5% 100%, 12.5% 100%);
background-color: #fac858; background-color: #fac858;
} }
&.four { &.four {
font-size: 25px;
clip-path: polygon(12.5% 0%, 87.5% 0%, 100% 100%, 0% 100%); clip-path: polygon(12.5% 0%, 87.5% 0%, 100% 100%, 0% 100%);
background-color: #416aea; background-color: #416aea;
} }

View File

@ -81,6 +81,16 @@
<el-input v-model="form.CONTACTS_PHONE" type="text" placeholder="这里输入主要负责人手机号..."/> <el-input v-model="form.CONTACTS_PHONE" type="text" placeholder="这里输入主要负责人手机号..."/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="安全负责人" prop="SAFETY_NAME">
<el-input v-model="form.SAFETY_NAME" placeholder="这里输入安全负责人..."/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="安全负责人手机号" prop="SAFETY_PHONE">
<el-input v-model="form.SAFETY_PHONE" type="text" placeholder="这里输入安全负责人手机号..."/>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="法定代表人" prop="LR_NAME"> <el-form-item label="法定代表人" prop="LR_NAME">
<el-input v-model="form.LR_NAME" placeholder="这里输入法定代表人..."/> <el-input v-model="form.LR_NAME" placeholder="这里输入法定代表人..."/>
@ -221,6 +231,8 @@ export default {
form: { form: {
shudi: [], shudi: [],
CORP_NAME: '', CORP_NAME: '',
SAFETY_NAME: '',
SAFETY_PHONE: '',
POSTAL_CODE: '', POSTAL_CODE: '',
CODE: '', CODE: '',
PROVINCE: '', PROVINCE: '',

View File

@ -162,7 +162,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="left">主要负责人信息</el-divider> <el-divider content-position="left">主要负责人信息</el-divider>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="姓名" prop="CONTACTS"> <el-form-item label="姓名" prop="CONTACTS">
@ -175,6 +174,19 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="left">安全负责人信息</el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="姓名" prop="SAFETY_NAME">
<el-input id="SAFETY_NAME" ref="SAFETY_NAME" :disabled="true" v-model="pd.SAFETY_NAME" maxlength="255" placeholder="这里输入安全负责人姓名..." title="主要负责人姓名"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号码" prop="SAFETY_PHONE">
<el-input id="SAFETY_PHONE" ref="SAFETY_PHONE" :disabled="true" v-model="pd.SAFETY_PHONE" maxlength="255" placeholder="这里输入安全负责人手机号..." title="主要负责人手机号"/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">企业相关属性</el-divider> <el-divider content-position="left">企业相关属性</el-divider>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">

View File

@ -46,7 +46,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="DEPARTMENT_NAME" label="集团公司监管部门" show-overflow-tooltip /> <el-table-column prop="DEPARTMENT_NAME" label="集团公司监管部门" show-overflow-tooltip />
<!-- <el-table-column prop="INVOLVING_CORPS_NAME" label="辖区单位" show-overflow-tooltip />--> <!-- <el-table-column prop="INVOLVING_CORPS_NAME" label="辖区单位" show-overflow-tooltip />-->
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip /> <el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip />
<el-table-column prop="UNITS_PIC" label="相关方单位负责人" show-overflow-tooltip /> <el-table-column prop="UNITS_PIC" label="相关方单位负责人" show-overflow-tooltip />
<!-- <el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip />--> <!-- <el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip />-->

View File

@ -361,12 +361,19 @@ export default {
{ {
OUTSOURCED_ID: id OUTSOURCED_ID: id
} }
).then(() => { ).then((data) => {
if (data.code == '500') {
this.listLoading = false
this.$message({
message: data.msg,
type: 'error'
})
return
}
this.$message({ this.$message({
message: '已结束', message: '已结束',
type: 'success' type: 'success'
}) })
this.listLoading = false
this.varList = [] this.varList = []
this.listQuery.page = 1 this.listQuery.page = 1
this.getList() this.getList()

View File

@ -4,8 +4,8 @@
<el-form label-width="100px"> <el-form label-width="100px">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="5"> <el-col :span="5">
<el-form-item label="视频名称" > <el-form-item label="关键字" >
<el-input v-model="form.VIDEONAME" style="width:206px" placeholder="请输入内容"/> <el-input v-model="form.VIDEONAME" style="width:206px" placeholder="输入视频名称或者摄像头编码"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -222,6 +222,7 @@ export default {
add: false, add: false,
del: false, del: false,
edit: false, edit: false,
timer: '',
form: { form: {
VIDEONAME: '', VIDEONAME: '',
UNITS_USER_ID: '', UNITS_USER_ID: '',
@ -305,7 +306,29 @@ export default {
await this.getUnitsList() await this.getUnitsList()
await this.getList() await this.getList()
}, },
beforeDestroy() {
console.log('定时器关闭')
clearInterval(this.timer)
},
methods: { methods: {
//
start() {
console.log('定时器开启')
this.timer = setInterval(this.closeVideoStart, (5 * 60 * 1000)) // 5
},
over() {
//
console.log('定时器手动关闭')
this.$message.warning('单次播放时长已到5分钟自动关闭')
clearInterval(this.timer)
},
closeVideoStart() {
this.dialogVideo = false
this.dialogVideoHLS = false
this.dialogVideoBack = false
this.dialogVideoAll = false
this.over()
},
changeSelUid(event) { changeSelUid(event) {
this.unitsUserList = [] this.unitsUserList = []
this.form.UNITS_USER_ID = '' this.form.UNITS_USER_ID = ''
@ -355,6 +378,8 @@ export default {
} }
}, },
showVideo(row) { showVideo(row) {
this.$message.warning('单次播放最多五分钟')
this.start()
if (!row.PLATFORMVIDEOMANAGEMENT_ID) { if (!row.PLATFORMVIDEOMANAGEMENT_ID) {
this.VIDEOURL = row.VIDEOURL this.VIDEOURL = row.VIDEOURL
this.dialogVideo = true this.dialogVideo = true
@ -385,6 +410,7 @@ export default {
}) })
}) })
}).catch((e) => { }).catch((e) => {
this.over()
this.listLoading = false this.listLoading = false
}) })
} }

View File

@ -6,24 +6,41 @@
:before-close="handleClose" :before-close="handleClose"
:append-to-body="true" :append-to-body="true"
title="移动摄像头" title="移动摄像头"
width="60%"> width="85%">
<div class="app-container"> <div class="app-container">
<div class="filter-container"> <div class="filter-container">
<el-form> <el-form label-width="100px">
<el-row :gutter="20"> <el-row :gutter="24">
<el-col :span="6"> <el-form-item label="视频名称"> <el-col :span="5">
<el-input v-model="KEYWORDS" placeholder="请输入关键字" class="filter-item" style="width: 150px;"/> <el-form-item label="视频名称">
</el-form-item></el-col> <el-input v-model="serachForm.KEYWORDS" placeholder="请输入关键字" class="filter-item"/>
<el-col :span="6">
<el-form-item >
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5">
<el-form-item label="所属相关方:" >
<el-select v-model="serachForm.UNITS_ID" filterable clearable placeholder="请选择施工相关方">
<el-option v-for="item in unitsList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="使用单位:" >
<el-input v-model="serachForm.UNIT_USE" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="负责人:" >
<el-input v-model="serachForm.UNITS_USER_ID" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
@ -37,6 +54,7 @@
style="width: 100%"> style="width: 100%">
<el-table-column type="index" label="序号" width="55" align="center"/> <el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column :formatter="getUnitName" prop="UNITS_ID" label="所属相关方"/> <el-table-column :formatter="getUnitName" prop="UNITS_ID" label="所属相关方"/>
<el-table-column prop="UNIT_USE" label="所属单位"/>
<el-table-column prop="MODEL" label="视频型号"/> <el-table-column prop="MODEL" label="视频型号"/>
<el-table-column prop="VIDEONAME" label="视频名称"/> <el-table-column prop="VIDEONAME" label="视频名称"/>
<el-table-column prop="VIDEOURL" label="播放地址"/> <el-table-column prop="VIDEOURL" label="播放地址"/>
@ -94,6 +112,12 @@ export default {
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
UNITS_ID: '', UNITS_ID: '',
serachForm: {
KEYWORDS: '',
UNITS_USER_ID: '',
UNIT_USE: '',
UNITS_ID: ''
},
varList: [], varList: [],
unitsList: [], unitsList: [],
allCodes: [] allCodes: []
@ -105,7 +129,6 @@ export default {
this.visible = true this.visible = true
this.UNITS_ID = UNITS_ID this.UNITS_ID = UNITS_ID
this.varList = [] this.varList = []
this.KEYWORDS = ''
await this.getUnitsList() await this.getUnitsList()
this.getList() this.getList()
}, },
@ -206,7 +229,10 @@ export default {
requestFN( requestFN(
'/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
VIDEONAME: this.KEYWORDS VIDEONAME: this.serachForm.KEYWORDS,
PERSONNELMANAGEMENT_ID: this.serachForm.UNITS_USER_ID,
UNIT_USE: this.serachForm.UNIT_USE,
UNITS_ID: this.serachForm.UNITS_ID
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -223,7 +249,12 @@ export default {
}, },
goKeyReset() { goKeyReset() {
this.KEYWORDS = '' this.serachForm = {
KEYWORDS: '',
UNITS_USER_ID: '',
UNIT_USE: '',
UNITS_ID: ''
}
this.getList() this.getList()
}, },

View File

@ -59,9 +59,15 @@
</el-table-column> </el-table-column>
<el-table-column prop="UNITS_NAME" label="施工相关方" width="250" show-overflow-tooltip /> <el-table-column prop="UNITS_NAME" label="施工相关方" width="250" show-overflow-tooltip />
<el-table-column prop="VIDEO_COUNT" label="视频个数" /> <el-table-column prop="VIDEO_COUNT" label="视频个数" />
<el-table-column prop="STATE" label="状态">
<template slot-scope="{row}">
<span v-if="row.STATE == 1"></span>
<span v-if="row.STATE == 2"></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.OUTSOURCED_ID, row.UNITS_ID)">查看</el-button> <el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -122,9 +128,10 @@ export default {
}) })
}, },
// //
goDetail(ID, UNITS_ID) { goDetail(row) {
this.$parent.OUTSOURCED_ID = ID this.$parent.OUTSOURCED_ID = row.OUTSOURCED_ID
this.$parent.UNITS_ID = UNITS_ID this.$parent.UNITS_ID = row.UNITS_ID
this.$parent.STATE = row.STATE
this.$parent.activeName = 'videoList' this.$parent.activeName = 'videoList'
} }
} }

View File

@ -52,19 +52,19 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="left" width="500"> <el-table-column label="操作" align="left" width="500">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button> <el-button :disabled="STATE == 2" type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button> <el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button>
<el-button v-show="!row.PLATFORMVIDEOMANAGEMENT_ID" type="warning" icon="el-icon-caret-right" size="mini" @click="showVideoBack(row.VIDEOURL)"></el-button> <el-button v-show="!row.PLATFORMVIDEOMANAGEMENT_ID" :disabled="STATE == 2" type="warning" icon="el-icon-caret-right" size="mini" @click="showVideoBack(row.VIDEOURL)"></el-button>
<el-button v-show="row.PLATFORMVIDEOMANAGEMENT_ID" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button> <el-button v-show="row.PLATFORMVIDEOMANAGEMENT_ID" :disabled="STATE == 2" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.VIDEOMANAGER_ID)"></el-button> <el-button v-show="edit" :disabled="STATE == 2" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.VIDEOMANAGER_ID)"></el-button>
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.VIDEOMANAGER_ID)"></el-button> <el-button v-show="del" :disabled="STATE == 2" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.VIDEOMANAGER_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group" style="margin-bottom: 50px;"> <div class="page-btn-group" style="margin-bottom: 50px;">
<div> <div>
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <el-button v-show="add" :disabled="STATE == 2" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
<el-button type="success" icon="el-icon-caret-right" @click="showAll"></el-button> <el-button :disabled="STATE == 2" type="success" icon="el-icon-caret-right" @click="showAll"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
@ -175,8 +175,10 @@ export default {
data() { data() {
return { return {
map: null, map: null,
timer: '',
marker: null, marker: null,
BMap: '', BMap: '',
STATE: this.$parent.STATE,
clientHeight: 500, clientHeight: 500,
inputLocation: '', inputLocation: '',
msg: 'add', msg: 'add',
@ -236,8 +238,27 @@ export default {
}, },
beforeDestroy() { beforeDestroy() {
this.map && this.map.removeEventListener('click', this.MapClick) this.map && this.map.removeEventListener('click', this.MapClick)
console.log('定时器关闭')
clearInterval(this.timer)
}, },
methods: { methods: {
//
start() {
console.log('定时器开启')
this.timer = setInterval(this.closeVideoStart, (5 * 60 * 1000)) // 5;
},
over() {
//
console.log('定时器手动关闭')
clearInterval(this.timer)
},
closeVideoStart() {
this.dialogVideo = false
this.dialogVideoHLS = false
this.dialogVideoBack = false
this.dialogVideoAll = false
this.over()
},
getVideoResourcesSelect() { getVideoResourcesSelect() {
requestFN( requestFN(
'/videoResources/listAll', { '/videoResources/listAll', {
@ -331,6 +352,8 @@ export default {
}, },
// //
showVideo(row) { showVideo(row) {
this.$message.warning('单次播放最多五分钟')
this.start()
if (!row.PLATFORMVIDEOMANAGEMENT_ID) { if (!row.PLATFORMVIDEOMANAGEMENT_ID) {
this.VIDEOURL = row.VIDEOURL this.VIDEOURL = row.VIDEOURL
this.dialogVideo = true this.dialogVideo = true
@ -362,6 +385,7 @@ export default {
}) })
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
this.over()
}) })
} }
}, },

View File

@ -22,17 +22,17 @@
<el-button v-show="DEPARTMENT_ID != '0'" icon="el-icon-arrow-left" @click="goReturn()"></el-button> <el-button v-show="DEPARTMENT_ID != '0'" icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item> </el-form-item>
</el-col>--> </el-col>-->
<el-col :span="6"> <el-col :span="8">
<el-form-item label="用户名" prop="USERNAME"> <el-form-item label="用户名" prop="USERNAME">
<el-input v-model="searchForm.USERNAME" placeholder="用户名称"/> <el-input v-model="searchForm.USERNAME" placeholder="用户名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="姓名" prop="NAME"> <el-form-item label="姓名" prop="NAME">
<el-input v-model="searchForm.NAME" placeholder="姓名"/> <el-input v-model="searchForm.NAME" placeholder="姓名"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="入职审核状态" prop="AUDIT_STATE"> <el-form-item label="入职审核状态" prop="AUDIT_STATE">
<el-select v-model="searchForm.AUDIT_STATE" placeholder="请选择" style="width: 100%"> <el-select v-model="searchForm.AUDIT_STATE" placeholder="请选择" style="width: 100%">
<el-option label="已打回" value="0" /> <el-option label="已打回" value="0" />
@ -41,74 +41,28 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="年龄" prop="AGE">
<el-input v-model="searchForm.AGE" placeholder="年龄"/>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="6"> <el-col :span="8">
<el-form-item label="人员类型" prop="ISFLOW"> <el-form-item label="人员类型" prop="ISFLOW">
<el-select v-model="searchForm.ISFLOW" placeholder="请选择"> <el-select v-model="searchForm.ISFLOW" placeholder="请选择" style="width: 100%">
<el-option label="非流动人员" value="0" /> <el-option label="非流动人员" value="0" />
<el-option label="流动人员" value="1" /> <el-option label="流动人员" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="就职状态" prop="DEPART_STATE" > <el-form-item label="就职状态" prop="DEPART_STATE" >
<el-select v-model="searchForm.DEPART_STATE" placeholder="请选择"> <el-select v-model="searchForm.DEPART_STATE" placeholder="请选择" style="width: 100%">
<el-option label="在职" value="0" /> <el-option label="在职" value="0" />
<el-option label="离职" value="1" /> <el-option label="离职" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="是否签订劳动合同" prop="IS_SIGN_LABOR">
<el-select v-model="searchForm.IS_SIGN_LABOR" placeholder="请选择">
<el-option label="否" value="0" />
<el-option label="是" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否缴纳工伤保险" prop="IS_INJURIES_PAY">
<el-select v-model="searchForm.IS_INJURIES_PAY" placeholder="请选择">
<el-option label="否" value="0" />
<el-option label="是" value="1" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="是否缴纳商业保险" prop="ISPAY" >
<el-select v-model="searchForm.ISPAY" placeholder="请选择">
<el-option label="否" value="0" />
<el-option label="是" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否参加三级安全培训" prop="IS_LEVEL_THREE"> <el-form-item label="是否参加三级安全培训" prop="IS_LEVEL_THREE">
<el-select v-model="searchForm.IS_LEVEL_THREE" placeholder="请选择"> <el-select v-model="searchForm.IS_LEVEL_THREE" placeholder="请选择" style="width: 100%">
<el-option label="否" value="0" />
<el-option label="是" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否开展入场安全告知" prop="IS_SAFETY_TELL">
<el-select v-model="searchForm.IS_SAFETY_TELL" placeholder="请选择">
<el-option label="否" value="0" />
<el-option label="是" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否特殊工种" prop="IS_SPECIAL_JOB">
<el-select v-model="searchForm.IS_SPECIAL_JOB" placeholder="请选择">
<el-option label="否" value="0" /> <el-option label="否" value="0" />
<el-option label="是" value="1" /> <el-option label="是" value="1" />
</el-select> </el-select>
@ -116,7 +70,20 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col> <el-col :span="8">
<el-form-item label="是否特殊工种" prop="IS_SPECIAL_JOB">
<el-select v-model="searchForm.IS_SPECIAL_JOB" placeholder="请选择" style="width: 100%">
<el-option label="否" value="0" />
<el-option label="是" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="年龄" prop="AGE">
<el-input v-model="searchForm.AGE" placeholder="年龄"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item> <el-form-item>
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"> <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索 搜索
@ -151,7 +118,7 @@
<el-table-column prop="USERNAME" label="用户名" /> <el-table-column prop="USERNAME" label="用户名" />
<el-table-column prop="NAME" label="姓名" /> <el-table-column prop="NAME" label="姓名" />
<el-table-column prop="DEPTNAME" label="部门"/> <el-table-column prop="DEPTNAME" label="部门"/>
<el-table-column prop="PERSON_WORK_TYPE" label="工种"/> <el-table-column prop="POST_ID" label="岗位名称(工种)"/>
<el-table-column prop="ISFLOW" label="人员类型"> <el-table-column prop="ISFLOW" label="人员类型">
<template v-slot="{row}"> <template v-slot="{row}">
<span v-show="row.ACCOUNT_TYPE != 0"> <span v-show="row.ACCOUNT_TYPE != 0">
@ -184,7 +151,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="left" width="150"> <el-table-column label="操作" align="left" width="150">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-if="row.ACCOUNT_TYPE != 0" type="success" icon="el-icon-view" size="mini" @click="toUserDetail(row.USER_ID)"></el-button> <el-button v-if="row.ACCOUNT_TYPE != 0" type="success" icon="el-icon-view" size="mini" @click="toUserDetail(row)"></el-button>
<!-- <template v-if="row.ISMAIN==0">--> <!-- <template v-if="row.ISMAIN==0">-->
<!-- <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleDelete(row.USER_ID,row.NAME)"></el-button>--> <!-- <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleDelete(row.USER_ID,row.NAME)"></el-button>-->
<!-- </template>--> <!-- </template>-->
@ -207,6 +174,7 @@
<el-button @click="goBack"></el-button> <el-button @click="goBack"></el-button>
</el-row> </el-row>
</div> </div>
<UserBaseInfoView ref="userbaseinfoview" :base_info_url="baseInfourl"/>
</div> </div>
</template> </template>
@ -215,12 +183,15 @@ import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request' import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive import waves from '@/directive/waves' // waves directive
import UserBaseInfoView from '@/components/UserBaseInfo/UserBaseInfoView'
export default { export default {
components: { Pagination, SelectTree }, components: { Pagination, SelectTree, UserBaseInfoView },
directives: { waves }, directives: { waves },
data() { data() {
return { return {
userId: this.$parent.USER_ID_T, userId: this.$parent.USER_ID_T,
baseInfourl: '/unitPersonManagement/getCorpUserDetail',
treeLoading: false, treeLoading: false,
listLoading: false, listLoading: false,
add: true, add: true,
@ -424,9 +395,10 @@ export default {
this.VILLAGE = village this.VILLAGE = village
}, },
// //
toUserDetail(ID) { toUserDetail(ROW) {
this.$parent.USER_ID = ID // this.$parent.USER_ID = ROW.USER_ID
this.$parent.activeName = 'CorpUserDetail' this.$refs.userbaseinfoview.openWindow(ROW.USER_ID, ROW.CORPINFO_ID)
// this.$parent.activeName = 'CorpUserDetail'
}, },
userEdit() { userEdit() {
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {

View File

@ -120,6 +120,7 @@ export default {
countryList: [], countryList: [],
industryList: [], industryList: [],
COUNTRY: '', COUNTRY: '',
panelData: '',
villageList: [], villageList: [],
VILLAGE: '', VILLAGE: '',
varList: [], varList: [],

View File

@ -113,13 +113,13 @@
<tr> <tr>
<th>照片</th> <th>照片</th>
<td> <td>
<span v-if="imgUrl != ''"> <span v-if="imgUrl != ''">
<div class="img-flex"> <div class="img-flex">
<viewer> <viewer>
<img :src="imgUrl" width="40" height="40" style="object-fit: cover;"> <img :src="imgUrl" width="40" height="40" style="object-fit: cover;">
</viewer> </viewer>
</div> </div>
</span> </span>
<span v-else/> <span v-else/>
</td> </td>
<th>姓名</th> <th>姓名</th>
@ -141,78 +141,50 @@
<th>身份证照片</th> <th>身份证照片</th>
<!--if条件不可删除--> <!--if条件不可删除-->
<td v-if="userCardIDPhotoFile.length>0" colspan="3"> <td v-if="userCardIDPhotoFile.length>0" colspan="3">
<span> <span>
<div class="img-flex"> <div class="img-flex">
<viewer>
<img
v-for="item in userCardIDPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>民族</th>
<td>{{ userDetailForm.minzuName }}</td>
<th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th>
<td>{{ userDetailForm.zzName }} {{
userDetailForm.zzName == '中共党员' ? '入党时间' + userDetailForm.POLITICAL_TIME : ''
}}
</td>
</tr>
<tr>
<th>户口所在地</th>
<td>{{ userDetailForm.HKLOCAL }}</td>
<th>现住址</th>
<td>{{ userDetailForm.ADDRESS }}</td>
<th>联系电话</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
<th>本企业从业开始日期</th>
<td>{{ userDetailForm.CORP_START_DATE }}</td>
<th>岗位名称</th>
<td>{{ userDetailForm.POST_ID }}</td>
</tr>
<tr>
<th>本岗位从业开始日期</th>
<td colspan="5">{{ userDetailForm.ENTRY_DATE }}</td>
<!-- <th>是否按期缴纳工伤保险</th>-->
<!-- <td>{{ formatLabel(userDetailForm.IS_INJURIES_PAY) }}</td>-->
<!-- <th>工种</th>-->
<!-- <td>{{ userDetailForm.PERSON_WORK_TYPE }}</td>-->
</tr>
<tr>
<th>是否签订劳动合同</th>
<td :colspan="userDetailForm.IS_SIGN_LABOR === '1' ? '' : 5">
{{ formatLabel(userDetailForm.IS_SIGN_LABOR) }}
</td>
<th v-if="userDetailForm.IS_SIGN_LABOR === '1'"></th>
<td v-if="userDetailForm.IS_SIGN_LABOR === '1'" colspan="3">
<span>
<viewer> <viewer>
<img <img
v-for="item in contractFileList" v-for="item in userCardIDPhotoFile"
:src="config.fileUrl + item.FILEPATH" :src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID" :key="item.IMGFILES_ID"
width="40" width="40"
height="40" height="40"
style="object-fit: cover;"> style="object-fit: cover;">
</viewer> </viewer>
</span> </div>
</span>
</td> </td>
</tr> </tr>
<tr>
<th>民族</th>
<td>{{ userDetailForm.minzuName? userDetailForm.minzuName:'暂无信息' }}</td>
<th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th>
<td>{{ userDetailForm.zzName }} {{
userDetailForm.zzName == '中共党员' ? '入党时间' + userDetailForm.POLITICAL_TIME : ''
}}
</td>
</tr>
<tr>
<th>户口所在地</th>
<td>{{ userDetailForm.HKLOCAL? userDetailForm.HKLOCAL:'暂无信息' }}</td>
<th>现住址</th>
<td>{{ userDetailForm.ADDRESS? userDetailForm.ADDRESS:'暂无信息' }}</td>
<th>联系电话</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
<!-- <th>本企业从业开始日期</th>-->
<!-- <td>{{ userDetailForm.CORP_START_DATE }}</td>-->
<th>岗位名称(工种)</th>
<td colspan="3">{{ userDetailForm.POST_ID }}</td>
</tr>
<tr> <tr>
<th>是否缴纳社保</th> <th>是否缴纳社保</th>
<td :colspan="userDetailForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(userDetailForm.IS_SOCIAL) }}</td> <td :colspan="userDetailForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(userDetailForm.IS_SOCIAL) }}</td>
@ -220,94 +192,48 @@
<td v-if="userDetailForm.IS_SOCIAL === '1'">{{ userDetailForm.SOCIAL_NUMBER }}</td> <td v-if="userDetailForm.IS_SOCIAL === '1'">{{ userDetailForm.SOCIAL_NUMBER }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th> <th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3"> <td v-if="userDetailForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3">
<span> <span>
<div class="img-flex"> <div class="img-flex">
<viewer> <viewer>
<img <img
v-for="item in socialPhotoFile" v-for="item in socialPhotoFile"
:src="config.fileUrl + item.FILEPATH" :src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID" :key="item.IMGFILES_ID"
width="40" width="40"
height="40" height="40"
style="object-fit: cover;"> style="object-fit: cover;">
</viewer> </viewer>
</div> </div>
</span> </span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>是否参加三级安全培训</th> <th>是否参加三级安全培训</th>
<td colspan="5">{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td> <td >{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
</tr> <th v-if="userDetailForm.IS_LEVEL_THREE == 1"></th>
<tr> <td v-if="userDetailForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
<th>是否按期缴纳工伤保险</th> <span>
<td :colspan="userDetailForm.IS_INJURIES_PAY === '1' ? '':5">{{ formatLabel(userDetailForm.IS_INJURIES_PAY) }}</td> <div class="img-flex">
<th v-if="userDetailForm.IS_INJURIES_PAY === '1'"></th>
<td v-if="userDetailForm.IS_INJURIES_PAY === '1'">{{ userDetailForm.IS_INJURIES_PAY_TIME }}</td>
<th v-if="userDetailForm.IS_INJURIES_PAY === '1'"></th>
<td v-if="userDetailForm.IS_INJURIES_PAY === '1'">
<span>
<viewer> <viewer>
<img <img
v-for="item in gongshangbaoxianFile" v-for="item in photosOfLevel"
:src="config.fileUrl + item.FILEPATH" :src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID" :key="item.IMGFILES_ID"
width="40" width="40"
height="40" height="40"
style="object-fit: cover;"> style="object-fit: cover;">
</viewer> </viewer>
</span> </div>
</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>是否缴纳商业保险</th> <th>是否缴纳保险</th>
<td :colspan="userDetailForm.ISPAY === '1' ? '' : 5"> <td >{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
{{ formatLabel(userDetailForm.ISPAY) }}
</td>
<th v-if="userDetailForm.ISPAY === '1'"></th>
<td v-if="userDetailForm.ISPAY === '1'">
<span>
<viewer>
<img
v-for="item in insuranceFileList"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</span>
</td>
<th v-if="userDetailForm.ISPAY === '1'"></th>
<td v-if="userDetailForm.ISPAY === '1'">{{ userDetailForm.ISPAY_NUMBER }}</td>
</tr>
<tr>
<!-- <th>安全告知培训是否合格</th>-->
<!-- <td>{{ formatLabel(userDetailForm.IS_SAFETY_TELL) }}</td>-->
<!-- <th>安全告知培训合格日期</th>-->
<!-- <td>{{ userDetailForm.IS_SAFETY_TIME }}</td>-->
<th>是否特殊工种</th> <th>是否特殊工种</th>
<td colspan="5">{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td> <td >{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
</tr>
<tr>
<!-- <th>是否开展入场安全告知</th>-->
<!-- <td>{{ formatLabel(userDetailForm.IS_SAFETY_TELL) }}</td>-->
<th>是否流动人员</th> <th>是否流动人员</th>
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td> <td >{{ formatLabel(userDetailForm.ISFLOW) }}</td>
<th>身体状况是否适应本岗位工作</th>
<td colspan="3">{{ formatLabel(userDetailForm.IS_BODY_ADAPT) }}</td>
</tr>
<!-- <tr>-->
<!-- <th>流动范围</th>-->
<!-- <td colspan="3">{{ userDetailForm.TRAIN_AREA }}</td>-->
<!-- </tr>-->
<tr v-if="message != ''">
<th>打回人</th>
<td>{{ operator }}</td>
<th>打回原因</th>
<td :colspan="3">{{ message }}</td>
</tr> </tr>
</table> </table>
<div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title"> <div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title">
@ -433,6 +359,25 @@ export default {
}).catch((e) => { }).catch((e) => {
}) })
}, },
formatLabelBf(value) {
if (value) {
var valList = value.split(',')
var label = []
for (let i = 0; i < valList.length; i++) {
if (valList[i] == 0) {
label.push('无')
break
}
if (valList[i] == 1) {
label.push('商业保险')
}
if (valList[i] == 2) {
label.push('工伤保险')
}
}
return label.join(',')
}
},
// //
formatLabel(value) { formatLabel(value) {
if (value == '1') { if (value == '1') {
@ -465,7 +410,7 @@ export default {
this.message = row.TERRITORIALITY_OPINION this.message = row.TERRITORIALITY_OPINION
this.operator = row.TERRITORIALITY_USER_NAME this.operator = row.TERRITORIALITY_USER_NAME
} }
}else { } else {
this.message = '' this.message = ''
this.operator = '' this.operator = ''
} }
@ -483,8 +428,8 @@ export default {
this.$message.error('请先择') this.$message.error('请先择')
return return
} }
if(this.form.IS_STATE===0){ if (this.form.IS_STATE === 0) {
if(!this.form.OPINION){ if (!this.form.OPINION) {
this.$message.error('这里输入审批意见') this.$message.error('这里输入审批意见')
return return
} }
@ -520,7 +465,7 @@ export default {
this.userDetailForm = Object.assign(this.userDetailForm, data.userDetail) this.userDetailForm = Object.assign(this.userDetailForm, data.userDetail)
console.log(this.userDetailForm) console.log(this.userDetailForm)
this.listLoading = false this.listLoading = false
// this.dataForm = Object.assign(this.dataForm, data.pd) // this.userDetailForm = Object.assign(this.userDetailForm, data.pd)
this.userPhotoFile = data.userPhotoFile this.userPhotoFile = data.userPhotoFile
if (this.userPhotoFile.length > 0) { if (this.userPhotoFile.length > 0) {
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH