Browse Source

dj seo

master
pengjun 2 years ago
parent
commit
f320cf2b73
  1. 4
      src/components/customerOrg/customerOrgGroupAsbitem.vue
  2. 18
      src/components/menuPage/MenuPageEdit.vue
  3. 7
      src/components/menuPage/MenuPageTree.vue
  4. 34
      src/components/patientRegister/PatientRegisterEdit.vue
  5. 24
      src/components/patientRegister/PatientRegisterItem.vue
  6. 49
      src/components/patientRegister/PatientRegisterList.vue
  7. 4
      src/components/patientRegister/patientRegisterQuery.vue
  8. 5
      src/store/index.js
  9. 13
      src/views/menuPage/menuPage.vue

4
src/components/customerOrg/customerOrgGroupAsbitem.vue

@ -5,8 +5,8 @@
<div style="display: block; width:230px;">
<div>
<span>项目类别</span>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" style="margin-left: 3px;width:160px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" :show-all-levels="false"
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" style="margin-left: 3px;width:160px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
clearable filterable @change="getAsbItemByItemType" size="small">
</el-cascader>
</div>

18
src/components/menuPage/MenuPageEdit.vue

@ -1,10 +1,6 @@
<template>
<div style="display: flex">
<div
:style="
'margin-left: 5px;width:' + (window.pageWidth - 200 - 120 - 45) + 'px;'
"
>
<div :style="'width:' + editWidth + 'px;'">
<!--overflow-y: scroll;height:200px;-->
<el-form
ref="form"
@ -149,7 +145,7 @@
<!-- 按钮区域 -->
<div style="width: 110px; margin-left: 10px; margin-top: 3%">
<div class="btnList" v-show="checkPagePriv(pagePriv.privs,'新增节点')">
<el-button type="primary" @click="btnAdd('form', '')" class="btnClass"
<el-button type="primary" @click="btnAdd('form', '')" class="commonbutton"
>新增节点</el-button
>
</div>
@ -157,17 +153,17 @@
<el-button
type="primary"
@click="btnAdd('form', 'child')"
class="btnClass"
class="commonbutton"
>新增子节点</el-button
>
</div>
<div class="btnList" v-show="checkPagePriv(pagePriv.privs,'保存')">
<el-button type="success" @click="btnSubmit('form')" class="btnClass"
<el-button type="success" @click="btnSubmit('form')" class="commonbutton"
>保存</el-button
>
</div>
<div class="btnList" v-show="checkPagePriv(pagePriv.privs,'删除')">
<el-button type="danger" @click="btnDel('form')" class="btnClass"
<el-button type="danger" @click="btnDel('form')" class="commonbutton"
>删除</el-button
>
</div>
@ -241,6 +237,10 @@ export default {
computed: {
...mapState(["window", "dict", "dataTransOpts", "customerOrg"]),
editWidth(){
return this.window.pageWidth - this.window.pageMarginWidth - 200 - 120 - 20
}
},
methods: {
...mapMutations(["setData"]),

7
src/components/menuPage/MenuPageTree.vue

@ -3,7 +3,7 @@
<div style="margin:2px 2px 2px 2px;">
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
</div>
<div :style="'overflow: scroll;height:' +(window.pageHeight < 600 ? 410 : window.pageHeight - 190) + 'px;'">
<div :style="'overflow: scroll;height:' + treeHeight + 'px;'">
<el-tree :data="dataTransOpts.tableM.menu_info" :props="customerOrg.treeprops"
node-key="id" :filter-node-method="filterNode"
:default-expanded-keys="customerOrg.defaultExpandedKeys"
@ -27,6 +27,11 @@ export default {
//<el-tree :data="$store.state.customerOrg.customerOrgTree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
computed: {
...mapState(["window", "dataTransOpts", "customerOrg" ]),
treeHeight(){
let temp = this.window.pageHeaderHeight + this.window.pageMarginHeight + this.window.cardHeaderHeight + 32 + 20
return this.window.pageHeight < 600 ? (600 - temp):(this.window.pageHeight - temp)
}
},
//

34
src/components/patientRegister/PatientRegisterEdit.vue

@ -3,7 +3,7 @@
<div style="display: flex">
<div :style="'width:' + (window.pageWidth - 110 - 20) + 'px;'">
<!--查询条件-->
<div v-show="checkPagePriv(pagePriv.privs,'查找')" style="position: absolute;top:28px;left:180px;display: flex; flex-wrap: wrap; height:32px;border: 1px solid #DCDFE6;border-radius:5px;background-color: #F5F7FA;">
<div v-show="checkPagePriv(pagePriv.privs,'查找')" style="position: absolute;top:28px;left:180px;display: flex; flex-wrap: wrap; height:32px;border: 1px solid #888;border-radius:5px;background-color: #F5F7FA;">
<div class="query">
<span class="querySpan">查找&nbsp;&nbsp;条码号</span>
<el-input placeholder="条码号" v-model="query.patientRegisterNo" size="small"
@ -362,47 +362,47 @@
</div>
<div style="margin-left: 10px;">
<div v-show="checkPagePriv(pagePriv.privs,'拍照')">
<el-button type="primary" class="btnClass" @click="photoGrah" icon="el-icon-camera">拍照</el-button>
<el-button type="primary" class="commonbutton" @click="photoGrah" icon="el-icon-camera">拍照</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'读身份证')" class="btn">
<el-button @click="peopleIcCard" class="btnClass">读身份证</el-button>
<el-button @click="peopleIcCard" class="commonbutton">读身份证</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'复制新增')" class="btn">
<el-button type="primary" class="btnClass" @click="rdCopy">复制新增</el-button>
<el-button type="primary" class="commonbutton" @click="rdCopy">复制新增</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'保存')" class="btn">
<el-button type="success" class="btnClass" @click="btnSubmit('form', true)">保存</el-button>
<el-button type="success" class="commonbutton" @click="btnSubmit('form', true)">保存</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'检验单申请')" class="btn">
<el-button type="primary" class="btnClass" @click="lisRequest">检验单申请</el-button>
<el-button type="primary" class="commonbutton" @click="lisRequest">检验单申请</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'条码打印')" class="btn">
<el-button type="primary" class="btnClass" @click="lisPrint('0002', false)">条码打印</el-button>
<el-button type="primary" class="commonbutton" @click="lisPrint('0002', false)">条码打印</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'条码补打')" class="btn">
<el-button type="danger" class="btnClass" @click="reLisRequest">条码补打</el-button>
<el-button type="danger" class="commonbutton" @click="reLisRequest">条码补打</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'指引单打印')" class="btn">
<el-button type="primary" class="btnClass" @click="guidePrint('0001', false)">指引单打印</el-button>
<el-button type="primary" class="commonbutton" @click="guidePrint('0001', false)">指引单打印</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'指引单预览')" class="btn">
<el-button type="primary" class="btnClass" @click="guidePrint('0001', true)">指引单预览</el-button>
<el-button type="primary" class="commonbutton" @click="guidePrint('0001', true)">指引单预览</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'手动合并项目')" class="btn">
<el-button type="danger" class="btnClass" @click="reMergeAsbitem">手动合并项目</el-button>
<el-button type="danger" class="commonbutton" @click="reMergeAsbitem">手动合并项目</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'全个人支付')" style="margin-top: 30px;">
<el-button type="primary" class="btnClass" @click="prAsbOpraOpts.payTypeFlag = '0'">全个人支付</el-button>
<el-button type="primary" class="commonbutton" @click="prAsbOpraOpts.payTypeFlag = '0'">全个人支付</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'全单位支付')" class="btn">
<el-button type="primary" class="btnClass" @click="prAsbOpraOpts.payTypeFlag = '1'">全单位支付</el-button>
<el-button type="primary" class="commonbutton" @click="prAsbOpraOpts.payTypeFlag = '1'">全单位支付</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'全赠送')" class="btn">
<el-button type="primary" class="btnClass" @click="prAsbOpraOpts.payTypeFlag = '2'">全赠送</el-button>
<el-button type="primary" class="commonbutton" @click="prAsbOpraOpts.payTypeFlag = '2'">全赠送</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'收费')" class="btn">
<el-button type="success" class="btnClass" @click="toCharge(form.patientRegisterNo)">收费</el-button>
<el-button type="success" class="commonbutton" @click="toCharge(form.patientRegisterNo)">收费</el-button>
</div>
</div>
</div>
@ -1943,7 +1943,7 @@ export default {
watch: {
//ID
"dataTransOpts.refresh.patient_register.S":{
// immediate:true,
immediate:true,
handler(newVal, oldVal) {
console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.initFormData(this.dataTransOpts.tableS.patient_register.id)
@ -1980,7 +1980,7 @@ export default {
margin-top: 5px;
}
.btnClass {
.commonbutton {
width: 100px;
}

24
src/components/patientRegister/PatientRegisterItem.vue

@ -3,13 +3,13 @@
<div style="width:220px;">
<div>
<span>项目类别</span>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" style="margin-left: 3px;width:160px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" :show-all-levels="false"
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" style="margin-left: 3px;width:160px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
clearable filterable @change="changeItemType" size="small" :disabled="isComplete">
</el-cascader>
</div>
<div class="mainareaBox">
<el-table :data="asbItem"
<el-table :data="asbItem" style="border-radius: 5px;"
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" @row-dblclick="dbClickChoosedAsb" highlight-current-row
@selection-change="handleSelectionChange" size="small" :row-class-name="handleRowClassName"
@row-click="chooseAsbItem">
@ -35,19 +35,19 @@
<div style="width:100px;margin-top: 70px;">
<div v-show="checkPagePriv(pagePriv.privs,'添加')" class="btnList">
<el-button type="primary" @click="addAbs(asbItemChoosed,'choosed')" style="width:90px;" :disabled="isComplete">添加 <i class="el-icon-arrow-right"></i>
<el-button class="commonbutton" @click="addAbs(asbItemChoosed,'choosed')" style="width:90px;" :disabled="isComplete">添加 <i class="el-icon-arrow-right"></i>
</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'全添加')" class="btnList">
<el-button type="success" @click="addAbs(asbItemChoosed,'all')" style="width:90px;" :disabled="isComplete">全添加 <i class="el-icon-d-arrow-right"></i>
<el-button type="success" class="commonbutton" @click="addAbs(asbItemChoosed,'all')" style="width:90px;" :disabled="isComplete">全添加 <i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'移除')" class="btnList">
<el-button type="warning" @click="delAbs(patientRegisterAbsChoosed,'choosed')" style="width:90px;" :disabled="isComplete"><i class="el-icon-arrow-left"> 移除</i>
<el-button type="warning" class="commonbutton" @click="delAbs(patientRegisterAbsChoosed,'choosed')" style="width:90px;" :disabled="isComplete"><i class="el-icon-arrow-left"> 移除</i>
</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'全移除')" class="btnList">
<el-button type="danger" @click="delAbs(patientRegisterAbsChoosed,'all')" style="width:90px;" :disabled="isComplete"><i class="el-icon-d-arrow-left"> 全移除</i>
<el-button type="danger" class="commonbutton" @click="delAbs(patientRegisterAbsChoosed,'all')" style="width:90px;" :disabled="isComplete"><i class="el-icon-d-arrow-left"> 全移除</i>
</el-button>
</div>
<!-- 不显示保存当已选组合有修改时失去焦点自动保存
@ -85,7 +85,7 @@
</div>
</div>
<div class="mainareaBox">
<el-table :data="prAsb" highlight-current-row border ref="patientRegister_patientRegisterAbs"
<el-table :data="prAsb" highlight-current-row border ref="patientRegister_patientRegisterAbs" style="border-radius: 5px;"
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" width="100%" :summary-method="getSummaries"
show-summary :row-class-name="handleRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small"
@row-click="removeAsbItem">
@ -959,13 +959,14 @@ export default {
// console.log('this.total / this.totalStand',this.total , this.totalStand)
this.discount = Math.round((100 * this.total / this.totalStand) * 100)/100
this.prAsb.forEach((e, index) => {
if (e.amount == 1) qtyIsOneLast = index
this.prAsb.forEach((e, index) => {
if (e.amount == 1 && e.standardPrice != 0) qtyIsOneLast = index
e.discount = this.discount
e.chargePrice = Math.round((e.standardPrice * this.discount / 100) * 100)/100
e.total = Math.round((e.standardPrice * this.discount * e.amount / 100) * 100)/100
sumChargeDetails += Math.round((e.standardPrice * this.discount * e.amount / 100) * 100)/100
});
console.log('this.prAsb',this.prAsb)
// console.log('this.total - sumChargeDetails', sumChargeDetails, this.total - sumChargeDetails)
//
@ -1162,9 +1163,10 @@ export default {
@import "../../assets/css/global.css";
.mainareaBox {
border: 1px solid #000;
border: 1px solid #888;
height: v-bind("(window.pageHeight > 700 ? (window.pageHeight - 440) : 260) + 'px'");
margin-top: 5px;
border-radius: 5px;
}
.btnList {

49
src/components/patientRegister/PatientRegisterList.vue

@ -6,7 +6,7 @@
"
@contextmenu.prevent="onContextmenu"
>
<div id="info">
<div>
<el-table @body-scrolling="load"
:data="patientRegister.prList"
border :height="window.pageHeight < 600 ? 226 : Math.floor(((window.pageHeight - 261) * 2) / 3)"
@ -15,7 +15,7 @@
size="small" row-key="id"
@selection-change="handleSelectionChange"
@cell-contextmenu="onCellRightClick"
ref="info"
ref="info" id="info"
:row-class-name="handleRowClassName"
>
<!-- 取消勾选改为选中
@ -130,20 +130,20 @@
</div>
<div style="margin-left: 10px;">
<div v-show="checkPagePriv(pagePriv.privs,'人员登记')" class="listBtn">
<el-button type="success" class="btnClass" @click="btnAdd">人员登记</el-button
<el-button type="success" class="commonbutton" @click="btnAdd">人员登记</el-button
>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'批量正式登记')" class="listBtn">
<el-button type="success" class="btnClass" @click="btnAddBatch">批量正式登记</el-button
<el-button type="success" class="commonbutton" @click="btnAddBatch">批量正式登记</el-button
>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'编辑')" class="listBtn">
<el-button type="primary" class="btnClass" @click="btnEdit"
<el-button type="primary" class="commonbutton" @click="btnEdit"
>编辑</el-button
>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'删除')" class="listBtn">
<el-button type="danger" class="btnClass" @click="btnDel"
<el-button type="danger" class="commonbutton" @click="btnDel"
>删除</el-button
>
</div>
@ -162,19 +162,19 @@
</div>
-->
<div v-show="checkPagePriv(pagePriv.privs,'批量调整分组')" class="listBtn">
<el-button type="" class="btnClass" @click="btnGroupBatch"
<el-button type="" class="commonbutton" @click="btnGroupBatch"
>批量调整分组</el-button
>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'批量调整项目')" class="listBtn">
<el-button type="" class="btnClass" @click="btnAsbBatch"
<el-button type="" class="commonbutton" @click="btnAsbBatch"
>批量调整项目</el-button
>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'指引单打印')" class="listBtn">
<el-button
type=""
class="btnClass"
class="commonbutton"
@click="guidePrint('0001', false)"
>指引单打印</el-button
>
@ -182,7 +182,7 @@
<div v-show="checkPagePriv(pagePriv.privs,'指引单预览')" class="listBtn">
<el-button
type=""
class="btnClass"
class="commonbutton"
@click="guidePrint('0001', true)"
>指引单预览</el-button
>
@ -190,7 +190,7 @@
<div v-show="checkPagePriv(pagePriv.privs,'人员信息导出')" class="listBtn">
<el-button
type=""
class="btnClass"
class="commonbutton"
@click="btnExport('info')"
>人员信息导出</el-button
>
@ -1305,28 +1305,29 @@ export default {
// HTML
// let table = document.getElementById(elId); //.cloneNode(true)
this.$nextTick(() => {
let refsTable = this.$refs[elId] //.cloneNode(true) true
let table = document.getElementById(elId)
console.log('table',table)
// let table = this.$refs[elId] //.cloneNode(true) true
console.log('table,refsTable',table,refsTable)
let tableData = table.innerHTML
let fileName = moment(new Date()).format('yyyyMMDDHHmmss')
let blob = new Blob([tableData],{type:"text/plain;charset=utf-8"});
FileSaver.saveAs(blob, fileName + '.xls');
//
// 使html2canvasHTML
// let cloneTable = table.cloneNode(true) //[elId]
html2canvas(table).then(canvas => {
// a
const link = document.createElement('a');
link.href = canvas.toDataURL('image/png');
link.download = fileName + '.png';
link.href = canvas.toDataURL('image/jpeg');
link.download = fileName + '.jpg';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
//document.body.removeChild(link);
// // PDF
// var pdf = new jsPDF();
@ -1365,12 +1366,12 @@ export default {
},
//
"patientRegister.patientRegisterRd.id"(newVal, oldVal) {
if (newVal != oldVal) {
//console.log('patientRegister.patientRegisterRd.customerOrgId',this.patientRegister.patientRegisterRd.customerOrgId)
objCopy(this.patientRegister.patientRegisterRd, this.form);
}
},
// "patientRegister.patientRegisterRd.id"(newVal, oldVal) {
// if (newVal != oldVal) {
// //console.log('patientRegister.patientRegisterRd.customerOrgId',this.patientRegister.patientRegisterRd.customerOrgId)
// objCopy(this.patientRegister.patientRegisterRd, this.form);
// }
// },
},
};
</script>

4
src/components/patientRegister/patientRegisterQuery.vue

@ -78,10 +78,10 @@
<!-- 按钮区域 -->
<div style="margin-left: 10px;">
<div v-show="checkPagePriv(pagePriv.privs,'查询')" class="listBtn">
<el-button class="btnClass" @click="btnQuery">查询</el-button>
<el-button class="commonbutton" @click="btnQuery">查询</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'读身份证')" class="listBtn">
<el-button type="danger" class="btnClass" @click="readIdCard">读身份证</el-button>
<el-button type="danger" class="commonbutton" @click="readIdCard">读身份证</el-button>
</div>
</div>
</div>

5
src/store/index.js

@ -18,6 +18,11 @@ export default new Vuex.Store({
window: {
pageHeight: 960, //页面高度
pageWidth: 1920, //页面宽度
pageHeaderHeight: 50, //container-header 高度
pageMarginWidth: 10, //container-左右边距和
pageMarginHeight: 10, //container-上下边距和
cardHeaderHeight: 45, //card-header 高度
shift: false, //是否按下 shift键
ctrl: false, //是否按下 ctrl键
},

13
src/views/menuPage/menuPage.vue

@ -6,19 +6,10 @@
</div>
<div style="display: flex;">
<!-- 菜单树组件 -->
<div :style="'border: 1px solid;width:200px; height:' +
(window.pageHeight < 600 ? 450 : window.pageHeight - 150) +
'px;'
">
<div style="border: 1px solid #888;width:200px;">
<MenuPageTree />
</div>
<div :style="'display:block;width:' +
(window.pageWidth - 200 - 40) +
'px;height:' +
(window.pageHeight < 600 ? 450 : window.pageHeight - 150) +
'px;' +
(window.pageHeight < 600 ? 'overflow-y: scroll;' : '')
">
<div>
<!-- 单位详情 录入与编辑 -->
<div style="height:228px;">
<MenuPageEdit />

Loading…
Cancel
Save