Browse Source

导入报表

master
mch 2 years ago
parent
commit
518aca8053
  1. 95
      src/store/index.js
  2. 16
      src/views/basic-dictionary/ResultStatus.vue
  3. 33
      src/views/doctorCheck/personnelBatch.vue

95
src/store/index.js

@ -7,15 +7,18 @@ Vue.use(Vuex);
export default new Vuex.Store({ export default new Vuex.Store({
state: { state: {
changepassword:'',//用户密码
changepassword: '',//用户密码
set: "qqqq", set: "qqqq",
router:{
path:'',
importexcel: {
},
router: {
path: '',
},
window: {
pageHeight: 960, //页面高度
pageWidth: 1920, //页面宽度
}, },
window:{
pageHeight:960, //页面高度
pageWidth:1920, //页面宽度
},
customerOrg: { customerOrg: {
//体检单位设置 //体检单位设置
customerOrgTree: [], //体检单位列表 customerOrgTree: [], //体检单位列表
@ -25,14 +28,14 @@ export default new Vuex.Store({
children: "treeChildren", children: "treeChildren",
}, //树形组件的数据结构 }, //树形组件的数据结构
customerOrgId: "", //当前单位ID(可根据此值是否为空,判断是新增还是编辑) customerOrgId: "", //当前单位ID(可根据此值是否为空,判断是新增还是编辑)
customerOrgRd: { id: "", isLock: "N", isActive: "Y",}, //单个体检单位记录值
customerOrgRd: { id: "", isLock: "N", isActive: "Y", }, //单个体检单位记录值
customerOrgRegisterList: [], //单位体检次数登记列表 customerOrgRegisterList: [], //单位体检次数登记列表
contactPersonList: [], //联系人列表 contactPersonList: [], //联系人列表
contactMethodList: [], //联系方式列表 contactMethodList: [], //联系方式列表
orgEditStyle:'', //编辑表单样式
orgDetailStyle:'', //体检次数样式
orgDetailHeight:300, //体检次数LIST表格高度
personStyle:'', //联系人样式
orgEditStyle: '', //编辑表单样式
orgDetailStyle: '', //体检次数样式
orgDetailHeight: 300, //体检次数LIST表格高度
personStyle: '', //联系人样式
}, },
//体检单位分组 //体检单位分组
personnelUnit: { personnelUnit: {
@ -50,8 +53,8 @@ export default new Vuex.Store({
patientRegisterRd: { id: "" }, //体检人员记录 patientRegisterRd: { id: "" }, //体检人员记录
patientRegisterTimes: 0, //体检人员登记窗口显示次数(弃用) patientRegisterTimes: 0, //体检人员登记窗口显示次数(弃用)
addTimes: 0, //用于触发新增时初始化赋值 addTimes: 0, //用于触发新增时初始化赋值
saveTimes:0, //用于体检登记时,触发分组调整保存
photo:"", //单独抽出,拍照时会更新
saveTimes: 0, //用于体检登记时,触发分组调整保存
photo: "", //单独抽出,拍照时会更新
cameraVisble: false, //拍照控件显示 cameraVisble: false, //拍照控件显示
patientRegisterRdInit: { patientRegisterRdInit: {
id: "", //id id: "", //id
@ -108,9 +111,9 @@ export default new Vuex.Store({
}, //查询条件 }, //查询条件
customerOrgGroup: [], //分组(针对单位) customerOrgGroup: [], //分组(针对单位)
patientRegisterAbs: [], //人员已选组合项目 patientRegisterAbs: [], //人员已选组合项目
prListHeight:312, //人员列表高度
prAsbItemHeight:156, //组合项目高度
prList:[], //体检登记记录
prListHeight: 312, //人员列表高度
prAsbItemHeight: 156, //组合项目高度
prList: [], //体检登记记录
}, },
//体检医生诊台 //体检医生诊台
@ -131,22 +134,22 @@ export default new Vuex.Store({
auditorUserId: null, auditorUserId: null,
auditTime: '', auditTime: '',
}, //组合项目详情 }, //组合项目详情
doctorCheckDialogVisible:false,
RegisterCheckList:[], //人员体检 组合项目列表
RegisterCheck:{}, //单组合项目记录
RegisterCheckId:'', //
checkItemList:[], //组合项目包含的明细项目
checkItem:{}, //单项目记录
checkSummaryList:[], //小结
checkSuggestionList:[], //建议
doctorCheckDialogVisible: false,
RegisterCheckList: [], //人员体检 组合项目列表
RegisterCheck: {}, //单组合项目记录
RegisterCheckId: '', //
checkItemList: [], //组合项目包含的明细项目
checkItem: {}, //单项目记录
checkSummaryList: [], //小结
checkSuggestionList: [], //建议
}, },
//总检医生 //总检医生
sumDoctorCheck:{
sumDoctorCheckDialogVisible:false,
sumPREdit:{}, //总检医生时间等相关信息(sumPREditInit)
summaryList:[], //综述
suggestionList:[], //建议
sumDoctorCheck: {
sumDoctorCheckDialogVisible: false,
sumPREdit: {}, //总检医生时间等相关信息(sumPREditInit)
summaryList: [], //综述
suggestionList: [], //建议
}, },
//公共字典数据 add by pengjun //公共字典数据 add by pengjun
@ -243,15 +246,15 @@ export default new Vuex.Store({
sumPREditInit(state) { sumPREditInit(state) {
state.sumDoctorCheck.sumPREdit = { state.sumDoctorCheck.sumPREdit = {
id:'', //体检登记ID
completeFlag:'', //完成状态
summaryDoctor:'', //总检医生
summaryDate:'', //总检日期
isAudit:'', //审核状态
auditDoctor:'', //审核医生
auditDate:'', //审核日期
isLock:'', //锁定状态
patientId:'', //人员档案ID
id: '', //体检登记ID
completeFlag: '', //完成状态
summaryDoctor: '', //总检医生
summaryDate: '', //总检日期
isAudit: '', //审核状态
auditDoctor: '', //审核医生
auditDate: '', //审核日期
isLock: '', //锁定状态
patientId: '', //人员档案ID
} //人员体检登记显示基本信息 } //人员体检登记显示基本信息
}, },
}, },
@ -260,7 +263,7 @@ export default new Vuex.Store({
//获取体检人员所选组合项目 //获取体检人员所选组合项目
getPatientRegisterAbs(context, id) { getPatientRegisterAbs(context, id) {
//console.log(`vuex getPatientRegisterAbs /api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, context.state.dict.asbItemAll) //console.log(`vuex getPatientRegisterAbs /api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, context.state.dict.asbItemAll)
if(id){
if (id) {
getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`).then( getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`).then(
(res) => { (res) => {
console.log(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, res) console.log(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, res)
@ -273,9 +276,9 @@ export default new Vuex.Store({
}); });
context.commit("setData", { context.commit("setData", {
key: "patientRegister.patientRegisterAbs", key: "patientRegister.patientRegisterAbs",
value:patientRegisterAbs,
value: patientRegisterAbs,
}); });
context.commit("setData", { context.commit("setData", {
key: "dict.asbItem", key: "dict.asbItem",
value: arrayReduce( value: arrayReduce(
@ -286,16 +289,16 @@ export default new Vuex.Store({
}); });
context.commit("setData", { context.commit("setData", {
key: "dict.asbItemQuick", key: "dict.asbItemQuick",
value: arrayReduce([...context.state.dict.asbItemAll],[...context.state.patientRegister.patientRegisterAbs],"id=asbitemId"),
value: arrayReduce([...context.state.dict.asbItemAll], [...context.state.patientRegister.patientRegisterAbs], "id=asbitemId"),
}); });
//console.log(`getPatientRegisterAbs ${id}`,context.state.dict.asbItemQuick) //console.log(`getPatientRegisterAbs ${id}`,context.state.dict.asbItemQuick)
} }
} }
); );
}else{
} else {
context.commit("setData", { context.commit("setData", {
key: "patientRegister.patientRegisterAbs", key: "patientRegister.patientRegisterAbs",
value:[],
value: [],
}); });
context.commit("setData", { context.commit("setData", {
@ -306,7 +309,7 @@ export default new Vuex.Store({
key: "dict.asbItemQuick", key: "dict.asbItemQuick",
value: [...context.state.dict.asbItemAll], value: [...context.state.dict.asbItemAll],
}); });
}
}
}, },
//获取单位分组 /api/app/customer-org-group/in-customer-org-id/3a0c0444-d7a0-871f-4074-19faf1655caf //获取单位分组 /api/app/customer-org-group/in-customer-org-id/3a0c0444-d7a0-871f-4074-19faf1655caf

16
src/views/basic-dictionary/ResultStatus.vue

@ -133,7 +133,7 @@
value="form.reportFontColor16" value="form.reportFontColor16"
@change="reportFontColorchange" @change="reportFontColorchange"
></el-color-picker> ></el-color-picker>
<el-input
<el-input
v-model.number="form.reportFontColor" v-model.number="form.reportFontColor"
@change="reportFontColor1" @change="reportFontColor1"
maxlength="15" maxlength="15"
@ -141,7 +141,7 @@
style=" style="
width: 85%; width: 85%;
position: absolute; position: absolute;
top: 0px;
top: 0px;h
margin-left: 10px; margin-left: 10px;
" "
></el-input> ></el-input>
@ -292,7 +292,6 @@ export default {
this.form.dataInputFontColor = parseInt(hexColor, 16); this.form.dataInputFontColor = parseInt(hexColor, 16);
}, },
// //
dataInputBackgroundColorchange(v) { dataInputBackgroundColorchange(v) {
var hexColor = v; var hexColor = v;
@ -302,7 +301,11 @@ export default {
// //
reportFontColorchange(v) { reportFontColorchange(v) {
var hexColor = v; var hexColor = v;
console.log('form.reportFontColor16',hexColor,this.form.reportFontColor16);
console.log(
"form.reportFontColor16",
hexColor,
this.form.reportFontColor16
);
hexColor = hexColor.substring(1); hexColor = hexColor.substring(1);
this.form.reportFontColor = parseInt(hexColor, 16); this.form.reportFontColor = parseInt(hexColor, 16);
}, },
@ -321,10 +324,9 @@ export default {
}, },
// //
reportFontColor1(v) { reportFontColor1(v) {
console.log('v',v);
console.log("v", v);
this.form.reportFontColor16 = "#" + Number(v).toString(16); this.form.reportFontColor16 = "#" + Number(v).toString(16);
console.log('this.form.reportFontColor16',this.form.reportFontColor16);
console.log("this.form.reportFontColor16", this.form.reportFontColor16);
}, },
// //
reportBackgroundColorchange1(v) { reportBackgroundColorchange1(v) {

33
src/views/doctorCheck/personnelBatch.vue

@ -177,11 +177,31 @@
</span> </span>
</el-dialog> </el-dialog>
<!-- --> <!-- -->
<!-- dialogVisible6 -->
<el-dialog
title="批量预约登记提示"
:visible.sync="dialogVisible6"
width="50%"
>
<div>
<div>成功导入的数据</div>
{{ object }}
姓名 {{ object.姓名 }}
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible6 = false"> </el-button>
<el-button type="primary" @click="dialogVisible6 = false"
> </el-button
>
</span>
</el-dialog>
<!-- -->
</div> </div>
</template> </template>
<script> <script>
import ExcelJS from "exceljs"; import ExcelJS from "exceljs";
import { postapi, getapi } from "@/api/api"; import { postapi, getapi } from "@/api/api";
import { mapState } from "vuex";
export default { export default {
data() { data() {
return { return {
@ -205,25 +225,34 @@ export default {
dialogVisible3: false, dialogVisible3: false,
dialogVisible4: false, dialogVisible4: false,
dialogVisible5: false, dialogVisible5: false,
dialogVisible6: false,
startRow: 2, // startRow - 1 startRow: 2, // startRow - 1
importData: [], // importData: [], //
tableDataCol: [], // {excelCol,apiCol,label} tableDataCol: [], // {excelCol,apiCol,label}
tableData: [], // tableData: [], //
formrow: {}, formrow: {},
departmentdata: [], // departmentdata: [], //
object: {},
}; };
}, },
computed: {
...mapState(["importexcel"]),
},
methods: { methods: {
submitto() { submitto() {
if (this.form.customerOrgId == undefined) { if (this.form.customerOrgId == undefined) {
this.$message.warning("请选择单位"); this.$message.warning("请选择单位");
} else { } else {
this.form = Object.assign(this.form, this.formrow);
// this.form = Object.assign(this.form, this.formrow);
postapi( postapi(
"/api/app/patientregister/createpatientregisterexcel", "/api/app/patientregister/createpatientregisterexcel",
this.form this.form
).then((res) => { ).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.object = this.form;
this.importexcel = this.form;
this.dialogVisible6 = true;
this.dialogVisible5 = false;
this.$message.success(res.data.msg); this.$message.success(res.data.msg);
} }
console.log(res); console.log(res);
@ -245,6 +274,8 @@ export default {
splices() { splices() {
if (this.nameType == 1) { if (this.nameType == 1) {
this.nameType = "同名病人提示"; this.nameType = "同名病人提示";
console.log(this.nameType);
console.log(this.form.nameType);
} }
console.log(this.nameType); console.log(this.nameType);
}, },

Loading…
Cancel
Save