pengjun 4 days ago
parent
commit
45585da2f7
  1. 4
      src/views/basic-dictionary/ThirdPartyInterfaces.vue
  2. 429
      src/views/customerOrg/BusReservationImport.vue

4
src/views/basic-dictionary/ThirdPartyInterfaces.vue

@ -287,6 +287,10 @@ export default {
.then(res => {
if (res.code > -1) {
this.thirdInterfaceType = res.data
this.thirdInterfaceType.forEach(e => {
e.id = e.interfaceFlagCode
e.displayName = e.interfaceFlagName
});
}
})
},

429
src/views/customerOrg/BusReservationImport.vue

@ -8,8 +8,7 @@
<span class="contenttitleBold">公交预约导入</span>
</div>
</div>
<div
style="
<div style="
margin-bottom: 15px;
display: flex;
justify-content: space-between;
@ -17,200 +16,36 @@
border-radius: 8px;
padding: 15px;
margin-top: 7px;
"
>
">
<div></div>
<div style="display: flex">
<div style="padding: 0 5px">
<a
:underline="false"
href="/files/公交集团预约人员名单导入模板.xlsx"
><el-button class="commonbutton" size="small"
>下载导入模版</el-button
></a
>
<a :underline="false" href="/files/公交集团预约人员名单导入模板.xlsx"><el-button class="commonbutton"
size="small">下载导入模版</el-button></a>
</div>
<div style="padding: 0 5px">
<el-button class="commonbutton" @click="binImpoet" size="small"
>导入</el-button
>
<el-button class="commonbutton" @click="binImpoet" size="small">导入</el-button>
</div>
<div style="padding: 0 5px">
<el-button
class="commonbutton"
@click="btnExport('tableData')"
size="small"
style="width: 140px"
>导入后结果状态导出</el-button
>
<el-button class="commonbutton" @click="btnExport('tableData')" size="small"
style="width: 140px">导入后结果状态导出</el-button>
</div>
</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"
: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"
/>
<el-table-column
prop="importState"
label="导入状态"
min-width="80"
sortable
/>
<el-table-column
prop="importDes"
label="导入描述"
min-width="180"
sortable
/>
<el-table-column
v-for="(item, index) in importCols"
:key="`col${index}`"
:prop="item.dispLabel"
align="center"
:label="item.dataLabel || item.dispLabel"
min-width="100"
/>
<div id="tableData" style="padding: 15px; background-color: #fff; border-radius: 8px">
<el-table :data="tableData" v-if="mode == '10'" :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" />
<el-table-column prop="importState" label="导入状态" min-width="80" sortable />
<el-table-column prop="importDes" label="导入描述" min-width="180" sortable />
<el-table-column v-for="(item, index) in importCols" :key="`col${index}`" :prop="item.dispLabel"
align="center" :label="item.dataLabel || item.dispLabel" min-width="100" />
</el-table>
<el-table
:data="tableData"
border
v-if="mode == '20'"
: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"
/>
<el-table-column
prop="importState"
label="导入状态"
min-width="80"
sortable
/>
<el-table-column
prop="importDes"
label="导入描述"
min-width="180"
sortable
/>
<el-table-column
prop="patientNo"
align="center"
label="档案号"
min-width="80"
/>
<el-table-column
prop="medicalTimes"
align="center"
label="体检次数"
min-width="80"
/>
<el-table-column
prop="patientName"
align="center"
label="姓名"
min-width="80"
/>
<el-table-column
prop="sexId"
align="center"
label="性别"
min-width="40"
>
<template slot-scope="scope">
<div>
{{ dddw(dict.sex, "id", scope.row.sexId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column
prop="age"
align="center"
label="年龄"
min-width="40"
/>
<el-table-column
prop="customerOrgParentName"
align="center"
label="单位"
min-width="150"
/>
<el-table-column
prop="customerOrgName"
align="center"
label="部门"
min-width="120"
/>
<el-table-column
prop="telephone"
align="center"
label="电话"
min-width="100"
/>
<el-table-column
prop="mobileTelephone"
align="center"
label="手机"
min-width="100"
/>
<el-table-column
prop="creatorName"
align="center"
label="登记人员"
min-width="80"
/>
<el-table-column
prop="creationTime"
align="center"
label="登记日期"
min-width="80"
>
<template slot-scope="scope">
<div>
{{
scope.row.birthDate
? moment(new Date(scope.row.creationTime)).format(
"yyyy-MM-DD"
)
: ""
}}
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<el-dialog
title="导入EXCEL注意事项"
:visible.sync="dialogGroup.fileReadme"
width="700px"
:show-close="false"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="导入EXCEL注意事项" :visible.sync="dialogGroup.fileReadme" width="700px" :show-close="false"
:append-to-body="true" :close-on-click-modal="false">
<div style="height: 400px; padding: 0 20px">
<br />导入Excel时Excel的格式必须符合一定规范该格式的模板文件可通过下载模板获取
<br />注意事项如下:
@ -223,87 +58,38 @@
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button
class="commonbutton"
type="primary"
@click="nextStep('fileReadme', 'fileChoose')"
>下一步</el-button
>
<el-button class="commonbutton" type="primary" @click="nextStep('fileReadme', 'fileChoose')">下一步</el-button>
<el-button class="commonbutton" @click="dialogClose">关闭</el-button>
</span>
</el-dialog>
<el-dialog
title="选择文件"
:visible.sync="dialogGroup.fileChoose"
width="700px"
:show-close="false"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="选择文件" :visible.sync="dialogGroup.fileChoose" width="700px" :show-close="false"
:append-to-body="true" :close-on-click-modal="false">
<div style="height: 400px; padding: 0 50px">
<!-- webkitdirectory 选择文件属性 multiple 多选属性-->
<div>
<input
id="fileNames"
type="file"
accept=".xlsx,.xls"
@change="changeFileChoose"
@focus="fileGetFocus"
/>
<input id="fileNames" type="file" accept=".xlsx,.xls" @change="changeFileChoose" @focus="fileGetFocus" />
</div>
<div style="margin: 5px 70px; width: 240px">
<el-table
:data="sheetNames"
border
ref="sheetNames"
height="300"
row-click="chooseSheetName"
highlight-current-row
size="small"
>
<el-table-column
prop="sheetName"
label="Excel表单名"
min-width="200"
align="center"
/>
<el-table :data="sheetNames" border ref="sheetNames" height="300" row-click="chooseSheetName"
highlight-current-row size="small">
<el-table-column prop="sheetName" label="Excel表单名" min-width="200" align="center" />
</el-table>
</div>
<div style="display: flex; flex-wrap: wrap">
<span style="margin-top: 6px">标题行 </span>
<el-input
type="number"
v-model="readDataOpts.titleRow"
size="small"
style="width: 60px; margin: 0 5px"
/>
<el-input type="number" v-model="readDataOpts.titleRow" size="small" style="width: 60px; margin: 0 5px" />
<span style="margin-top: 6px"></span>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button
class="commonbutton"
type="primary"
@click="nextStep('fileChoose', 'fileReadme')"
>上一步</el-button
>
<el-button
class="commonbutton"
type="primary"
@click="nextStep('fileChoose', 'fileDataOpr')"
>下一步</el-button
>
<el-button class="commonbutton" type="primary" @click="nextStep('fileChoose', 'fileReadme')">上一步</el-button>
<el-button class="commonbutton" type="primary" @click="nextStep('fileChoose', 'fileDataOpr')">下一步</el-button>
<el-button class="commonbutton" @click="dialogClose">关闭</el-button>
</span>
</el-dialog>
<el-dialog
title="选择待导入的客户信息"
:visible.sync="dialogGroup.fileDataOpr"
width="700px"
:show-close="false"
:close-on-click-modal="false"
>
<el-dialog title="选择待导入的客户信息" :visible.sync="dialogGroup.fileDataOpr" width="700px" :show-close="false"
:close-on-click-modal="false">
<!--:append-to-body="true" -->
<div style="height: 400px">
<div style="margin-top: -10px">
@ -313,160 +99,70 @@
</div>
<div style="margin: 5px 0px 0px" @contextmenu.prevent="">
<!-- -->
<el-table
:data="excelData"
border
ref="excelData"
height="340"
@row-click="chooseDataImport"
row-key="id"
highlight-current-row
size="small"
:row-class-name="handleRowClassName"
>
<el-table-column
type="index"
align="center"
label="序号"
min-width="40"
/>
<el-table :data="excelData" border ref="excelData" height="340" @row-click="chooseDataImport" row-key="id"
highlight-current-row size="small" :row-class-name="handleRowClassName">
<el-table-column type="index" align="center" label="序号" min-width="40" />
<!--
<el-table-column prop="choosed" align="center" label="选中" min-width="40"/>
-->
<el-table-column
v-for="(item, index) in excelCols"
:key="`col_${index}`"
:prop="item.dispLabel"
align="center"
:label="
(item.val ? '√ ' : '') + (item.dataLabel || item.dispLabel)
"
:min-width="100 + index"
/>
<el-table-column v-for="(item, index) in excelCols" :key="`col_${index}`" :prop="item.dispLabel"
align="center" :label="(item.val ? '√ ' : '') + (item.dataLabel || item.dispLabel)
" :min-width="100 + index" />
</el-table>
</div>
</div>
<span slot="footer" class="dialog-footer">
<div style="display: flex; justify-content: space-between">
<div style="display: flex">
<el-button
class="commonbutton"
type="primary"
@click="btnChoose('excelData', 'all')"
>全选</el-button
>
<el-button
class="commonbutton"
type="primary"
@click="btnChoose('excelData')"
>取消全选</el-button
>
<el-button class="commonbutton" type="primary" @click="btnChoose('excelData', 'all')">全选</el-button>
<el-button class="commonbutton" type="primary" @click="btnChoose('excelData')">取消全选</el-button>
</div>
<div style="display: flex">
<el-button
class="commonbutton"
type="primary"
@click="nextStep('fileDataOpr', 'fileChoose')"
>上一步</el-button
>
<el-button
class="commonbutton"
type="primary"
@click="nextStep('fileDataOpr', 'fileDataOpts')"
>下一步</el-button
>
<el-button class="commonbutton" @click="dialogClose"
>关闭</el-button
>
<el-button class="commonbutton" type="primary"
@click="nextStep('fileDataOpr', 'fileChoose')">上一步</el-button>
<el-button class="commonbutton" type="primary"
@click="nextStep('fileDataOpr', 'fileDataOpts')">下一步</el-button>
<el-button class="commonbutton" @click="dialogClose">关闭</el-button>
</div>
</div>
</span>
</el-dialog>
<el-dialog
title="选择单位"
:visible.sync="dialogGroup.fileDataOpts"
width="700px"
:show-close="false"
:close-on-click-modal="false"
>
<el-dialog title="选择单位" :visible.sync="dialogGroup.fileDataOpts" width="700px" :show-close="false"
:close-on-click-modal="false">
<!--:append-to-body="true" -->
<div style="display: flex; flex-wrap: wrap; margin-bottom: 40px">
<div style="display: flex; align-items: center">
<span>单位分组</span>
<el-select
v-model="CustomerOrgGroup"
placeholder="单位分组"
style="width: 150px"
size="small"
value-key="id"
>
<el-option
v-for="item in CustomerOrgGroupList"
:key="item.id"
:label="item.displayName"
:value="item.id"
/>
<el-select v-model="CustomerOrgGroup" placeholder="单位分组" style="width: 150px" size="small" value-key="id">
<el-option v-for="item in CustomerOrgGroupList" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div style="margin-left: 10px; display: flex; align-items: center">
<span>体检中心</span>
<el-select
v-model="thirdMedicalCenter"
placeholder="体检中心"
style="width: 150px"
size="small"
value-key="id"
@change="changeThirdMedicalCenter"
>
<el-option
v-for="item in thirdMedicalCenterList"
:key="item.id"
:label="item.displayName"
:value="item.id"
/>
<el-select v-model="thirdMedicalCenter" placeholder="体检中心" style="width: 150px" size="small" value-key="id"
@change="changeThirdMedicalCenter">
<el-option v-for="item in thirdMedicalCenterList" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
</div>
<div style="margin-left: 10px; display: flex; align-items: center">
<span>预约日期</span>
<el-select
v-model="ThirdMedicalCenterBookingDate"
placeholder="预约日期"
style="width: 150px"
size="small"
value-key="id"
>
<el-option
v-for="item in ThirdMedicalCenterBookingDateList"
:key="item.id"
:label="item.bookingDate"
:value="item.bookingDate"
/>
<el-select v-model="ThirdMedicalCenterBookingDate" placeholder="预约日期" style="width: 150px" size="small"
value-key="id">
<el-option v-for="item in ThirdMedicalCenterBookingDateList" :key="item.id" :label="item.bookingDate"
:value="item.bookingDate" />
</el-select>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button
class="commonbutton"
type="primary"
@click="nextStep('fileDataOpts', 'fileDataOpr')"
>上一步</el-button
>
<el-button class="commonbutton" type="primary" @click="btnImport"
>确定导入</el-button
>
<el-button class="commonbutton" type="primary" @click="nextStep('fileDataOpts', 'fileDataOpr')">上一步</el-button>
<el-button class="commonbutton" type="primary" @click="btnImport">确定导入</el-button>
<el-button class="commonbutton" @click="dialogClose">关闭</el-button>
</span>
</el-dialog>
<!-- 通用进度条 -->
<el-dialog
title="数据处理中……"
:visible.sync="elProgress.display"
width="700px"
height="400"
:show-close="false"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="数据处理中……" :visible.sync="elProgress.display" width="700px" height="400" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<ElProgressOCX />
</el-dialog>
</div>
@ -519,12 +215,17 @@ export default {
{ dispLabel: "性别", val: "sexName" },
{ dispLabel: "年龄", val: "age" },
{ dispLabel: "电话", val: "phone" },
{ dispLabel: "分公司", val: "childCompanyName" },
{ dispLabel: "子公司", val: "childCompanyName" },
{ dispLabel: "分公司名称", val: "branchCompany" },
{ dispLabel: "部门", val: "departmentName" },
{ dispLabel: "岗位", val: "positionName" },
{ dispLabel: "岗位名称", val: "position2" },
{ dispLabel: "在职", val: "empStatus" },
{ dispLabel: "婚姻状况", val: "maritalStatus" },
{ dispLabel: "在职", val: "empStatus" },
{ dispLabel: "婚姻状况", val: "maritalStatus" },
],
startPoint: -1, // -1
endPoint: -1, // -1
CustomerOrgGroupList: [],

Loading…
Cancel
Save