luobinjie 4 months ago
parent
commit
5ea0f37af8
  1. 2
      public/sysConfig.json
  2. 4
      src/components/customerOrg/ContactPerson.vue
  3. 20
      src/components/customerOrg/customerOrgEdit.vue
  4. 2
      src/components/customerOrg/customerOrgRegister.vue
  5. 6
      src/components/doctorCheck/PatientRegisterList.vue
  6. 4
      src/components/doctorCheck/QueueCheckList.vue
  7. 2
      src/views/customerOrg/customerOrg.vue
  8. 82
      src/views/fee-settings/cardRegister.vue

2
public/sysConfig.json

@ -1,5 +1,5 @@
{ {
"apiurl": "http://192.168.0.188:9530",
"apiurl": "http://192.168.0.188:9527",
"softName": "神豚体检管理系统", "softName": "神豚体检管理系统",
"pacsApi": "http://192.168.0.188:9530", "pacsApi": "http://192.168.0.188:9530",
"dcmViewers": "https://app.mzaktj.com:4436", "dcmViewers": "https://app.mzaktj.com:4436",

4
src/components/customerOrg/ContactPerson.vue

@ -2,7 +2,7 @@
<div> <div>
<div style="display: flex;"> <div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 200 - 110 - 25) + 'px;'"> <div :style="'width:' + (window.pageWidth - 200 - 110 - 25) + 'px;'">
<el-table :data="contactPersonList" border :height="(window.pageHeight < 600 ? 100 : window.pageHeight - 400) / 2"
<el-table :data="contactPersonList" border :height="(window.pageHeight < 600 ? 77 : window.pageHeight - 446) / 2"
size="small" highlight-current-row @row-click="rowClick" ref="contactPersonList"> size="small" highlight-current-row @row-click="rowClick" ref="contactPersonList">
<el-table-column prop="displayName" label="姓名" min-width="70" align="center" /> <el-table-column prop="displayName" label="姓名" min-width="70" align="center" />
<el-table-column prop="title" label="职务" min-width="70" align="center" /> <el-table-column prop="title" label="职务" min-width="70" align="center" />
@ -25,7 +25,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table :data="contactMethodList" border :height="(window.pageHeight < 600 ? 100 : window.pageHeight - 400) / 2"
<el-table :data="contactMethodList" border :height="(window.pageHeight < 600 ? 77 : window.pageHeight - 446) / 2"
size="small" highlight-current-row ref="contactMethodList"> size="small" highlight-current-row ref="contactMethodList">
<el-table-column prop="contactMethodType" label="类型" width="60" align="center"> <el-table-column prop="contactMethodType" label="类型" width="60" align="center">
<template slot-scope="scope"> <template slot-scope="scope">

20
src/components/customerOrg/customerOrgEdit.vue

@ -145,6 +145,17 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="报告版式" prop="remark">
<el-select v-model="form.reportFormatTemplateId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 585) / 3) + 'px;'" size="small">
<el-option v-for="item in dict.reportFormatTemplate" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input class="enterToTab" v-model="form.remark" maxlength="100" show-word-limit /> <el-input class="enterToTab" v-model="form.remark" maxlength="100" show-word-limit />
</el-form-item> </el-form-item>
@ -234,7 +245,6 @@ export default {
routeUrlorPageName: 'customerOrg', // routeUrlorPageName: 'customerOrg', //
privs: [] // privs: [] //
}, },
customerOrgEditStyle: "height:400px;", customerOrgEditStyle: "height:400px;",
data: { data: {
organizationdata: [], // organizationdata: [], //
@ -269,6 +279,7 @@ export default {
medicalTypeId: '', medicalTypeId: '',
personnelTypeId: '', personnelTypeId: '',
isRecommend: 'N', isRecommend: 'N',
reportFormatTemplateId:'',
}, // }, //
formInit: {}, formInit: {},
rules: { rules: {
@ -355,6 +366,13 @@ export default {
this.data.organizationdata = res.data; this.data.organizationdata = res.data;
}); });
postapi('/api/app/Report/GetReportFormatTemplateByReportId',{id:'0005'}).then(res => {
if(res.code > -1){
this.dict.reportFormatTemplate = res.data
}
})
// //
getapi("/api/app/customer-org-type/get-all").then((res) => { getapi("/api/app/customer-org-type/get-all").then((res) => {
this.data.customerOrgType = res.data; this.data.customerOrgType = res.data;

2
src/components/customerOrg/customerOrgRegister.vue

@ -2,7 +2,7 @@
<div style="display: flex;"> <div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 200 - 110 - 25) + 'px;'"> <div :style="'width:' + (window.pageWidth - 200 - 110 - 25) + 'px;'">
<el-table :data="customerOrg.customerOrgRegisterList" border <el-table :data="customerOrg.customerOrgRegisterList" border
:height="window.pageHeight < 600 ? 200 : window.pageHeight - 400" size="small" highlight-current-row
:height="window.pageHeight < 600 ? 155 : window.pageHeight - 445" size="small" highlight-current-row
@row-click="rowClick" ref="customerOrg.customerOrgRegisterList"> @row-click="rowClick" ref="customerOrg.customerOrgRegisterList">
<el-table-column prop="id" label="编号" width="300" align="center" /> <el-table-column prop="id" label="编号" width="300" align="center" />
<el-table-column prop="isQuestion" width="70" align="center"> <el-table-column prop="isQuestion" width="70" align="center">

6
src/components/doctorCheck/PatientRegisterList.vue

@ -101,8 +101,8 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="patientName" label="姓名" width="80" sortable align="center" show-overflow-tooltip/> <el-table-column prop="patientName" label="姓名" width="80" sortable align="center" show-overflow-tooltip/>
<el-table-column prop="sexName" label="性别" sortable align="center" />
<el-table-column prop="age" label="年龄" width="40" align="center" />
<el-table-column prop="sexName" label="性别" width="50" sortable align="center" />
<el-table-column prop="age" label="年龄" width="50" align="center" sortable/>
<el-table-column prop="customerOrgName" label="部门" width="100" sortable show-overflow-tooltip> <el-table-column prop="customerOrgName" label="部门" width="100" sortable show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div> <div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>
@ -122,7 +122,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="nationName" label="民族" sortable align="center" show-overflow-tooltip/> <el-table-column prop="nationName" label="民族" sortable align="center" show-overflow-tooltip/>
<el-table-column prop="idNo" label="身份证" sortable width="180" align="center" show-overflow-tooltip/>
<el-table-column prop="idNo" label="身份证" sortable width="160" align="center" show-overflow-tooltip/>
<el-table-column prop="birthDate" label="出生日期" align="center" width="100"> <el-table-column prop="birthDate" label="出生日期" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.birthDate"> <div v-if="scope.row.birthDate">

4
src/components/doctorCheck/QueueCheckList.vue

@ -423,6 +423,7 @@ export default {
RepatPlayNum: this.queue_play_voice_repeate_times, RepatPlayNum: this.queue_play_voice_repeate_times,
Delay: this.queue_play_voice_repeate_interval, Delay: this.queue_play_voice_repeate_interval,
}; };
console.log("叫号 this.$peisAPI.speechSendText",toOutShell)
return this.$peisAPI.speechSendText(JSON.stringify(toOutShell)); return this.$peisAPI.speechSendText(JSON.stringify(toOutShell));
}) })
.catch((err) => { .catch((err) => {
@ -563,6 +564,7 @@ export default {
this.waitRow = row; this.waitRow = row;
this.queueParams = { this.queueParams = {
patientRegisterId: row.patientRegisterId, patientRegisterId: row.patientRegisterId,
patientName:row.patientName
}; };
}, },
@ -571,6 +573,7 @@ export default {
this.alreadyRow = row; this.alreadyRow = row;
this.queueParams = { this.queueParams = {
patientRegisterId: row.patientRegisterId, patientRegisterId: row.patientRegisterId,
patientName:row.patientName
}; };
}, },
@ -583,6 +586,7 @@ export default {
rClick(row, column, event) { rClick(row, column, event) {
this.queueParams = { this.queueParams = {
patientRegisterId: row.patientRegisterId, patientRegisterId: row.patientRegisterId,
patientName:row.patientName,
state: row.state, state: row.state,
queueRegisterId: row.queueRegisterId queueRegisterId: row.queueRegisterId
}; };

2
src/views/customerOrg/customerOrg.vue

@ -11,7 +11,7 @@
</div> </div>
<div> <div>
<!-- 单位详情 录入与编辑 --> <!-- 单位详情 录入与编辑 -->
<div style="height:270px;">
<div style="height:315px;">
<CustomerOrgEdit :id="customerOrg.customerOrgRd.id" /> <CustomerOrgEdit :id="customerOrg.customerOrgRd.id" />
</div> </div>
<!-- 体检次数 联系人 --> <!-- 体检次数 联系人 -->

82
src/views/fee-settings/cardRegister.vue

@ -217,7 +217,7 @@
<el-button class="commonbutton" @click="refund">退费</el-button> <el-button class="commonbutton" @click="refund">退费</el-button>
</div> </div>
<div style="margin-top: 10px"> <div style="margin-top: 10px">
<a :underline="false" href="/files/单位体检人员名单导入模板.xlsx">
<a :underline="false" href="/files/会员卡导入模板.xls">
<el-button class="commonbutton" style="font-size: 12px">下载建卡模板</el-button> <el-button class="commonbutton" style="font-size: 12px">下载建卡模板</el-button>
</a> </a>
</div> </div>
@ -483,12 +483,41 @@
</div> </div>
</span> </span>
</el-dialog> </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">
<ElProgressOCX />
</el-dialog>
<!--导入状态导出-->
<div v-show="false" id="tableExport">
<el-table :data="tableData" width="100%" row-key="cardNo" border>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="importState" label="导入状态" align="center" />
<el-table-column prop="importDes" label="失败原因" align="center" />
<el-table-column prop="cardTypeName" label="卡类别" align="center" />
<el-table-column prop="cardNo" label="会员卡号" align="center" />
<el-table-column prop="discount" label="折扣率" align="center" />
<el-table-column prop="cardBalance" label="初始金额" align="center" />
<el-table-column prop="payModeName" label="充值方式" align="center" />
<el-table-column prop="expiryDate" label="有效期限" align="center" />
<el-table-column prop="customerName" label="卡主姓名" align="center" />
<el-table-column prop="idNo" label="卡主身份证号" align="center" />
<el-table-column prop="telephone" label="卡主电话" align="center" />
<el-table-column prop="mobileTelephone" label="卡主手机号" align="center" />
<el-table-column prop="remark" label="备注" align="center" />
</el-table>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import moment from "moment"; import moment from "moment";
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import FileSaver from "file-saver";
import { read, readFile, utils } from "xlsx"; import { read, readFile, utils } from "xlsx";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { import {
@ -641,11 +670,11 @@ export default {
dataCols: [ dataCols: [
{ dispLabel: "不设置", val: "" }, { dispLabel: "不设置", val: "" },
{ dispLabel: "卡类别", val: "cardTypeId" },
{ dispLabel: "卡类别", val: "cardTypeName" },
{ dispLabel: "会员卡号", val: "cardNo" }, { dispLabel: "会员卡号", val: "cardNo" },
{ dispLabel: "折扣率", val: "discount" }, { dispLabel: "折扣率", val: "discount" },
{ dispLabel: "初始金额", val: "cardBalance" }, { dispLabel: "初始金额", val: "cardBalance" },
{ dispLabel: "充值方式", val: "payMode" },
{ dispLabel: "充值方式", val: "payModeName" },
{ dispLabel: "有效期限", val: "expiryDate" }, { dispLabel: "有效期限", val: "expiryDate" },
{ dispLabel: "卡主姓名", val: "customerName" }, { dispLabel: "卡主姓名", val: "customerName" },
{ dispLabel: "卡主身份证号", val: "idNo" }, { dispLabel: "卡主身份证号", val: "idNo" },
@ -655,6 +684,7 @@ export default {
//{ dispLabel: '', val: 'payTypeFlag' }, //{ dispLabel: '', val: 'payTypeFlag' },
], ],
workBook: null, //EXCEL workBook: null, //EXCEL
sheetNames: [], //EXCEL {sheetName:} sheetNames: [], //EXCEL {sheetName:}
readDataOpts: { readDataOpts: {
@ -667,6 +697,7 @@ export default {
startRow: 0, // excelData startRow: 0, // excelData
}, },
dataImportOptsInit: {}, dataImportOptsInit: {},
tableData: [], //
jsonFields: { jsonFields: {
卡类别: "cardTypeId", 卡类别: "cardTypeId",
@ -761,6 +792,7 @@ export default {
"会员卡列表" + moment(new Date()).format("yyyyMMDDHHmmss") + ".xls"; "会员卡列表" + moment(new Date()).format("yyyyMMDDHHmmss") + ".xls";
return tableDatas; return tableDatas;
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
}, },
@ -1121,9 +1153,6 @@ export default {
// -- // --
btnImportCardOK() { btnImportCardOK() {
this.elProgress.display = true;
this.elProgress.percentage = 0;
this.importCols = [] this.importCols = []
this.excelCols.forEach(e => { this.excelCols.forEach(e => {
if (e.val) { if (e.val) {
@ -1136,10 +1165,19 @@ export default {
if (e.choosed) this.choosedData.push(e) if (e.choosed) this.choosedData.push(e)
}); });
if (this.choosedData.length == 0) {
this.$message.warning({ showClose: true, message: '请选中要导入的记录' })
return
} else {
this.elProgress.display = true;
this.elProgress.percentage = 0;
// //
this.importing(this.dataImportOpts.startRow) this.importing(this.dataImportOpts.startRow)
// //
document.getElementById('fileNames').value = ''; document.getElementById('fileNames').value = '';
}
}, },
// //
@ -1499,6 +1537,9 @@ export default {
async importing(startRow) { async importing(startRow) {
let body = {}; let body = {};
let medicalCenterId = window.sessionStorage.getItem('peisid')
for (let i = startRow; i < this.choosedData.length; i++) { for (let i = startRow; i < this.choosedData.length; i++) {
this.elProgress.percentage = Math.floor( this.elProgress.percentage = Math.floor(
((i + 1) * 100) / this.choosedData.length ((i + 1) * 100) / this.choosedData.length
@ -1506,14 +1547,14 @@ export default {
// Excel // Excel
body = this.excelDataToApiBody(this.choosedData[i]); body = this.excelDataToApiBody(this.choosedData[i]);
body.medicalCenterId = medicalCenterId
console.log(`this.choosedData[${i}],startRowNameType,body`, body); console.log(`this.choosedData[${i}],startRowNameType,body`, body);
try { try {
let res={code:0}
// let res = await postapi(
// "/api/app/patientregister/CreatePatientRegisterFromExcel",
// body
// );
let res = await postapi(
"/api/app/CardRegister/BatchCreateCardRegisterByExcel",
body
);
if (res.code >= 0) { if (res.code >= 0) {
this.tableData.push( this.tableData.push(
@ -1542,7 +1583,8 @@ export default {
this.seq = -1; this.seq = -1;
} }
} }
console.log('this.tableData',this.tableData)
//console.log('this.tableData',this.tableData)
this.exportImportState("tableExport", "批量建卡")
}, },
//Excel //Excel
@ -1560,6 +1602,22 @@ export default {
return body return body
}, },
//
exportImportState(elId, title) {
// let table = this.$refs["tableExport"] //.cloneNode(true) true
let table = document.getElementById(elId)
// console.log('table,refsTable', table, refsTable)
this.$nextTick(() => {
let tableData = table.innerHTML
let fileName = title + moment(new Date()).format('yyyyMMDDHHmmss')
let blob = new Blob([tableData], { type: "text/plain;charset=utf-8" });
FileSaver.saveAs(blob, fileName + '.xls');
})
},
// //
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.isActive == 'N') { if (row.isActive == 'N') {

Loading…
Cancel
Save