pengjun 2 years ago
parent
commit
d161210d4e
  1. 5
      src/assets/css/global_input.css
  2. 12
      src/components/patientRegister/PatientRegisterEdit.vue
  3. 132
      src/components/patientRegister/PatientRegisterItem.vue

5
src/assets/css/global_input.css

@ -43,3 +43,8 @@ input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none !important; -webkit-appearance: none !important;
margin: 0 !important; margin: 0 !important;
} }
/* 下拉框选中颜色 */
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
background-color: #CCF9CB; /* 原始 默认 #F5F7FA */
}

12
src/components/patientRegister/PatientRegisterEdit.vue

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div style="display: flex"> <div style="display: flex">
<div :style="'width:' + (window.pageWidth - 120 - 30) + 'px;'">
<div :style="'width:' + (window.pageWidth - 110 - 20) + 'px;'">
<div> <div>
<el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium"> <el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium">
<el-row> <el-row>
@ -314,7 +314,7 @@
</el-row> </el-row>
</el-form> </el-form>
<el-image <el-image
:style="'position: absolute;top:65px;right:' + (110 + Math.floor((window.pageWidth - 750) / 24)) + 'px; width: 150px; height: 160px;'"
:style="'position: absolute;top:50px;right:' + (100 + Math.floor((window.pageWidth - 750) / 24)) + 'px; width: 150px; height: 160px;'"
:src="peoplePhoto"> :src="peoplePhoto">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span> 加载中<span class="dot">...</span>
@ -325,7 +325,7 @@
<PatientRegisterItem :patientRegisterForm="form" :payTypeFlag="payTypeFlag" /> <PatientRegisterItem :patientRegisterForm="form" :payTypeFlag="payTypeFlag" />
</div> </div>
</div> </div>
<div style="margin-left: 10px;width:110px;">
<div style="margin-left: 10px;">
<div> <div>
<el-button type="primary" class="btnClass" @click="photoGrah" icon="el-icon-camera">拍照</el-button> <el-button type="primary" class="btnClass" @click="photoGrah" icon="el-icon-camera">拍照</el-button>
</div> </div>
@ -1479,17 +1479,13 @@ export default {
</script> </script>
<style scoped> <style scoped>
::v-deep .el-button {
padding: 10px 5px;
/* 原值:12px 20px; */
}
.btn { .btn {
margin-top: 5px; margin-top: 5px;
} }
.btnClass { .btnClass {
width: 110px;
width: 100px;
} }
.query { .query {

132
src/components/patientRegister/PatientRegisterItem.vue

@ -10,7 +10,7 @@
</div> </div>
<div class="mainareaBox"> <div class="mainareaBox">
<el-table :data="dict.asbItem" <el-table :data="dict.asbItem"
:height="(window.pageHeight > 720 ? (window.pageHeight - 460) : 260)" @row-dblclick="dbClickChoosedAsb" highlight-current-row
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" @row-dblclick="dbClickChoosedAsb" highlight-current-row
@selection-change="handleSelectionChange" size="small" :row-class-name="handleRowClassName" @selection-change="handleSelectionChange" size="small" :row-class-name="handleRowClassName"
@row-click="chooseAsbItem"> @row-click="chooseAsbItem">
<!-- <!--
@ -58,7 +58,7 @@
--> -->
</div> </div>
<div :style="'width:' + (window.pageWidth - 120 - 30 - 230 - 100) + 'px;'">
<div :style="'width:' + (window.pageWidth - 110 - 20 - 230 - 100) + 'px;'">
<div style="display: flex;"> <div style="display: flex;">
<div class="disTotal"> <div class="disTotal">
<el-tooltip class="item" effect="dark" content="根据输入的折扣,自动计算折后总价" placement="top"> <el-tooltip class="item" effect="dark" content="根据输入的折扣,自动计算折后总价" placement="top">
@ -78,68 +78,68 @@
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small" <el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small"
filterable :filter-method="filterMethod" filterable :filter-method="filterMethod"
clearable @clear="quickAsb = deepCopy(dict.asbItemQuick)" clearable @clear="quickAsb = deepCopy(dict.asbItemQuick)"
@change="quickChoosedAsb" default-first-option ref="asbItemId"
@change="quickChoosedAsb" default-first-option ref="quickAsbOCX"
style="width:150px;text-align: left;padding-right: 15px;"> style="width:150px;text-align: left;padding-right: 15px;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" /> <el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select> </el-select>
</div> </div>
</div> </div>
<div class="mainareaBox"> <div class="mainareaBox">
<el-table :data="patientRegister.patientRegisterAbs" highlight-current-row
:height="(window.pageHeight > 720 ? (window.pageHeight - 460) : 260)" width="100%" :summary-method="getSummaries"
<el-table :data="patientRegister.patientRegisterAbs" highlight-current-row border
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" width="100%" :summary-method="getSummaries"
show-summary :row-class-name="tableRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small" show-summary :row-class-name="tableRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small"
@row-click="removeAsbItem"> @row-click="removeAsbItem">
<!-- temporaryselection personnelUnit.nogroupselected--> <!-- temporaryselection personnelUnit.nogroupselected-->
<!-- 取消勾选换成选中 <!-- 取消勾选换成选中
<el-table-column type="selection" align="center"/> <el-table-column type="selection" align="center"/>
--> -->
<el-table-column label="已选组合项目" width="120" prop="asbitemName" />
<el-table-column label="标准价格" prop="standardPrice" width="70" align="center" />
<el-table-column label="折扣" prop="discount" width="60">
<el-table-column label="已选组合项目" min-width="120" prop="asbitemName" />
<el-table-column label="标准价格" prop="standardPrice" min-width="70" align="center" />
<el-table-column label="折扣" prop="discount" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input type="number" v-model="scope.row.discount" size="small" @input="changeDiscount(scope.$index)" <el-input type="number" v-model="scope.row.discount" size="small" @input="changeDiscount(scope.$index)"
@blur="onSubmit('')" /> @blur="onSubmit('')" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量" prop="amount" width="50">
<el-table-column label="数量" prop="amount" min-width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input type="number" v-model="scope.row.amount" size="small" @blur="onSubmit('')" /> <el-input type="number" v-model="scope.row.amount" size="small" @blur="onSubmit('')" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="实收价格" prop="chargePrice" width="70">
<el-table-column label="实收价格" prop="chargePrice" min-width="70">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input type="number" v-model="scope.row.chargePrice" size="small" <el-input type="number" v-model="scope.row.chargePrice" size="small"
@input="changePrice(scope.$index)" @blur="onSubmit('')" /> @input="changePrice(scope.$index)" @blur="onSubmit('')" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="total" label="金额" width="70" v-if="false" />
<el-table-column prop="standardPrice" label="标准金额" width="70" v-if="false" />
<el-table-column label="支付方式" prop="payTypeFlag" width="100">
<el-table-column prop="total" label="金额" min-width="70" v-if="false" />
<el-table-column prop="standardPrice" label="标准金额" min-width="70" v-if="false" />
<el-table-column label="支付方式" prop="payTypeFlag" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.payTypeFlag" size="small"> <el-select v-model="scope.row.payTypeFlag" size="small">
<el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isCharge" label="收费" width="50" align="center">
<el-table-column prop="isCharge" label="收费" min-width="40" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-checkbox :value="scope.row.isCharge == 'Y'" /> <el-checkbox :value="scope.row.isCharge == 'Y'" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="checkCompleteFlag" label="状态" align="center">
<el-table-column prop="checkCompleteFlag" label="状态" min-width="40" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ ldddw(dict.checkCompleteFlag, "id", scope.row.checkCompleteFlag, "displayName") }}</div>
<div>{{ dddw(dict.checkCompleteFlag, "id", scope.row.checkCompleteFlag, "displayName") }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isLock" label="锁" width="50" align="center">
<el-table-column prop="isLock" label="锁" min-width="40" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-checkbox :value="scope.row.isLock == 'Y'" /> <el-checkbox :value="scope.row.isLock == 'Y'" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="creatorName" label="登记人" align="center"></el-table-column>
<el-table-column prop="creationTime" label="登记日期" width="90" align="center">
<el-table-column prop="creatorName" label="登记人" min-width="70" align="center"></el-table-column>
<el-table-column prop="creationTime" label="登记日期" win-width="90" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ lmoment(scope.row.creationTime, 'yyyy-MM-DD') }}</div>
<div>{{ scope.row.creationTime ? moment(scope.row.creationTime).format('yyyy-MM-DD'):'' }}</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -192,7 +192,9 @@ export default {
computed: { computed: {
...mapState(["window", "dict", "customerOrg", "patientRegister", "personnelUnit"]), ...mapState(["window", "dict", "customerOrg", "patientRegister", "personnelUnit"]),
}, },
created(){
this.quickAsb = deepCopy(this.dict.asbItemQuick)
},
mounted() { mounted() {
// if(this.patientRegisterForm.id){ // if(this.patientRegisterForm.id){
// this.getPatientRegisterAbs(this.patientRegisterForm.id) // this.getPatientRegisterAbs(this.patientRegisterForm.id)
@ -203,14 +205,7 @@ export default {
methods: { methods: {
...mapActions(['getCustomerOrgGroup', 'getPatientRegisterAbs']), ...mapActions(['getCustomerOrgGroup', 'getPatientRegisterAbs']),
ldddw(arrayData, key, value, display) {
return dddw(arrayData, key, value, display);
},
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
dddw,moment,deepCopy,
tableRowClassName({row, rowIndex}){ tableRowClassName({row, rowIndex}){
//console.log(row) //console.log(row)
@ -649,6 +644,7 @@ export default {
// //
arrayReduce(this.dict.asbItem, [...this.patientRegister.patientRegisterAbs], "id=asbitemId"); arrayReduce(this.dict.asbItem, [...this.patientRegister.patientRegisterAbs], "id=asbitemId");
arrayReduce(this.dict.asbItemQuick, [...this.patientRegister.patientRegisterAbs], "id=asbitemId"); arrayReduce(this.dict.asbItemQuick, [...this.patientRegister.patientRegisterAbs], "id=asbitemId");
this.quickAsb = deepCopy(this.dict.asbItemQuick)
}, },
@ -807,22 +803,16 @@ export default {
this.addAbs([this.dict.asbItemQuick[lfind]]) this.addAbs([this.dict.asbItemQuick[lfind]])
} }
} }
//this.$refs['quickAsbOCX'].focus(); //asbItemId
this.$nextTick(() => {
this.$refs['quickAsbOCX'].blur(); //total asbItemId
this.asbItemId = ''
this.quickAsb = deepCopy(this.dict.asbItemQuick)
this.$refs['quickAsbOCX'].focus(); //total asbItemId
});
}, },
// quickChoosedAsb(v){
// let lfind = -1
// let asbItemChoosed = []
// console.log('quickChoosedAsb',v,this.dict.asbItemQuick)
// if(v){
// lfind = arrayExistObj(this.dict.asbItemQuick,'id',v)
// if(lfind > -1){
// asbItemChoosed.push(this.dict.asbItemQuick[lfind])
// this.addAbs(asbItemChoosed)
// }
// }
// },
// //
filterMethod(keyWords) { filterMethod(keyWords) {
@ -986,16 +976,21 @@ export default {
}, },
// asbItemId // asbItemId
"asbItemId"(newVal, oldVal) {
if (newVal != oldVal && newVal != '') {
//
this.$nextTick(() => {
console.log("1this.$refs['asbItemId'].focus()");
this.$refs['asbItemId'].focus(); //total asbItemId
console.log("2this.$refs['asbItemId'].focus()");
});
}
},
// "asbItemId"(newVal, oldVal) {
// console.log("this.$refs['quickAsbOCX'].focus()");
// this.$refs['quickAsbOCX'].blur(); //asbItemId
// this.asbItemId = ''
// this.$refs['quickAsbOCX'].focus(); //asbItemId
// // if (newVal != oldVal && newVal != '') {
// //
// // this.$nextTick(() => {
// // console.log("1this.$refs['asbItemId'].focus()");
// // this.$refs['quickAsbOCX'].focus(); //total asbItemId
// // console.log("2this.$refs['asbItemId'].focus()");
// // });
// // }
// },
// getPatientRegisterAbs // getPatientRegisterAbs
// "patientRegisterForm.id"(newVal, oldVal) { // "patientRegisterForm.id"(newVal, oldVal) {
@ -1018,11 +1013,13 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../assets/css/global_table.css";
@import "../../assets/css/global_input.css";
@import "../../assets/css/global.css"; @import "../../assets/css/global.css";
.mainareaBox { .mainareaBox {
border: 1px solid #000; border: 1px solid #000;
height: v-bind("(window.pageHeight > 720 ? (window.pageHeight - 460) : 260) + 'px'");
height: v-bind("(window.pageHeight > 700 ? (window.pageHeight - 440) : 260) + 'px'");
margin-top: 5px; margin-top: 5px;
} }
@ -1036,34 +1033,5 @@ export default {
margin-left: 10px; margin-left: 10px;
} }
::v-deep .el-input__inner {
/*text-align: center;*/
padding-left: 1px;
padding-right: 1px;
/*background-color: rgb(255, 0, 255);*/
}
::v-deep .el-table th.el-table__cell {
/*text-align: center;*/
padding-left: 2px;
padding-right: 2px;
}
::v-deep .el-table td.el-table__cell {
padding-left: 2px;
padding-right: 2px;
}
::v-deep .el-table .cell {
padding-left: 2px;
padding-right: 2px;
}
::v-deep input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none !important;
margin: 0 !important;
}
</style> </style>
Loading…
Cancel
Save