diff --git a/src/components/UserBaseInfo/UserBaseInfoView.vue b/src/components/UserBaseInfo/UserBaseInfoView.vue new file mode 100644 index 0000000..2d7f00e --- /dev/null +++ b/src/components/UserBaseInfo/UserBaseInfoView.vue @@ -0,0 +1,283 @@ + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index b2f2018..8b6b455 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -290,7 +290,7 @@ export default { } } } - this.imgUrl = config.httpurl + data.userPhoto + this.imgUrl = config.fileUrl + data.userPhoto }) .catch((e) => { MessageBox.alert('登录失效,请重新登录', { @@ -444,11 +444,11 @@ export default { formData.append('FFILE', this.FFILE) upload( - '/photo/saveNew', + '/photo/save', formData ).then((data) => { this.dialogForm = false - this.imgUrl = config.httpurl + data.userPhoto + this.imgUrl = config.fileUrl + data.userPhoto loading.close() }).catch((e) => { loading.close() diff --git a/src/main.js b/src/main.js index 10e0107..36598c6 100644 --- a/src/main.js +++ b/src/main.js @@ -64,6 +64,18 @@ Vue.use(Element, { import vueEsign from 'vue-esign' Vue.use(vueEsign) + +// 树数据结构去除空子级 +Vue.prototype.removeEmptyChildren = function(data) { + for (let i = 0; i < data.length; i++) { + if (data[i].nodes && data[i].nodes.length > 0) { + this.removeEmptyChildren(data[i].nodes) + } else { + delete data[i].nodes + } + } + return data +} /* eslint-disable no-new */ new Vue({ el: '#app', @@ -72,3 +84,30 @@ new Vue({ components: { App }, template: '' }) + +/** + * json格式转树状结构 + * @param {json} json数据 + * @param {String} id的字符串 + * @param {String} 父id的字符串 + * @param {String} children的字符串 + * @return {Array} 数组 + */ +Vue.prototype.listTransTree = function(json, idStr, pidStr, chindrenStr) { + // eslint-disable-next-line one-var + var r = [], hash = {}, id = idStr, pid = pidStr, children = chindrenStr, i = 0, j = 0, len = json.length + for (; i < len; i++) { + hash[json[i][id]] = json[i] + } + for (; j < len; j++) { + // eslint-disable-next-line one-var + var aVal = json[j], hashVP = hash[aVal[pid]] + if (hashVP) { + !hashVP[children] && (hashVP[children] = []) + hashVP[children].push(aVal) + } else { + r.push(aVal) + } + } + return r +} diff --git a/src/views/PersonManager/coerce/components/list.vue b/src/views/PersonManager/coerce/components/list.vue new file mode 100644 index 0000000..5b3fd0b --- /dev/null +++ b/src/views/PersonManager/coerce/components/list.vue @@ -0,0 +1,174 @@ + + + + diff --git a/src/views/PersonManager/coerce/index.vue b/src/views/PersonManager/coerce/index.vue new file mode 100644 index 0000000..45be1d5 --- /dev/null +++ b/src/views/PersonManager/coerce/index.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/views/PersonManager/user/components/add.vue b/src/views/PersonManager/user/components/add.vue index 8da6fb2..2124c47 100644 --- a/src/views/PersonManager/user/components/add.vue +++ b/src/views/PersonManager/user/components/add.vue @@ -39,7 +39,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -88,10 +88,17 @@ list-type="picture-card"> +
温馨提示:用户要上传身份证正反面(身份证照片数量是2张), 才能进行人员培训
+ +
+
+ + + + - @@ -183,7 +190,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + -
- 保 存 + 保 存 + 校 验 返 回
@@ -339,10 +437,7 @@ export default { } var hasCARD = (rule, value, callback) => { requestFN( - '/user/hasUserCARD', - { - CARD_ID: value - } + '/user/goCheck?CARD_NO=' + value ).then((data) => { if (data.pd) { callback(new Error('身份证号已存在')) @@ -372,7 +467,7 @@ export default { } var hasName = (rule, value, callback) => { requestFN( - '/user/hasUserName', + '/user/goCheck', { USERNAME: value @@ -447,6 +542,8 @@ export default { callback() } return { + ISCHECK: false, + ISPUSH: false, buttonLoading: false, DEPARTMENT_NAME: '', dayTime: [], @@ -490,7 +587,7 @@ export default { ], rules: { 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_SOCIAL: [{ required: true, message: '请选择是否缴纳社保', trigger: 'blur' }], POLITICAL_STATUS: [{ required: true, message: '请选择政治面貌', trigger: 'blur' }], @@ -498,7 +595,7 @@ export default { 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}$/, + pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0-9]|18[0-9]|19[0-9])\d{8}$/, message: '用户名为手机号,请正确输入' }, { validator: hasName, trigger: 'blur' } @@ -548,6 +645,7 @@ export default { }, { validator: hasCARD, trigger: 'blur' } ], + // EMAIL: [{ required: true, message: '电子邮箱不能为空', trigger: 'blur' }], AGE: [{ required: true, message: '年龄不能为空', trigger: 'blur' }, { pattern: /^\d{2}$/, @@ -734,6 +832,79 @@ export default { } }, 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) { this.form.photosOfLevel = fileList @@ -888,12 +1059,40 @@ export default { } } } + if (this.form.IS_INJURIES_PAY === '1') { + if (this.$refs['gongshangFileList'].uploadFiles.length > 0) { + for (let i = 0; i < this.$refs['gongshangFileList'].uploadFiles.length; i++) { + if (this.$refs['gongshangFileList'].uploadFiles[i]) { + formData.append('WORK_INSURANCE_LIST', this.$refs['gongshangFileList'].uploadFiles[i].raw) + } + } + } + } + if (this.form.ISPAY === '1') { + if (this.$refs['insuranceFileList'].uploadFiles.length > 0) { + for (let i = 0; i < this.$refs['insuranceFileList'].uploadFiles.length; i++) { + if (this.$refs['insuranceFileList'].uploadFiles[i]) { + formData.append('insuranceFile', this.$refs['insuranceFileList'].uploadFiles[i].raw) + } + } + } + } + if (this.form.IS_SIGN_LABOR === '1') { + if (this.$refs['contractFileList'].uploadFiles.length > 0) { + for (let i = 0; i < this.$refs['contractFileList'].uploadFiles.length; i++) { + if (this.$refs['contractFileList'].uploadFiles[i]) { + formData.append('contractFile', this.$refs['contractFileList'].uploadFiles[i].raw) + } + } + } + } + formData.delete('CORPINFO_ID') formData.append('CORPINFO_ID', JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID) upload( '/user/' + this.dialogType, formData ).then((data) => { - this.$parent.activeName = 'List' + this.goPush(data.pd) this.listLoading = false this.buttonLoading = false }).catch((e) => { diff --git a/src/views/PersonManager/user/components/edit.vue b/src/views/PersonManager/user/components/edit.vue index 54aadc5..e6ad350 100644 --- a/src/views/PersonManager/user/components/edit.vue +++ b/src/views/PersonManager/user/components/edit.vue @@ -35,7 +35,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -87,10 +87,17 @@ list-type="picture-card"> +
温馨提示:用户要上传身份证正反面(身份证照片数量是2张), 才能进行人员培训
+ +
+
+ + + + - @@ -133,8 +140,8 @@ - + @@ -170,7 +177,6 @@ - @@ -184,7 +190,7 @@ - + - @@ -236,6 +241,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -305,7 +404,8 @@
- 保 存 + 保 存 + 返 回
@@ -451,6 +551,8 @@ export default { callback() } return { + ISCHECK: false, + USER_ID: "", imgDelKey: [], zhebaoUpload: false, // 社保卡照片 photosOfLevel: false, // 三级教育培训照片 @@ -497,12 +599,12 @@ export default { rules: { NAME: [{ 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' }], 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}$/, + pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0-9]|18[0-9]|19[0-9])\d{8}$/, message: '用户名为手机号,请正确输入' }, { validator: hasName, trigger: 'blur' } @@ -539,7 +641,7 @@ export default { { 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}$/, + pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0-9]|18[0-9]|19[0-9])\d{8}$/, message: '请输入正确的手机号码' }], ROLE_ID: [{ required: true, message: '请选择角色', trigger: 'change' }], @@ -798,6 +900,81 @@ export default { this.getDict() }, 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() { return new Promise((resolve, reject) => { @@ -970,7 +1147,8 @@ export default { }, // 保存 confirm() { - this.$refs.form.validate(valid => { + this.$refs.form.validate((valid, errorFields) => { + console.log(errorFields) if (valid) { if (this.form.userCardFile.length < 2) { this.$message.error('请上传身份证正反面照片') @@ -1008,6 +1186,33 @@ export default { } } } + if (this.form.IS_INJURIES_PAY === '1') { + if (this.$refs['gongshangFileList'].uploadFiles.length > 0) { + for (let i = 0; i < this.$refs['gongshangFileList'].uploadFiles.length; i++) { + if (this.$refs['gongshangFileList'].uploadFiles[i]) { + formData.append('WORK_INSURANCE_LIST', this.$refs['gongshangFileList'].uploadFiles[i].raw) + } + } + } + } + if (this.form.ISPAY === '1') { + if (this.form.insuranceFileList.length > 0) { + for (let i = 0; i < this.form.insuranceFileList.length; i++) { + if (this.form.insuranceFileList[i]) { + formData.append('insuranceFile', this.form.insuranceFileList[i].raw) + } + } + } + } + if (this.form.IS_SIGN_LABOR === '1') { + if (this.form.contractFileList.length > 0) { + for (let i = 0; i < this.form.contractFileList.length; i++) { + if (this.form.contractFileList[i]) { + formData.append('contractFile', this.form.contractFileList[i].raw) + } + } + } + } // 社保照片 if (this.form.IS_SOCIAL === '1') { if (this.$refs['zhenbaoUpload'].uploadFiles.length > 0) { @@ -1035,11 +1240,10 @@ export default { formData ).then((data) => { this.$message.success('保存成功!') - this.$parent.activeName = 'List' + this.goPush(data.pd) this.listLoading = false this.buttonLoading = false }).catch((e) => { - this.$message.success('保存失败!') this.listLoading = false this.buttonLoading = false }) @@ -1088,24 +1292,24 @@ export default { this.form.photosOfLevel.push(obj) }) } - // if (data.gongshangbaoxianFile) { - // data.gongshangbaoxianFile.map(item => { - // const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH } - // this.form.gongshangbaoxianFile.push(obj) - // }) - // } - // if (data.insuranceFile) { - // data.insuranceFile.map(item => { - // const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH } - // this.form.insuranceFileList.push(obj) - // }) - // } - // if (data.contractFile) { - // data.contractFile.map(item => { - // const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH } - // this.form.contractFileList.push(obj) - // }) - // } + if (data.gongshangbaoxianFile) { + data.gongshangbaoxianFile.map(item => { + const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH } + this.form.gongshangbaoxianFile.push(obj) + }) + } + if (data.insuranceFile) { + data.insuranceFile.map(item => { + const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH } + this.form.insuranceFileList.push(obj) + }) + } + if (data.contractFile) { + data.contractFile.map(item => { + const obj = { id: item.IMGFILES_ID, name: item.FILENAME, url: config.fileUrl + item.FILEPATH } + this.form.contractFileList.push(obj) + }) + } this.EMPLOYMENT_APPLY_MANAGEMENT_ID = data.pdrelated.EMPLOYMENT_APPLY_MANAGEMENT_ID const node = {} node.id = this.form.DEPARTMENT_ID @@ -1149,7 +1353,6 @@ export default { } }) }, - changeLearnerCategory() { this.form.LEARNERCATEGORY = '' if (this.form.LEARNERCATEGORYSTATUS === 'select') { @@ -1166,7 +1369,6 @@ export default { this.form.LEARNERCATEGORYSTATUS = 'select' } }, - // 判断按钮权限,用于是否显示按钮 hasButton() { var keys = 'user:add,user:del,user:edit' @@ -1231,7 +1433,6 @@ export default { this.form.insuranceFileList.push(file) this.hideInsuranceUpload = fileList.length >= 4 }, - // 保险图片remove handleInsuranceFileRemove(file, fileList) { this.form.insuranceFileList = fileList @@ -1250,7 +1451,6 @@ export default { this.form.contractFileList.push(file) this.hideContractUpload = fileList.length >= 4 }, - // 合同图片remove handleContractFileRemove(file, fileList) { this.form.contractFileList = fileList diff --git a/src/views/PersonManager/user/components/list.vue b/src/views/PersonManager/user/components/list.vue index 9c9f890..80069c1 100644 --- a/src/views/PersonManager/user/components/list.vue +++ b/src/views/PersonManager/user/components/list.vue @@ -118,12 +118,7 @@ 培训中 未培训 - - - - + 已培训 申请中 @@ -145,11 +140,12 @@ 打印 + 推送 @@ -462,6 +458,47 @@ export default { this.getTreeList() }, 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) { return row.USER_ID }, @@ -598,7 +635,8 @@ export default { PHONE: row.PHONE, CARD_ID: row.CARD_ID, DEPARTMENT_NAME: row.DEPARTMENT_NAME, - CORPINFO_ID: row.CORPINFO_ID + CORPINFO_ID: row.CORPINFO_ID, + ISPUSH: row.ISPUSH } ).then((data) => { if (data.result == 'success') { @@ -634,7 +672,8 @@ export default { DEPART_STATE: this.DEPART_STATE, BASIC_STATE: this.BASIC_STATE, CARD_ID: this.ID_CARD, - USER_ID: this.USER_ID + USER_ID: this.USER_ID, + ISPUSH: '1' } ).then((data) => { this.listLoading = false @@ -655,7 +694,7 @@ export default { }) }, // 禁用 启用 - enableORDisable(ISUSE, USER_ID) { + enableORDisable(ISUSE, row) { this.$confirm(ISUSE === '0' ? '确定要启用该账户吗?' : '确定要禁用该账户吗?', { confirmButtonText: '确定', cancelButtonText: '取消', @@ -665,8 +704,8 @@ export default { requestFN( '/user/editisuse', { - USER_ID, - ISUSE + USER_ID: row.USER_ID, + ISUSE: ISUSE } ).then(() => { this.$message({ @@ -676,7 +715,8 @@ export default { this.listLoading = false this.varList = [] this.listQuery.page = 1 - this.getList() + row.ISUSE = ISUSE + this.goPush(row) }).catch((e) => { this.listLoading = false }) @@ -751,11 +791,24 @@ export default { dangerouslyUseHTMLString: true }) } else { - this.$message({ - message: '导入成功。
一共解析了' + data.importCount + '条数据。
其中新增' + data.saveCount + '条数据。' + '修改' + data.updCount + '条数据。
', - dangerouslyUseHTMLString: true, - type: 'success' - }) + console.log(data.uncheckMsg) + if (data.uncheckMsg) { + this.$message({ + message: '导入成功,但部分数据验重或推送失败
一共解析了' + data.importCount + '条数据。
其中新增' + data.saveCount + '条数据。' + '修改' + data.updCount + '条数据。
' + data.pushMsg + '
' + data.uncheckMsg + '
', + duration: 5000, + showClose: true, + dangerouslyUseHTMLString: true, + type: 'error' + }) + } else { + this.$message({ + message: '导入成功。
一共解析了' + data.importCount + '条数据。
其中新增' + data.saveCount + '条数据。' + '修改' + data.updCount + '条数据。
' + data.pushMsg + '
', + duration: 5000, + showClose: true, + dangerouslyUseHTMLString: true, + type: 'success' + }) + } this.dialogFormDaoru = false this.getList() } diff --git a/src/views/PersonManager/user/components/view.vue b/src/views/PersonManager/user/components/view.vue index d765542..f341d35 100644 --- a/src/views/PersonManager/user/components/view.vue +++ b/src/views/PersonManager/user/components/view.vue @@ -7,8 +7,8 @@

人员信息

- 照片 - + 照片 +
@@ -18,9 +18,9 @@ - 姓名 + 姓名 {{ dataForm.NAME }} - 性别 + 性别 {{ dataForm.SEX === '0' ? '男' : '女' }} @@ -102,6 +102,68 @@ + 是否按期缴纳工伤保险 + {{ formatLabel(dataForm.IS_INJURIES_PAY) }} + 工伤保险有效期 + {{ dataForm.IS_INJURIES_PAY_TIME }} + 工伤保险凭证 + + + + + + + + + + 是否缴纳商业保险 + + {{ formatLabel(dataForm.ISPAY) }} + + 商业保险附件 + + + + + + + + 商业保险单号 + {{ dataForm.ISPAY_NUMBER }} + + + 是否签订劳动合同 + + {{ formatLabel(dataForm.IS_SIGN_LABOR) }} + + 劳动合同附件 + + + + + + + + + 是否参加三级安全培训 {{ formatLabel(dataForm.IS_LEVEL_THREE) }} 三级安全培训照片 @@ -125,7 +187,7 @@ 是否特殊工种 {{ formatLabel(dataForm.IS_SPECIAL_JOB) }} 是否流动人员 - {{ formatLabel(dataForm.ISFLOW) }} + {{ formatLabel(dataForm.ISFLOW) }}
@@ -246,11 +308,11 @@ export default { this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH } this.photosOfLevel = data.photosOfLevel - // this.insuranceFileList = data.insuranceFile - // this.contractFileList = data.contractFile + this.insuranceFileList = data.insuranceFile + this.contractFileList = data.contractFile this.userCardIDPhotoFile = data.userCardIDPhotoFile this.socialPhotoFile = data.socialPhotoFile - // this.gongshangbaoxianFile = data.gongshangbaoxianFile + this.gongshangbaoxianFile = data.gongshangbaoxianFile }).catch((e) => { this.listLoading = false }) diff --git a/src/views/PersonManager/userCenter/components/add.vue b/src/views/PersonManager/userCenter/components/add.vue new file mode 100644 index 0000000..2e3249b --- /dev/null +++ b/src/views/PersonManager/userCenter/components/add.vue @@ -0,0 +1,1530 @@ + + + + + + diff --git a/src/views/PersonManager/userCenter/components/edit.vue b/src/views/PersonManager/userCenter/components/edit.vue new file mode 100644 index 0000000..f4d3140 --- /dev/null +++ b/src/views/PersonManager/userCenter/components/edit.vue @@ -0,0 +1,1747 @@ + + + + + + diff --git a/src/views/PersonManager/userCenter/components/list.vue b/src/views/PersonManager/userCenter/components/list.vue new file mode 100644 index 0000000..80a194e --- /dev/null +++ b/src/views/PersonManager/userCenter/components/list.vue @@ -0,0 +1,1006 @@ + + + + + + + diff --git a/src/views/PersonManager/userCenter/components/view.vue b/src/views/PersonManager/userCenter/components/view.vue new file mode 100644 index 0000000..f341d35 --- /dev/null +++ b/src/views/PersonManager/userCenter/components/view.vue @@ -0,0 +1,326 @@ + + + + + diff --git a/src/views/PersonManager/userCenter/index.vue b/src/views/PersonManager/userCenter/index.vue new file mode 100644 index 0000000..49fc989 --- /dev/null +++ b/src/views/PersonManager/userCenter/index.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/views/corpinfo/edit/components/corpInfoEdit.vue b/src/views/corpinfo/edit/components/corpInfoEdit.vue index 993f11c..1381e67 100644 --- a/src/views/corpinfo/edit/components/corpInfoEdit.vue +++ b/src/views/corpinfo/edit/components/corpInfoEdit.vue @@ -41,16 +41,23 @@ - + />--> + + + @@ -62,7 +69,7 @@ - + @@ -85,6 +92,7 @@ v-model="dataForm.POSSESSION" :options="areaList" :props="areaProps" + :append-to-body="false" :placeholder="dataForm.COMPANY_AREA" style="width: 100%" @change="cascaderChange" @@ -184,7 +192,7 @@
- + @@ -496,7 +504,7 @@ export default { corpName: '', AUDIT_STATE: '', dataForm: { - MAIN_DEPARTMENT: '', + MAIN_DEPARTMENT: null, businessLicenseDate: [], STATE: '', SUPERVISE_CORPINFO_DEPT_NAME: '', @@ -684,11 +692,11 @@ export default { ], TOTAL_ASSETS: [ { required: true, message: '资产总额不能为空', trigger: 'blur' }, - { min: 1, max: 5, message: '请正确的资产总额', trigger: 'blur' } + { min: 1, max: 15, message: '请正确的资产总额', trigger: 'blur' } ], REGISTERED_CAPITAL: [ { required: true, message: '注册资金不能为空', trigger: 'blur' }, - { min: 1, max: 5, message: '请正确的注册资金', trigger: 'blur' } + { min: 1, max: 15, message: '请正确的注册资金', trigger: 'blur' } ], EMPLOYMENT_FORM: [{ required: true, message: '请选择用工形式', trigger: 'blur' }], SELECT_FORMS: [{ required: true, message: '请选择选取形式', trigger: 'blur' }] @@ -760,7 +768,7 @@ export default { spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.7)' }) - await this.getTreeList() + // await this.getTreeList() await this.getDict() await this.getData() loading.close() @@ -844,6 +852,11 @@ export default { {} ).then((data) => { this.treeData = JSON.parse(data.zTreeNodes) + this.treeData.push({ + id: '0', + name: '无', + nodes: [] + }) resolve() }).catch((e) => { reject() @@ -877,6 +890,7 @@ export default { this.dataForm.businessLicenseDate = [] this.dataForm.businessLicenseDate.push(this.dataForm.LICENSE_START) this.dataForm.businessLicenseDate.push(this.dataForm.LICENSE_END) + this.dataForm.USER_NAME = this.dataForm.USER_NAME ? this.dataForm.USER_NAME : this.dataForm.USER_NAME_B this.$forceUpdate() // 将对象中的 选取形式 转为数组以多选形式展现 2023-08-31 转换开始 if (this.dataForm.SELECT_FORM) { @@ -895,37 +909,16 @@ export default { if (data.pd.CITY != '') this.dataForm.POSSESSION.push(data.pd.CITY) if (data.pd.COUNTY != '') this.dataForm.POSSESSION.push(data.pd.COUNTY) if (data.pd.VILLAGE != '') this.dataForm.POSSESSION.push(data.pd.VILLAGE) - // console.info(this.dataForm.POSSESSION) - // this.areaList = data.areaList this.AUDIT_STATE = this.dataForm.STATE - console.log('this.employmentTypeList') - console.log(this.employmentTypeList) - /* const node = {} - node.id = this.form.EMPLOYMENT_FORM - this.$refs.deptTree_Select.clearHandle() - this.$nextTick(() => { // 此处使用这个可以等节点渲染后再获取节点 - this.$refs.deptTree_Select.handleNodeClick(node) - } )*/ - this.$forceUpdate() - // if (data.pd.STREET != '') this.dataForm.POSSESSION.push(data.pd.STREET) - /* this.OLDFOURTYPE = data.pd.FOURTYPE - this.form = Object.assign(this.form, data.pd) - // 国民经济行业分类 - if (data.pd.industryOption && data.pd.industryOption.length > 0) { - this.hylxList = data.pd.industryOption + if (this.dataForm.MAIN_DEPARTMENT.indexOf('[') > -1) { + this.dataForm.MAIN_DEPARTMENT = JSON.parse(this.dataForm.MAIN_DEPARTMENT) } else { - this.getDictByDicId('f2598ba72e864eadabf0ca4b664d26b9').then(data => { - this.hylxList = data - }) + this.dataForm.MAIN_DEPARTMENT = [this.dataForm.MAIN_DEPARTMENT] } - // 主管部门监管部门 - if (data.dep) { - this.mainDepartment = data.dep.MAIN_REGULATORY_DEPARTMENT_NAME - this.regulatoryDepartment = data.dep.REGULATORY_DEPARTMENT_NAME - } - console.log('this.form', this.form) */ + this.$forceUpdate() resolve() }).catch((e) => { + console.log(e) this.$message({ message: '操作失败', type: 'error' @@ -936,9 +929,6 @@ export default { }) }, getNextTickData() { - // this.$nextTick(() => { - // this.$refs.ecoCascader.presentText = this.censusRegisterPlaceName - // }) if (this.form.CORP_OF_TYPE2 && this.form.CORP_OF_TYPE2 != '') { const node = {} node.id = this.form.CORP_OF_TYPE2 @@ -952,11 +942,6 @@ export default { this.$refs.corpOfTypeRef.handleNodeClick(node) }) } - // const nodea = {} - // nodea.id = this.form.TRAINTYPE - // this.$nextTick(() => { // 此处使用这个可以等节点渲染后再获取节点 - // this.$refs.keyHyRef.handleNodeClick(nodea) - // }) this.$forceUpdate() }, /** 上级企业选择 Begin */ @@ -1039,6 +1024,7 @@ export default { this.dataForm.SELECT_FORM = this.dataForm.SELECT_FORMS.join(',') this.dataForm.LICENSE_START = this.dataForm.businessLicenseDate[0] this.dataForm.LICENSE_END = this.dataForm.businessLicenseDate[1] + this.dataForm.MAIN_DEPARTMENT = JSON.stringify(this.dataForm.MAIN_DEPARTMENT) // 存入对象结束 const formData = new FormData() Object.keys(this.dataForm).map(key => { diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue index 5e04581..4a01cd2 100644 --- a/src/views/system/dept/index.vue +++ b/src/views/system/dept/index.vue @@ -16,11 +16,6 @@ @node-click="handleNodeClick"/> - - - @@ -386,6 +364,7 @@ export default { } ).then((data) => { this.form = Object.assign({}, data.pd) // copy obj + this.form.DEPT_SORT = Number(this.form.DEPT_SORT) this.pds = data.pds || [] // 父级部门信息 this.dialogFormAdd = true diff --git a/src/views/train/cardOverdue/components/corpUserList.vue b/src/views/train/cardOverdue/components/corpUserList.vue new file mode 100644 index 0000000..dcdd522 --- /dev/null +++ b/src/views/train/cardOverdue/components/corpUserList.vue @@ -0,0 +1,521 @@ + + + diff --git a/src/views/train/cardOverdue/index.vue b/src/views/train/cardOverdue/index.vue new file mode 100644 index 0000000..22956bb --- /dev/null +++ b/src/views/train/cardOverdue/index.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/views/train/flow/components/list.vue b/src/views/train/flow/components/list.vue index cf2631d..167fe59 100644 --- a/src/views/train/flow/components/list.vue +++ b/src/views/train/flow/components/list.vue @@ -45,12 +45,10 @@ - + diff --git a/src/views/train/repulse/components/QRCode.vue b/src/views/train/repulse/components/QRCode.vue new file mode 100644 index 0000000..297e138 --- /dev/null +++ b/src/views/train/repulse/components/QRCode.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/views/train/repulse/components/apply.vue b/src/views/train/repulse/components/apply.vue new file mode 100644 index 0000000..199811d --- /dev/null +++ b/src/views/train/repulse/components/apply.vue @@ -0,0 +1,320 @@ + + + diff --git a/src/views/train/repulse/components/list.vue b/src/views/train/repulse/components/list.vue new file mode 100644 index 0000000..17afa75 --- /dev/null +++ b/src/views/train/repulse/components/list.vue @@ -0,0 +1,269 @@ + + + + diff --git a/src/views/train/repulse/components/picture.vue b/src/views/train/repulse/components/picture.vue new file mode 100644 index 0000000..57e7255 --- /dev/null +++ b/src/views/train/repulse/components/picture.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/views/train/repulse/components/record.vue b/src/views/train/repulse/components/record.vue new file mode 100644 index 0000000..e82258d --- /dev/null +++ b/src/views/train/repulse/components/record.vue @@ -0,0 +1,198 @@ + + + + diff --git a/src/views/train/repulse/components/sendUtil.vue b/src/views/train/repulse/components/sendUtil.vue new file mode 100644 index 0000000..0ab923d --- /dev/null +++ b/src/views/train/repulse/components/sendUtil.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/views/train/repulse/components/user.vue b/src/views/train/repulse/components/user.vue new file mode 100644 index 0000000..889dc08 --- /dev/null +++ b/src/views/train/repulse/components/user.vue @@ -0,0 +1,250 @@ + + + + + diff --git a/src/views/train/repulse/components/users.vue b/src/views/train/repulse/components/users.vue new file mode 100644 index 0000000..2d11653 --- /dev/null +++ b/src/views/train/repulse/components/users.vue @@ -0,0 +1,513 @@ + + + diff --git a/src/views/train/repulse/index.vue b/src/views/train/repulse/index.vue new file mode 100644 index 0000000..70cda6e --- /dev/null +++ b/src/views/train/repulse/index.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/views/train/synInfo/components/list.vue b/src/views/train/synInfo/components/list.vue index 01a8f19..6a06354 100644 --- a/src/views/train/synInfo/components/list.vue +++ b/src/views/train/synInfo/components/list.vue @@ -7,6 +7,13 @@ + + + + + + + @@ -25,6 +32,11 @@
+ + +
温馨提示:用户要上传身份证正反面(身份证照片数量是2张), 才能进行人员培训
+
+
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +