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. 98
      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": "神豚体检管理系统",
"pacsApi": "http://192.168.0.188:9530",
"dcmViewers": "https://app.mzaktj.com:4436",

4
src/components/customerOrg/ContactPerson.vue

@ -2,7 +2,7 @@
<div>
<div style="display: flex;">
<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">
<el-table-column prop="displayName" 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>
<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">
<el-table-column prop="contactMethodType" label="类型" width="60" align="center">
<template slot-scope="scope">

20
src/components/customerOrg/customerOrgEdit.vue

@ -145,6 +145,17 @@
</el-form-item>
</el-col>
<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-input class="enterToTab" v-model="form.remark" maxlength="100" show-word-limit />
</el-form-item>
@ -234,7 +245,6 @@ export default {
routeUrlorPageName: 'customerOrg', //
privs: [] //
},
customerOrgEditStyle: "height:400px;",
data: {
organizationdata: [], //
@ -269,6 +279,7 @@ export default {
medicalTypeId: '',
personnelTypeId: '',
isRecommend: 'N',
reportFormatTemplateId:'',
}, //
formInit: {},
rules: {
@ -355,6 +366,13 @@ export default {
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) => {
this.data.customerOrgType = res.data;

2
src/components/customerOrg/customerOrgRegister.vue

@ -2,7 +2,7 @@
<div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 200 - 110 - 25) + 'px;'">
<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">
<el-table-column prop="id" label="编号" width="300" align="center" />
<el-table-column prop="isQuestion" width="70" align="center">

6
src/components/doctorCheck/PatientRegisterList.vue

@ -101,8 +101,8 @@
</template>
</el-table-column>
<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>
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>
@ -122,7 +122,7 @@
</template>
</el-table-column>
<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">
<template slot-scope="scope">
<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,
Delay: this.queue_play_voice_repeate_interval,
};
console.log("叫号 this.$peisAPI.speechSendText",toOutShell)
return this.$peisAPI.speechSendText(JSON.stringify(toOutShell));
})
.catch((err) => {
@ -563,6 +564,7 @@ export default {
this.waitRow = row;
this.queueParams = {
patientRegisterId: row.patientRegisterId,
patientName:row.patientName
};
},
@ -571,6 +573,7 @@ export default {
this.alreadyRow = row;
this.queueParams = {
patientRegisterId: row.patientRegisterId,
patientName:row.patientName
};
},
@ -583,6 +586,7 @@ export default {
rClick(row, column, event) {
this.queueParams = {
patientRegisterId: row.patientRegisterId,
patientName:row.patientName,
state: row.state,
queueRegisterId: row.queueRegisterId
};

2
src/views/customerOrg/customerOrg.vue

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

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

@ -217,7 +217,7 @@
<el-button class="commonbutton" @click="refund">退费</el-button>
</div>
<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>
</a>
</div>
@ -483,12 +483,41 @@
</div>
</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">
<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>
</template>
<script>
import moment from "moment";
import { mapState, mapActions } from "vuex";
import FileSaver from "file-saver";
import { read, readFile, utils } from "xlsx";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import {
@ -641,11 +670,11 @@ export default {
dataCols: [
{ dispLabel: "不设置", val: "" },
{ dispLabel: "卡类别", val: "cardTypeId" },
{ dispLabel: "卡类别", val: "cardTypeName" },
{ dispLabel: "会员卡号", val: "cardNo" },
{ dispLabel: "折扣率", val: "discount" },
{ dispLabel: "初始金额", val: "cardBalance" },
{ dispLabel: "充值方式", val: "payMode" },
{ dispLabel: "充值方式", val: "payModeName" },
{ dispLabel: "有效期限", val: "expiryDate" },
{ dispLabel: "卡主姓名", val: "customerName" },
{ dispLabel: "卡主身份证号", val: "idNo" },
@ -655,6 +684,7 @@ export default {
//{ dispLabel: '', val: 'payTypeFlag' },
],
workBook: null, //EXCEL
sheetNames: [], //EXCEL {sheetName:}
readDataOpts: {
@ -667,6 +697,7 @@ export default {
startRow: 0, // excelData
},
dataImportOptsInit: {},
tableData: [], //
jsonFields: {
卡类别: "cardTypeId",
@ -761,6 +792,7 @@ export default {
"会员卡列表" + moment(new Date()).format("yyyyMMDDHHmmss") + ".xls";
return tableDatas;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
@ -1121,9 +1153,6 @@ export default {
// --
btnImportCardOK() {
this.elProgress.display = true;
this.elProgress.percentage = 0;
this.importCols = []
this.excelCols.forEach(e => {
if (e.val) {
@ -1136,10 +1165,19 @@ export default {
if (e.choosed) this.choosedData.push(e)
});
//
this.importing(this.dataImportOpts.startRow)
//
document.getElementById('fileNames').value = '';
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)
//
document.getElementById('fileNames').value = '';
}
},
//
@ -1326,7 +1364,7 @@ export default {
e.id = "excelData" + index;
});
//console.log('this.excelCols',this.excelCols)
console.log('sheet_to_json excelData',this.excelData)
console.log('sheet_to_json excelData', this.excelData)
// Excel
this.parseExcelData();
@ -1464,7 +1502,7 @@ export default {
case "discount":
this.excelData.forEach((e) => {
tempVal = e[this.excelCols[oldColNum].dispLabel];
e[this.excelCols[oldColNum].dispLabel] = Number(tempVal)||100
e[this.excelCols[oldColNum].dispLabel] = Number(tempVal) || 100
});
break;
case "cardBalance":
@ -1488,7 +1526,7 @@ export default {
let lfind = -1;
this.excelCols.forEach((e, i) => {
lfind = arrayExistObj(this.dataCols, "dispLabel", e.dispLabel);
console.log('e.dispLabel',e.dispLabel,lfind)
console.log('e.dispLabel', e.dispLabel, lfind)
if (lfind > -1) this.setColumn(i, this.dataCols[lfind]);
});
},
@ -1499,6 +1537,9 @@ export default {
async importing(startRow) {
let body = {};
let medicalCenterId = window.sessionStorage.getItem('peisid')
for (let i = startRow; i < this.choosedData.length; i++) {
this.elProgress.percentage = Math.floor(
((i + 1) * 100) / this.choosedData.length
@ -1506,14 +1547,14 @@ export default {
// Excel
body = this.excelDataToApiBody(this.choosedData[i]);
console.log(`this.choosedData[${i}],startRowNameType,body`,body);
body.medicalCenterId = medicalCenterId
console.log(`this.choosedData[${i}],startRowNameType,body`, body);
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) {
this.tableData.push(
@ -1542,7 +1583,8 @@ export default {
this.seq = -1;
}
}
console.log('this.tableData',this.tableData)
//console.log('this.tableData',this.tableData)
this.exportImportState("tableExport", "批量建卡")
},
//Excel
@ -1560,6 +1602,22 @@ export default {
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 }) {
if (row.isActive == 'N') {

Loading…
Cancel
Save