|
|
|
@ -16,6 +16,10 @@ |
|
|
|
<a :underline="false" href="/files/单位体检人员名单导入模板.xlsx"><el-button class="commonbutton" |
|
|
|
size="small">下载导入模版</el-button></a> |
|
|
|
</div> |
|
|
|
<div style="padding: 0 5px;" v-show="checkPagePriv(pagePriv.privs, '下载职业病导入模版')"> |
|
|
|
<a :underline="false" href="/files/职业病体检人员名单导入模板.xlsx"><el-button class="commonbutton" |
|
|
|
size="small" style="width:140px;">下载职业病导入模版</el-button></a> |
|
|
|
</div> |
|
|
|
<div style="padding: 0 5px;" v-show="checkPagePriv(pagePriv.privs, '导入')"> |
|
|
|
<el-button class="commonbutton" @click="seq = 0" size="small">导入</el-button> |
|
|
|
</div> |
|
|
|
@ -26,7 +30,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div id="tableData" style="padding: 15px;background-color: #fff;border-radius: 8px;"> |
|
|
|
<el-table :data="tableData" v-if="mode == '10'" :row-class-name="importRowClassName" |
|
|
|
<el-table :data="tableData" v-if="mode == '10' || mode == '30'" :row-class-name="importRowClassName" |
|
|
|
:height="window.pageHeight < 600 ? 440 : (window.pageHeight - 210)" highlight-current-row size="small" |
|
|
|
:summary-method="getSummaries" show-summary> |
|
|
|
<el-table-column type="index" label="序号" width="40" align="center" /> |
|
|
|
@ -76,6 +80,8 @@ |
|
|
|
<div style="height:400px;margin-left: 200px;"> |
|
|
|
<br /><el-radio v-model="mode" label="10">从Excle导入</el-radio> |
|
|
|
<br /> |
|
|
|
<br /><el-radio v-model="mode" label="30">从Excle导入(职业病)</el-radio> |
|
|
|
<br /> |
|
|
|
<br /><el-radio v-model="mode" label="20">从以往体检资料中导入</el-radio> |
|
|
|
</div> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
@ -544,7 +550,7 @@ export default { |
|
|
|
}, |
|
|
|
oldSeq: -2, //旧的步骤(辅助区分上一步,下一步) |
|
|
|
seq: 0, //当前显示窗口 |
|
|
|
mode: '10', //模式 10 开始 文件导入,20开始 从数据库中导入 |
|
|
|
mode: '10', //模式 10 开始 文件导入,20开始 从数据库中导入 ,30 开始职业病 |
|
|
|
excelCols: [{ dispLabel: '', val: '', dataLabel: '' }], //excel数据列名 {dispLabel:'',val:'',dataLabel:''} |
|
|
|
importCols: [], //实际导入的列(即有设置与 dataCols 匹配的列) |
|
|
|
excelData: [], //excel表格数据 |
|
|
|
@ -572,6 +578,9 @@ export default { |
|
|
|
{ dispLabel: '职称', val: 'jobTitle' }, |
|
|
|
{ dispLabel: '人员类别', val: 'personnelTypeName' }, |
|
|
|
{ dispLabel: '体检类别', val: 'medicalTypeName' }, |
|
|
|
{ dispLabel: '工种', val: 'jobType' }, |
|
|
|
{ dispLabel: '检查类别', val: 'ocCheckTypeName' }, |
|
|
|
{ dispLabel: '接害因素', val: 'poisons' }, |
|
|
|
{ dispLabel: '支付方式', val: 'payTypeFlag' }, |
|
|
|
], |
|
|
|
/* |
|
|
|
@ -791,7 +800,7 @@ export default { |
|
|
|
let keys = Object.keys(this.dialogGroup) |
|
|
|
let count = 0 //选中待导入的人员数 |
|
|
|
|
|
|
|
if (seq == 9) { |
|
|
|
if (seq == 9 || seq == 29) { |
|
|
|
this.workBook = null |
|
|
|
this.sheetNameChoosed = '' |
|
|
|
seq = 0 |
|
|
|
@ -824,6 +833,7 @@ export default { |
|
|
|
|
|
|
|
break; |
|
|
|
case 10: |
|
|
|
case 30: |
|
|
|
//显示 EXCEL 导入 |
|
|
|
keys.forEach(e => { |
|
|
|
if (e == 'fileReadme') { |
|
|
|
@ -834,6 +844,7 @@ export default { |
|
|
|
}) |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
case 31: |
|
|
|
//显示 文件选择 窗口 |
|
|
|
keys.forEach(e => { |
|
|
|
if (e == 'fileChoose') { |
|
|
|
@ -844,6 +855,7 @@ export default { |
|
|
|
}) |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
case 32: |
|
|
|
// 从后面退回时,无需读数据 |
|
|
|
if (this.oldSeq < seq) { |
|
|
|
if (!this.readData()) { |
|
|
|
@ -862,6 +874,7 @@ export default { |
|
|
|
}) |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
case 33: |
|
|
|
count = 0 |
|
|
|
this.excelData.forEach(e => { |
|
|
|
if (e.choosed) count++ |
|
|
|
@ -1427,12 +1440,16 @@ export default { |
|
|
|
// case 'birthDate': |
|
|
|
// if(ExcelData[e.dispLabel]) body[e.val] = moment(new Date(ExcelData[e.dispLabel])).format('yyyy-MM-DD') |
|
|
|
// break; |
|
|
|
case 'poisons': |
|
|
|
if (ExcelData[e.dispLabel]) body[e.val] = ExcelData[e.dispLabel].replaceAll(",", ",").split(",") |
|
|
|
break; |
|
|
|
default: |
|
|
|
body[e.val] = ExcelData[e.dispLabel] |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
if(this.seq > 30) body.isOccupationalDisease = 'Y' |
|
|
|
return body |
|
|
|
}, |
|
|
|
|
|
|
|
@ -1751,4 +1768,7 @@ input[type="number"]::-webkit-outer-spin-button { |
|
|
|
-webkit-appearance: button !important; |
|
|
|
margin: 0 -12px 0 0 !important; |
|
|
|
} |
|
|
|
::v-deep .menu_item{ |
|
|
|
line-height: 24px; |
|
|
|
} |
|
|
|
</style> |