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

hyx_2024-9-25_specialUser
LiuJiaNan 2024-09-13 17:57:24 +08:00
commit 9c013342fd
22 changed files with 4908 additions and 9442 deletions

View File

@ -39,7 +39,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户名" prop="USERNAME" class="input-width"> <el-form-item label="用户名" prop="USERNAME" class="input-width">
<el-input v-model="form.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..." /> <el-input v-model="form.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..." @blur="goCheck()" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -69,7 +69,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="身份证号" prop="CARD_ID" class="input-width"> <el-form-item label="身份证号" prop="CARD_ID" class="input-width">
<el-input v-model="form.CARD_ID" placeholder="这里输入身份证号..."/> <el-input v-model="form.CARD_ID" placeholder="这里输入身份证号..." @blur="goCheck()"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -92,7 +92,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="电子邮箱" prop="EMAIL" class="input-width">
<el-input v-model="form.EMAIL" placeholder="这里输入电子邮箱..."/>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="民族" prop="NATIONALITY"> <el-form-item label="民族" prop="NATIONALITY">
@ -392,7 +398,8 @@
</div> </div>
<div class="ui-height"/> <div class="ui-height"/>
<div class="ui-foot"> <div class="ui-foot">
<el-button v-show="dialogType == 'saveUser'" :loading="buttonLoading" type="success" @click="confirm"> </el-button> <el-button v-show="dialogType === 'saveUser' && ISCHECK" :loading="buttonLoading" type="success" @click="confirm"> </el-button>
<el-button v-show="!ISCHECK" type="success" @click="goCheck"> </el-button>
<el-button plain type="info" @click="goBack"> </el-button> <el-button plain type="info" @click="goBack"> </el-button>
</div> </div>
</div> </div>
@ -538,6 +545,8 @@ export default {
callback() callback()
} }
return { return {
ISCHECK: false,
ISPUSH: false,
buttonLoading: false, buttonLoading: false,
DEPARTMENT_NAME: '', DEPARTMENT_NAME: '',
dayTime: [], dayTime: [],
@ -581,7 +590,7 @@ export default {
], ],
rules: { rules: {
NAME: [{ required: true, message: '姓名不能为空', trigger: 'blur' }], NAME: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
NATIONALITY: [{ required: false, message: '民族不能为空', trigger: 'blur' }], NATIONALITY: [{ required: true, message: '民族不能为空', trigger: 'blur' }],
IS_BF: [{ required: true, message: '请选择是否缴纳保险', trigger: 'blur' }], IS_BF: [{ required: true, message: '请选择是否缴纳保险', trigger: 'blur' }],
IS_SOCIAL: [{ required: true, message: '请选择是否缴纳社保', trigger: 'blur' }], IS_SOCIAL: [{ required: true, message: '请选择是否缴纳社保', trigger: 'blur' }],
POLITICAL_STATUS: [{ required: true, message: '请选择政治面貌', trigger: 'blur' }], POLITICAL_STATUS: [{ required: true, message: '请选择政治面貌', trigger: 'blur' }],
@ -639,6 +648,7 @@ export default {
}, },
{ validator: hasCARD, trigger: 'blur' } { validator: hasCARD, trigger: 'blur' }
], ],
EMAIL: [{ required: true, message: '电子邮箱不能为空', trigger: 'blur' }],
AGE: [{ required: true, message: '年龄不能为空', trigger: 'blur' }, AGE: [{ required: true, message: '年龄不能为空', trigger: 'blur' },
{ {
pattern: /^\d{2}$/, pattern: /^\d{2}$/,
@ -825,6 +835,79 @@ export default {
} }
}, },
methods: { methods: {
goPush(row) {
requestFN(
'user/goPush',
{
USER_ID: row.USER_ID,
STATUS: row.STATUS,
BZ: row.BZ,
SKIN: row.SKIN,
PHONE: row.PHONE,
NUMBER: row.NUMBER,
CARD_NO: row.CARD_ID,
USERNAME: row.USERNAME,
NAME: row.NAME,
CORPINFO_ID: row.CORPINFO_ID,
CORPINFO_NAME: row.CORPINFO_NAME || '',
DEPARTMENT_ID: row.DEPARTMENT_ID,
DEPARTMENT_NAME: row.DEPARTMENT_NAME,
IMGFILES_ID: row.IMGFILES_ID,
FOREIGN_KEY: row.FOREIGN_KEY,
FILEPATH: row.FILEPATH,
EMAIL: row.EMAIL || '',
CARD_TYPE: '111',
CARD_TYPE_NAME: '身份证',
NATION: row.NATIONALITY || '',
SEX: row.SEX || '',
USER_TYPE: '2',
ISDELETE: row.ISDELETE
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('推送成功')
this.$parent.activeName = 'List'
} else {
this.$message.error('推送失败,' + data.msg)
this.$parent.activeName = 'List'
}
}).catch((e) => {
this.listLoading = false
})
},
goCheck() {
if (this.form.CARD_ID && this.form.USERNAME) {
const phoneJudge = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/
const phoneResult = phoneJudge.test(this.form.USERNAME)
const cardJudge = /^[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]$/
const cardResult = cardJudge.test(this.form.CARD_ID)
if (phoneResult && cardResult) {
console.log('格式校验通过')
requestFN(
'user/goCheck',
{
CARD_NO: this.form.CARD_ID,
USERNAME: this.form.USERNAME
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('验证失败,请确认身份证号与手机号是否正确')
this.ISCHECK = false
}
}).catch((e) => {
this.listLoading = false
this.ISCHECK = false
})
} else {
this.ISCHECK = false
}
} else {
this.ISCHECK = false
}
},
/** 三级教育培训 **/ /** 三级教育培训 **/
handleLevelPhotoRemove(file, fileList) { handleLevelPhotoRemove(file, fileList) {
this.form.photosOfLevel = fileList this.form.photosOfLevel = fileList
@ -1011,7 +1094,7 @@ export default {
'/user/' + this.dialogType, '/user/' + this.dialogType,
formData formData
).then((data) => { ).then((data) => {
this.$parent.activeName = 'List' this.goPush(data.pd)
this.listLoading = false this.listLoading = false
this.buttonLoading = false this.buttonLoading = false
}).catch((e) => { }).catch((e) => {

View File

@ -35,7 +35,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户名" prop="USERNAME" class="input-width"> <el-form-item label="用户名" prop="USERNAME" class="input-width">
<el-input v-model="form.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..." /> <el-input v-model="form.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..."/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -398,7 +398,8 @@
</div> </div>
<div class="ui-height"/> <div class="ui-height"/>
<div class="ui-foot"> <div class="ui-foot">
<el-button :loading="buttonLoading" type="success" @click="confirm"> </el-button> <el-button v-show="!ISCHECK" :loading="buttonLoading" type="success" @click="confirm"> </el-button>
<!-- <el-button v-show="!ISCHECK" :loading="buttonLoading" type="success" @click="goCheck"> </el-button> -->
<el-button plain type="info" @click="goBack"> </el-button> <el-button plain type="info" @click="goBack"> </el-button>
</div> </div>
</div> </div>
@ -544,6 +545,8 @@ export default {
callback() callback()
} }
return { return {
ISCHECK: false,
USER_ID: "",
imgDelKey: [], imgDelKey: [],
zhebaoUpload: false, // zhebaoUpload: false, //
photosOfLevel: false, // photosOfLevel: false, //
@ -590,7 +593,7 @@ export default {
rules: { rules: {
NAME: [{ required: true, message: '姓名不能为空', trigger: 'blur' }], NAME: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
POLITICAL_STATUS: [{ required: true, message: '请选择政治面貌', trigger: 'blur' }], POLITICAL_STATUS: [{ required: true, message: '请选择政治面貌', trigger: 'blur' }],
NATIONALITY: [{ required: false, message: '请选择民族', trigger: 'blur' }], NATIONALITY: [{ required: true, message: '请选择民族', trigger: 'blur' }],
POLITICAL_TIME: [{ required: true, validator: isCommunist, message: '请选择入党时间', trigger: 'blur' }], POLITICAL_TIME: [{ required: true, validator: isCommunist, message: '请选择入党时间', trigger: 'blur' }],
USERNAME: [ USERNAME: [
{ required: true, message: '用户名不能为空', trigger: 'blur' }, { required: true, message: '用户名不能为空', trigger: 'blur' },
@ -891,6 +894,81 @@ export default {
this.getDict() this.getDict()
}, },
methods: { methods: {
goCheck() {
if (this.form.CARD_ID && this.form.USERNAME) {
const phoneJudge = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/
const phoneResult = phoneJudge.test(this.form.USERNAME)
const cardJudge = /^[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]$/
const cardResult = cardJudge.test(this.form.CARD_ID)
if (phoneResult && cardResult) {
console.log('格式校验通过')
requestFN(
'user/goCheck',
{
USER_ID: this.form.USER_ID,
CARD_NO: this.form.CARD_ID,
USERNAME: this.form.USERNAME
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('验证失败,请确认身份证号与手机号是否正确')
this.ISCHECK = false
}
}).catch((e) => {
this.listLoading = false
this.ISCHECK = false
})
} else {
this.ISCHECK = false
}
} else {
this.$message.warning('请确认身份证号与手机号后进行校验')
this.ISCHECK = false
}
},
goPush(row) {
requestFN(
'user/goPush',
{
USER_ID: row.USER_ID,
STATUS: row.STATUS,
BZ: row.BZ,
SKIN: row.SKIN,
PHONE: row.PHONE,
NUMBER: row.NUMBER,
CARD_NO: row.CARD_ID,
USERNAME: row.USERNAME,
NAME: row.NAME,
CORPINFO_ID: row.CORPINFO_ID,
CORPINFO_NAME: row.CORPINFO_NAME || '',
DEPARTMENT_ID: row.DEPARTMENT_ID,
DEPARTMENT_NAME: row.DEPARTMENT_NAME,
IMGFILES_ID: row.IMGFILES_ID,
FOREIGN_KEY: row.FOREIGN_KEY,
FILEPATH: row.FILEPATH,
EMAIL: row.EMAIL || '',
CARD_TYPE: '111',
CARD_TYPE_NAME: '身份证',
NATION: row.NATIONALITY || '',
SEX: row.SEX || '',
USER_TYPE: '2',
ISDELETE: row.ISDELETE
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('推送成功')
this.$parent.activeName = 'List'
} else {
this.$message.error('推送失败,' + data.msg)
this.$parent.activeName = 'List'
}
}).catch((e) => {
this.listLoading = false
})
},
// //
checkSpecialCertificateList() { checkSpecialCertificateList() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -1156,11 +1234,10 @@ export default {
formData formData
).then((data) => { ).then((data) => {
this.$message.success('保存成功!') this.$message.success('保存成功!')
this.$parent.activeName = 'List' this.goPush(data.pd)
this.listLoading = false this.listLoading = false
this.buttonLoading = false this.buttonLoading = false
}).catch((e) => { }).catch((e) => {
this.$message.success('保存失败!')
this.listLoading = false this.listLoading = false
this.buttonLoading = false this.buttonLoading = false
}) })

View File

@ -141,10 +141,11 @@
<el-button v-show="edit && row.ACCOUNT_TYPE == '1'" type="success" icon="el-icon-edit" size="mini" @click="handleUserEdit(row)"></el-button> <el-button v-show="edit && row.ACCOUNT_TYPE == '1'" type="success" icon="el-icon-edit" size="mini" @click="handleUserEdit(row)"></el-button>
<el-button v-show="edit" type="success" icon="el-icon-refresh" size="mini" @click="resetPwd(row.USER_ID)"></el-button> <el-button v-show="edit" type="success" icon="el-icon-refresh" size="mini" @click="resetPwd(row.USER_ID)"></el-button>
<el-button v-if="del && row.ACCOUNT_TYPE == '1'" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row)"></el-button> <el-button v-if="del && row.ACCOUNT_TYPE == '1'" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row)"></el-button>
<el-button v-if="row.ISUSE == 1 && row.ACCOUNT_TYPE == '1'" type="success" icon="el-icon-check" size="mini" @click="enableORDisable('0', row.USER_ID)"></el-button> <el-button v-if="row.ISUSE == 1 && row.ACCOUNT_TYPE == '1'" type="success" icon="el-icon-check" size="mini" @click="enableORDisable('0', row)"></el-button>
<el-button v-if="row.ISUSE == 0 && row.ACCOUNT_TYPE == '1'" type="danger" icon="el-icon-close" size="mini" @click="enableORDisable('1', row.USER_ID)"></el-button> <el-button v-if="row.ISUSE == 0 && row.ACCOUNT_TYPE == '1'" type="danger" icon="el-icon-close" size="mini" @click="enableORDisable('1', row)"></el-button>
</template> </template>
<el-button v-if="row.ACCOUNT_TYPE == '1'" type="info" icon="el-icon-postcard" size="mini" @click="handlePrinting(row)"></el-button> <el-button v-if="row.ACCOUNT_TYPE == '1'" type="info" icon="el-icon-postcard" size="mini" @click="handlePrinting(row)"></el-button>
<el-button v-if="row.ISPUSH == '0'" type="primary" icon="el-icon-position" size="mini" @click="goPush(row)"></el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -457,6 +458,47 @@ export default {
this.getTreeList() this.getTreeList()
}, },
methods: { methods: {
goPush(row) {
requestFN(
'user/goPush',
{
USER_ID: row.USER_ID,
STATUS: row.STATUS,
BZ: row.BZ,
SKIN: row.SKIN,
PHONE: row.PHONE,
NUMBER: row.NUMBER,
CARD_NO: row.CARD_ID,
USERNAME: row.USERNAME,
NAME: row.NAME,
CORPINFO_ID: row.CORPINFO_ID,
CORPINFO_NAME: row.CORPINFO_NAME || '',
DEPARTMENT_ID: row.DEPARTMENT_ID,
DEPARTMENT_NAME: row.DEPARTMENT_NAME,
IMGFILES_ID: row.IMGFILES_ID,
FOREIGN_KEY: row.FOREIGN_KEY,
FILEPATH: row.FILEPATH,
EMAIL: row.EMAIL || '',
CARD_TYPE: '111',
CARD_TYPE_NAME: '身份证',
NATION: row.NATIONALITY || '',
SEX: row.SEX || '',
USER_TYPE: '2',
ISUSE: row.ISUSE,
ISDELETE: row.ISDELETE
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('推送成功')
this.getList()
} else {
this.$message.error('推送失败,' + data.msg)
this.getList()
}
}).catch((e) => {
this.listLoading = false
})
},
getRowKey(row) { getRowKey(row) {
return row.USER_ID return row.USER_ID
}, },
@ -593,7 +635,8 @@ export default {
PHONE: row.PHONE, PHONE: row.PHONE,
CARD_ID: row.CARD_ID, CARD_ID: row.CARD_ID,
DEPARTMENT_NAME: row.DEPARTMENT_NAME, DEPARTMENT_NAME: row.DEPARTMENT_NAME,
CORPINFO_ID: row.CORPINFO_ID CORPINFO_ID: row.CORPINFO_ID,
ISPUSH: row.ISPUSH
} }
).then((data) => { ).then((data) => {
if (data.result == 'success') { if (data.result == 'success') {
@ -629,7 +672,8 @@ export default {
DEPART_STATE: this.DEPART_STATE, DEPART_STATE: this.DEPART_STATE,
BASIC_STATE: this.BASIC_STATE, BASIC_STATE: this.BASIC_STATE,
CARD_ID: this.ID_CARD, CARD_ID: this.ID_CARD,
USER_ID: this.USER_ID USER_ID: this.USER_ID,
ISPUSH: '1'
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -650,7 +694,7 @@ export default {
}) })
}, },
// //
enableORDisable(ISUSE, USER_ID) { enableORDisable(ISUSE, row) {
this.$confirm(ISUSE === '0' ? '确定要启用该账户吗?' : '确定要禁用该账户吗?', { this.$confirm(ISUSE === '0' ? '确定要启用该账户吗?' : '确定要禁用该账户吗?', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@ -660,8 +704,8 @@ export default {
requestFN( requestFN(
'/user/editisuse', '/user/editisuse',
{ {
USER_ID, USER_ID: row.USER_ID,
ISUSE ISUSE: ISUSE
} }
).then(() => { ).then(() => {
this.$message({ this.$message({
@ -671,7 +715,8 @@ export default {
this.listLoading = false this.listLoading = false
this.varList = [] this.varList = []
this.listQuery.page = 1 this.listQuery.page = 1
this.getList() row.ISUSE = ISUSE
this.goPush(row)
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
}) })
@ -746,11 +791,24 @@ export default {
dangerouslyUseHTMLString: true dangerouslyUseHTMLString: true
}) })
} else { } else {
this.$message({ console.log(data.uncheckMsg)
message: '导入成功。</br>一共解析了' + data.importCount + '条数据。</br>其中新增' + data.saveCount + '条数据。' + '修改' + data.updCount + '条数据。</br>', if (data.uncheckMsg) {
dangerouslyUseHTMLString: true, this.$message({
type: 'success' message: '导入成功,但部分数据验重或推送失败</br>一共解析了' + data.importCount + '条数据。</br>其中新增' + data.saveCount + '条数据。' + '修改' + data.updCount + '条数据。</br>' + data.pushMsg + '</br>' + data.uncheckMsg + '</br>',
}) duration: 5000,
showClose: true,
dangerouslyUseHTMLString: true,
type: 'error'
})
} else {
this.$message({
message: '导入成功。</br>一共解析了' + data.importCount + '条数据。</br>其中新增' + data.saveCount + '条数据。' + '修改' + data.updCount + '条数据。</br>' + data.pushMsg + '</br>',
duration: 5000,
showClose: true,
dangerouslyUseHTMLString: true,
type: 'success'
})
}
this.dialogFormDaoru = false this.dialogFormDaoru = false
this.getList() this.getList()
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,326 @@
<template>
<div class="app-container">
<div class="reform-article">
<div class="reform-table">
<table class="table-ui" style="margin-bottom: 20px;">
<div class="level-title">
<h1>人员信息</h1>
</div>
<tr>
<th style="width: 200px">照片</th>
<td style="width: 400px">
<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 style="width: 200px">姓名</th>
<td>{{ dataForm.NAME }}</td>
<th width="200px">性别</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 }}</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 }}</td>
<th>现住址</th>
<td>{{ dataForm.ADDRESS }}</td>
<th>联系电话</th>
<td>{{ dataForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ dataForm.DEGREE_OF_EDUCATION_NAME }}</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 :colspan="dataForm.IS_INJURIES_PAY === '1' ? '':5">{{ formatLabel(dataForm.IS_INJURIES_PAY) }}</td>
<th v-if="dataForm.IS_INJURIES_PAY === '1'"></th>
<td v-if="dataForm.IS_INJURIES_PAY === '1'">{{ dataForm.IS_INJURIES_PAY_TIME }}</td>
<th v-if="dataForm.IS_INJURIES_PAY === '1'"></th>
<td v-if="dataForm.IS_INJURIES_PAY === '1'">
<span>
<viewer>
<img
v-for="item in gongshangbaoxianFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</span>
</td>
</tr>
<tr>
<th>是否缴纳商业保险</th>
<td :colspan="dataForm.ISPAY === '1' ? '' : 5">
{{ formatLabel(dataForm.ISPAY) }}
</td>
<th v-if="dataForm.ISPAY === '1'"></th>
<td v-if="dataForm.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="dataForm.ISPAY === '1'"></th>
<td v-if="dataForm.ISPAY === '1'">{{ dataForm.ISPAY_NUMBER }}</td>
</tr>
<tr>
<th>是否签订劳动合同</th>
<td :colspan="dataForm.IS_SIGN_LABOR === '1' ? '' : 5">
{{ formatLabel(dataForm.IS_SIGN_LABOR) }}
</td>
<th v-if="dataForm.IS_SIGN_LABOR === '1'"></th>
<td v-if="dataForm.IS_SIGN_LABOR === '1'" colspan="3">
<span>
<viewer>
<img
v-for="item in contractFileList"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</span>
</td>
</tr>
<tr/><tr>
<th>是否参加三级安全培训</th>
<td >{{ formatLabel(dataForm.IS_LEVEL_THREE) }}</td>
<th>三级安全培训照片</th>
<td v-if="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 >{{ formatLabel(dataForm.IS_SPECIAL_JOB) }}</td>
<th>是否流动人员</th>
<td colspan="3">{{ formatLabel(dataForm.ISFLOW) }}</td>
</tr>
</table>
</div>
</div>
<div class="ui-foot" style="margin-left: -20px;bottom: -8px;">
<el-button plain type="info" @click="back"> </el-button>
</div>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
data() {
return {
config: config,
imgUrl: '',
listLoading: 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: ''
}
},
async created() {
// await this.getTreeList()
this.getDict()
this.getList()
},
methods: {
back() {
this.$parent.activeName = 'List'
},
//
formatLabel(value) {
if (value == '1') {
return '是'
} else if (value == '0') {
return '否'
} else {
return ''
}
},
//
getDict() {
requestFN(
'dictionaries/getLevels',
{ DICTIONARIES_ID: 'd7d80f08d73a4accbccf4fd3d8d1d867' }
).then((data) => {
this.wenhuachengduList = data.list
}).catch((e) => {
this.listLoading = false
})
},
getList() {
this.listLoading = true
requestFN(
'user/getDetailByUserIdAndCorpInfoId',
{
USER_ID: this.$parent.USER_ID,
CORPINFO_ID: this.$parent.CORPINFO_ID,
EMPLOYMENT_APPLY_MANAGEMENT_ID: this.$parent.EMPLOYMENT_APPLY_MANAGEMENT_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>
<style scoped>
</style>

View File

@ -0,0 +1,41 @@
<template>
<div>
<List v-show="activeName=='List'" ref="list" />
<Edit v-if="activeName=='Edit'" />
<Add v-if="activeName=='Add'" />
<ViewData v-if="activeName=='ViewData'" />
</div>
</template>
<script>
import List from './components/list'
import Edit from './components/edit'
import Add from './components/add'
import ViewData from './components/view'
export default {
components: {
List: List,
Edit: Edit,
Add: Add,
ViewData: ViewData
},
data() {
return {
activeName: 'List',
USER_ID: '',
CORPINFO_ID: ''
}
},
watch: {
activeName(val) {
if (val == 'List') {
this.$refs.list.getList()
}
}
}
}
</script>
<style scoped>
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -71,7 +71,7 @@
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a> <a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
</div> </div>
--> -->
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -321,7 +321,7 @@
<div style="padding: 0 20px;"> <div style="padding: 0 20px;">
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a> <a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -82,7 +82,7 @@
<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script> <script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -119,7 +119,7 @@
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -36,7 +36,7 @@
<van-image-preview v-model="show" :images="images" :start-position="startPosition"> <van-image-preview v-model="show" :images="images" :start-position="startPosition">
</van-image-preview> </van-image-preview>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var vm = new Vue({ var vm = new Vue({
el: '#app', el: '#app',

View File

@ -113,7 +113,7 @@
<van-image-preview v-model="show" :images="images" :start-position="startPosition"> <van-image-preview v-model="show" :images="images" :start-position="startPosition">
</van-image-preview> </van-image-preview>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var vm = new Vue({ var vm = new Vue({
el: '#app', el: '#app',

View File

@ -70,7 +70,7 @@
<div style="padding: 0 20px;"> <div style="padding: 0 20px;">
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a> <a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -85,7 +85,7 @@
</ul> </ul>
</div> </div>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>

View File

@ -321,7 +321,7 @@
<div style="padding: 0 20px;"> <div style="padding: 0 20px;">
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a> <a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -82,7 +82,7 @@
<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script> <script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -60,7 +60,7 @@
<div style="padding: 0 20px;margin-top:20px"> <div style="padding: 0 20px;margin-top:20px">
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a> <a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script> <script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
<script src="../../../bi/js/sweetalert.min.js"></script> <script src="../../../bi/js/sweetalert.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -303,8 +303,8 @@
<div class="training_records"> <div class="training_records">
<table> <table>
<tr> <tr>
<td>培训开始时间</td> <td>培训时间</td>
<td>培训结束时间</td> <td>有效期限</td>
<td>培训部门</td> <td>培训部门</td>
<td>培训结果</td> <td>培训结果</td>
</tr> </tr>
@ -347,7 +347,7 @@
</van-image-preview> </van-image-preview>
</div> </div>
</div> </div>
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="../../assets/js/jquery-3.7.1.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var vm = new Vue({ var vm = new Vue({
el: '#app', el: '#app',