42 changed files with 9734 additions and 1910 deletions
			
			
		| @ -0,0 +1,704 @@ | |||
| <template> | |||
|   <div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> | |||
|     <div class="btnBox"> | |||
|       <el-button v-print="'#threeFunc'" size="small">打印</el-button> | |||
|       <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | |||
|       <el-button type="danger" size="small" @click="handleDelete">删除</el-button> | |||
|     </div> | |||
|     <div id="threeFunc" style="width: 840px;padding-right: 8px"> | |||
|       <p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> | |||
|         青少年儿童屈光发育档案 | |||
|       </p> | |||
|       <div class="operation-record-table"> | |||
|         <el-table :data="headData" :span-method="headSpanMethod" border style="width: 820px; margin-top: 20px"> | |||
|           <el-table-column label="" width="" align="center" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <span>{{ scope.row.name }}</span> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false" prop="type"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '姓名'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.patientName" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '身高'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.height" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '是否戴镜'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.isMirror" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '姓名'"> | |||
|                 <div class="width-100 center"> | |||
|                   性别 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '身高'"> | |||
|                 <div class="width-100 center"> | |||
|                   体重 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '是否戴镜'"> | |||
|                 <div class="width-100 center"> | |||
|                   戴镜习惯 | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '姓名'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.sex" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '身高'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.weight" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '是否戴镜'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.mirrorHabit" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '姓名'"> | |||
|                 <div class="width-100 center"> | |||
|                   出生日期 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '身高'"> | |||
|                 <div class="width-100 center"> | |||
|                   何时发现视力下降 | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '姓名'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.birthday" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '身高'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.time" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|         </el-table> | |||
|         <el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 820px"> | |||
|           <el-table-column label="" width="" align="center" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <span>{{ scope.row.name }}</span> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false" prop="type"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '戴镜类型'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-checkbox-group v-model="scope.row.mirrorType"> | |||
|                     <el-checkbox label="框架" /> | |||
|                     <el-checkbox label="OK镜" /> | |||
|                     <el-checkbox label="RGP" /> | |||
|                     <el-checkbox label="软镜" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '旧镜参数'"> | |||
|                 <div class="width-120 center"> | |||
|                   OD:<el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '父母是否近视'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-checkbox-group v-model="scope.row.shortsighte"> | |||
|                     <el-checkbox label="父亲" /> | |||
|                     <el-checkbox label="母亲" /> | |||
|                     <el-checkbox label="父亲和母亲" /> | |||
|                     <el-checkbox label="均无" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '户外活动时间'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-checkbox-group v-model="scope.row.outTime"> | |||
|                     <el-checkbox label="<1h" /> | |||
|                     <el-checkbox label="1h-2h" /> | |||
|                     <el-checkbox label=">2h" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '备注'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.note" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '项目'"> | |||
|                 <div class="width-180 center"> | |||
|                   OD | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '裸眼/旧镜视力'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '是否散瞳'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-checkbox-group v-model="scope.row.mydriasis"> | |||
|                     <el-checkbox label="未散瞳" /> | |||
|                     <el-checkbox label="美多丽" /> | |||
|                     <el-checkbox label="阿托品" /> | |||
|                     <el-checkbox label="其他" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '主觉验光'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" style="width: 100px" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼位'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼压/mmHg'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '角膜曲率/D'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '角膜厚度/μm'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '处方'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '建议'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-checkbox-group v-model="scope.row.suggest"> | |||
|                     <el-checkbox label="框架" /> | |||
|                     <el-checkbox label="OK镜" /> | |||
|                     <el-checkbox label="RGP" /> | |||
|                     <el-checkbox label="软镜" /> | |||
|                     <el-checkbox label="其他" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼轴/眼底照/地形图'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.type" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '旧镜参数'"> | |||
|                 <div class="width-120 center"> | |||
|                   OS:<el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '项目'"> | |||
|                 <div class="width-180 center"> | |||
|                   OS | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '裸眼/旧镜视力'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '主觉验光'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" style="width: 100px" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼位'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼压/mmHg'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '角膜曲率/D'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '角膜厚度/μm'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '处方'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|         </el-table> | |||
|       </div> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| export default { | |||
|   props: { | |||
|     archiveCaseCRFItem: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     }, | |||
|     formContent: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       dataForm: { | |||
|         yghcValue: '', | |||
|         operationListValueOD: [] | |||
|       }, | |||
|       headData: [ | |||
|         { | |||
|           name: '个人基础信息', | |||
|           type: '' | |||
|         }, | |||
|         { | |||
|           name: '姓名', | |||
|           patientName: '', | |||
|           sex: '', | |||
|           birthday: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '身高', | |||
|           height: '', | |||
|           weight: '', | |||
|           time: '' | |||
|         }, { | |||
|           name: '是否戴镜', | |||
|           isMirror: '', | |||
|           mirrorHabit: '', | |||
|           type: '' | |||
|         }], | |||
|       tableData: [ | |||
|         { | |||
|           name: '戴镜类型', | |||
|           mirrorType: [] | |||
|         }, | |||
|         { | |||
|           name: '旧镜参数', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '父母是否近视', | |||
|           shortsighte: [] | |||
|         }, { | |||
|           name: '户外活动时间', | |||
|           outTime: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '备注', | |||
|           note: '' | |||
|         }, { | |||
|           name: '综合检查信息', | |||
|           type: '1' | |||
|         }, { | |||
|           name: '项目' | |||
|         }, { | |||
|           name: '裸眼/旧镜视力', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '是否散瞳', | |||
|           mydriasis: [] | |||
|         }, { | |||
|           name: '主觉验光', | |||
|           od: '', | |||
|           os: '', | |||
|           vaod: '', | |||
|           vaos: '', | |||
|           type: '2' | |||
|         }, { | |||
|           name: '眼位', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '眼压/mmHg', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '角膜曲率/D', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '角膜厚度/μm', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '处方', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '建议', | |||
|           suggest: [] | |||
|         }, { | |||
|           name: '眼轴/眼底照/地形图', | |||
|           type: '' | |||
|         }] | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     operationRecord: { | |||
|       get() { | |||
|         return this.$store.getters.operationRecord | |||
|       } | |||
|     } | |||
|   }, | |||
|   watch: { | |||
|     operationRecord: { | |||
|       handler(value) { | |||
|         console.log(value) | |||
|       }, | |||
|       deep: true, | |||
|       immediate: true | |||
|     } | |||
|   }, | |||
|   created() { | |||
|     // this.printPage('threeFunc') | |||
|   }, | |||
|   methods: { | |||
|     setData() { | |||
|       this.headData = this.formContent.a | |||
|       this.tableData = this.formContent.b | |||
|     }, | |||
|     reSet() { | |||
|       this.headData = [ | |||
|         { | |||
|           name: '个人基础信息', | |||
|           type: '' | |||
|         }, | |||
|         { | |||
|           name: '姓名', | |||
|           patientName: '', | |||
|           sex: '', | |||
|           birthday: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '身高', | |||
|           height: '', | |||
|           weight: '', | |||
|           time: '' | |||
|         }, { | |||
|           name: '是否戴镜', | |||
|           isMirror: '', | |||
|           mirrorHabit: '', | |||
|           type: '' | |||
|         }] | |||
|       this.tableData = [ | |||
|         { | |||
|           name: '戴镜类型', | |||
|           mirrorType: [] | |||
|         }, | |||
|         { | |||
|           name: '旧镜参数', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '父母是否近视', | |||
|           shortsighte: [] | |||
|         }, { | |||
|           name: '户外活动时间', | |||
|           outTime: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '备注', | |||
|           note: '' | |||
|         }, { | |||
|           name: '综合检查信息', | |||
|           type: '1' | |||
|         }, { | |||
|           name: '项目' | |||
|         }, { | |||
|           name: '裸眼/旧镜视力', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '是否散瞳', | |||
|           mydriasis: [] | |||
|         }, { | |||
|           name: '主觉验光', | |||
|           od: '', | |||
|           os: '', | |||
|           vaod: '', | |||
|           vaos: '', | |||
|           type: '2' | |||
|         }, { | |||
|           name: '眼位', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '眼压/mmHg', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '角膜曲率/D', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '角膜厚度/μm', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '处方', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '建议', | |||
|           suggest: [] | |||
|         }, { | |||
|           name: '眼轴/眼底照/地形图', | |||
|           type: '' | |||
|         }] | |||
|     }, | |||
|     handleDelete() { | |||
|       this.$emit('del') | |||
|     }, | |||
|     //   签名 | |||
|     singHandle(text) { | |||
|       const value = { | |||
|         text: text, | |||
|         pageName: 'operationRecord' | |||
|       } | |||
|       this.$store.commit('beginSign', value) | |||
|     }, | |||
|     objectSpanMethod({ row, column, rowIndex, columnIndex }) { | |||
|       if (columnIndex === 0) { | |||
|         if (rowIndex === 5) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 3 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 1) { | |||
|         if (rowIndex === 0 || rowIndex === 2 || rowIndex === 3 || rowIndex === 4 || rowIndex === 8 || rowIndex === 15 || rowIndex === 16) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 2 | |||
|           } | |||
|         } else if (rowIndex === 5) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 2) { | |||
|         if (rowIndex === 0 || rowIndex === 2 || rowIndex === 3 || rowIndex === 4 || rowIndex === 5 || rowIndex === 8 || rowIndex === 15 || rowIndex === 16) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } | |||
|     }, | |||
|     headSpanMethod({ row, column, rowIndex, columnIndex }) { | |||
|       if (columnIndex === 0) { | |||
|         if (rowIndex === 0) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 6 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 1 || columnIndex === 3) { | |||
|         if (rowIndex === 3) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 2 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 1 || columnIndex === 2 || columnIndex === 3 || columnIndex === 4 || columnIndex === 5) { | |||
|         if (rowIndex === 0) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } | |||
|     }, | |||
|     handlePrint() { | |||
|       this.printPage('threeFunc') | |||
|     }, | |||
|     handleSaveTable() { | |||
|       const data = { | |||
|         a: this.headData, | |||
|         b: this.tableData | |||
|       } | |||
|       this.$emit('save', data) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss"> | |||
| 
 | |||
| #operation-record { | |||
|   //height: 93%; | |||
|   // overflow: auto; | |||
|   .btnBox{ | |||
|     display: flex; | |||
|     justify-content: flex-end; | |||
|   } | |||
|   .el-table--border{ | |||
|     border-right: 1px solid #EBEEF5; | |||
|   } | |||
|   .operation-record-table { | |||
|     //width: 100%; | |||
|     width: 840px !important; | |||
|     padding-right: 8px; | |||
|     .operation-text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .sign { | |||
|       cursor: pointer; | |||
|       color: #46a1ff; | |||
|       font-weight: 400; | |||
|     } | |||
|   } | |||
|   .center { | |||
|     text-align: center; | |||
|   } | |||
|   .left { | |||
|     text-align: left; | |||
|   } | |||
| 
 | |||
|   .width-50 { | |||
|     .el-input { | |||
|       width: 50px; | |||
|     } | |||
|   } | |||
|   .width-70 { | |||
|     .el-input { | |||
|       width: 70px; | |||
|     } | |||
|   } | |||
| 
 | |||
|   .width-100 { | |||
|     .el-input { | |||
|       width: 100px; | |||
|     } | |||
|   } | |||
|   .width-120 { | |||
|     .el-input { | |||
|       width: 120px; | |||
|     } | |||
|   } | |||
|   .width-180 { | |||
|     .el-input { | |||
|       width: 180px; | |||
|     } | |||
|   } | |||
|   .el-input__inner { | |||
|     border: none; | |||
|     height: 26px !important; | |||
|     line-height: 26px !important; | |||
|     text-align: center; | |||
|   } | |||
| 
 | |||
|   .el-input__inner { | |||
|     border-bottom: 1px solid #ccc; | |||
|     border-radius: 0; | |||
|     padding: 0; | |||
|   } | |||
|   .el-input__prefix { | |||
|     display: none; | |||
|   } | |||
|   //.el-date-editor.el-input, | |||
|   //.el-date-editor.el-input__inner { | |||
|   //  width: 140px; | |||
|   //} | |||
|   //.el-input__suffix { | |||
|   //  top: -7px; | |||
|   //} | |||
|   //.el-checkbox__input.is-checked + .el-checkbox__label { | |||
|   //  color: #606266; | |||
|   //} | |||
|   //.el-checkbox__input.is-checked .el-checkbox__inner, | |||
|   //.el-checkbox__input.is-indeterminate .el-checkbox__inner { | |||
|   //  background: #767676; | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   //.el-checkbox__inner:hover, | |||
|   //.el-checkbox__inner { | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   //.el-radio__input.is-checked + .el-radio__label { | |||
|   //  color: #606266; | |||
|   //} | |||
|   //.el-radio__input.is-checked .el-radio__inner { | |||
|   //  background: #767676; | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   //.el-radio { | |||
|   //  margin-right: 8px; | |||
|   //  display: block; | |||
|   //} | |||
|   //.el-radio__inner { | |||
|   //  border: 1px solid #767676 !important; | |||
|   //} | |||
|   //.el-radio__inner:hover { | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |||
|     background: none !important; | |||
|   } | |||
|   .has-gutter { | |||
|     display: none; | |||
|     .cell { | |||
|       font-weight: 700; | |||
|     } | |||
|     .el-table__cell { | |||
|       background: #ced4d9; | |||
|     } | |||
|   } | |||
|   .el-table__header-wrapper{ | |||
|     display: none; | |||
|   } | |||
| } | |||
| </style> | |||
| @ -0,0 +1,660 @@ | |||
| <template> | |||
|   <div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> | |||
|     <div class="btnBox"> | |||
|       <el-button v-print="'#eyesFunc'" size="small">打印</el-button> | |||
|       <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | |||
|       <el-button type="danger" size="small" @click="handleDelete">删除</el-button> | |||
|     </div> | |||
|     <div id="eyesFunc" style="width: 840px;padding-right: 8px"> | |||
|       <p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> | |||
|         双眼视功能检查报告单 | |||
|       </p> | |||
|       <div style="display: flex;justify-content: space-around"> | |||
|         <span>登记号:<el-input v-model="dataForm.number" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|         <span>姓名:<el-input v-model="dataForm.name" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|         <span>性别:<el-input v-model="dataForm.sex" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|         <span>年龄:<el-input v-model="dataForm.age" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|       </div> | |||
|       <div class="operation-record-table"> | |||
|         <el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"> | |||
|           <el-table-column label="" width="" align="center" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == 1"> | |||
|                 <div class="width-180 center"> | |||
|                   OS:<el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 'FV'"> | |||
|                 <div class="width-180 center"> | |||
|                   远BO:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == '建议'"> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   建议:<el-input v-model="scope.row.value" placeholder="" style="width: 640px" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == '签名'" style="display: flex;justify-content: space-between"> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   视光师:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   医师:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   日期:<el-date-picker | |||
|                     v-model="scope.row.c" | |||
|                     type="date" | |||
|                     placeholder="选择日期" | |||
|                   /> | |||
|                 </div> | |||
|               </div> | |||
|               <p v-else>{{ scope.row.name }}</p> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false" prop="type"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '1'"> | |||
|                 <div class="width-180 center"> | |||
|                   VA:<el-input v-model="scope.row.odVa" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '屈光状态'"> | |||
|                 <div class="width-180 center"> | |||
|                   OD:<el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '交替遮盖试验(CT)'"> | |||
|                 <div class="width-180 center"> | |||
|                   <p>远:<el-input v-model="scope.row.a" placeholder="" /></p> | |||
|                   <p>近:<el-input v-model="scope.row.b" placeholder="" /></p> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '集合近点(NPC)'"> | |||
|                 <div class="width-180 center"> | |||
|                   破裂点:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'Worth-4-dot'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" /> | |||
|                   @D( | |||
|                   <el-input v-model="scope.row.b" placeholder="" /> | |||
|                   ) | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '立体视(stereo)'"> | |||
|                 <div class="width-180 center"> | |||
|                   RDD(远):<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼位'"> | |||
|                 <div class="width-180 center"> | |||
|                   远:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '梯度性AC/A'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '融像性聚散(FV)'"> | |||
|                 <div class="width-180 center"> | |||
|                   远BI:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'FV'"> | |||
|                 <div class="width-180 center"> | |||
|                   近BO:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '相对调节(RA)'"> | |||
|                 <div class="width-180 center"> | |||
|                   NRA:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '调节幅度(AMP)'"> | |||
|                 <div class="width-180 center"> | |||
|                   <div> | |||
|                     OD:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                   </div> | |||
|                   OS:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '调节灵活度(AF)'"> | |||
|                 <div class="width-180 center"> | |||
|                   <div> | |||
|                     OD:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                   </div> | |||
|                   OS:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '调节反应(FCC)'"> | |||
|                 <div class="width-180 center"> | |||
|                   <div> | |||
|                     OD:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                   </div> | |||
|                   OS:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '初步诊断'"> | |||
|                 <div class="width-180"> | |||
|                   <div style="margin-bottom: 8px"> | |||
|                     <el-checkbox v-model="scope.row.value">正常</el-checkbox> | |||
|                   </div> | |||
|                   <div style="display: flex"> | |||
|                     <p style="width: 220px;">聚散功能异常:</p> | |||
|                     <el-checkbox-group v-model="scope.row.a"> | |||
|                       <el-checkbox label="集合不足" /> | |||
|                       <el-checkbox label="集合过度" /> | |||
|                       <el-checkbox label="散开不足" /> | |||
|                       <el-checkbox label="散开过度" /> | |||
|                       <el-checkbox label="内隐科" /> | |||
|                       <el-checkbox label="外隐科" /> | |||
|                       <el-checkbox label="假性集合不足" /> | |||
|                       <el-checkbox label="融像性聚散功能异常" /> | |||
|                     </el-checkbox-group> | |||
|                   </div> | |||
|                   <div style="display: flex"> | |||
|                     <p style="width: 140px;">调节功能异常:</p> | |||
|                     <el-checkbox-group v-model="scope.row.b"> | |||
|                       <el-checkbox label="调节灵敏度下降" /> | |||
|                       <el-checkbox label="调节不能持久" /> | |||
|                       <el-checkbox label="调节不足" /> | |||
|                       <el-checkbox label="调节过度" /> | |||
|                       <el-checkbox label="调节麻痹" /> | |||
|                     </el-checkbox-group> | |||
|                   </div> | |||
|                   <div style="display: flex"> | |||
|                     <span>斜视:</span> | |||
|                     <el-checkbox-group v-model="scope.row.c"> | |||
|                       <el-checkbox label="内斜视" /> | |||
|                       <el-checkbox label="外斜视" /> | |||
|                       <el-checkbox label="间歇性外斜视" /> | |||
|                       <el-checkbox label="垂直斜" /> | |||
|                     </el-checkbox-group> | |||
|                   </div> | |||
|                 </div> | |||
|               </div> | |||
|               <!--            <!– 签字 –>--> | |||
|               <!--            <div v-if="scope.row" class="sign center">--> | |||
|               <!--              <!–              <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>–>--> | |||
|               <!--              <!–              <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">–>--> | |||
|               <!--            </div>--> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '屈光状态'"> | |||
|                 <div class="width-180 center"> | |||
|                   VA:<el-input v-model="scope.row.osVa" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '交替遮盖试验(CT)'"> | |||
|                 <div class="width-180 center"> | |||
|                   眼球运动:<el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '集合近点(NPC)'"> | |||
|                 <div class="width-180 center"> | |||
|                   恢复点:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '立体视(stereo)'"> | |||
|                 <div class="width-180 center"> | |||
|                   TNO(近):<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '眼位'"> | |||
|                 <div class="width-180 center"> | |||
|                   近:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '梯度性AC/A'"> | |||
|                 <div class="width-180 center"> | |||
|                   计算性AC/A:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '融像性聚散(FV)'"> | |||
|                 <div class="width-180 center"> | |||
|                   近BI:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '相对调节(RA)'"> | |||
|                 <div class="width-180 center"> | |||
|                   PRA:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '调节幅度(AMP)'"> | |||
|                 <div class="width-180 center"> | |||
|                   OU:<el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '调节灵活度(AF)'"> | |||
|                 <div class="width-180 center"> | |||
|                   OU:<el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '调节反应(FCC)'"> | |||
|                 <div class="width-180 center"> | |||
|                   OU:<el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <!--            <!– 签字 –>--> | |||
|               <!--            <div v-if="scope.row" class="sign center">--> | |||
|               <!--              <!–              <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>–>--> | |||
|               <!--              <!–              <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">–>--> | |||
|               <!--            </div>--> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <!--        <el-table-column label="手术记录" :resizable="false">--> | |||
|           <!--          <template slot-scope="scope">--> | |||
|           <!--            <span v-if="scope.row.name !=='手术日期/主刀签字'">--> | |||
|           <!--<!–              <span v-if="!operationRecord.nurseSignImgOne" class="sign" @click="singHandle('nurseSignImgOne')">点击签字</span>–>--> | |||
|           <!--<!–              <img v-if="operationRecord.nurseSignImgOne" :src="operationRecord.nurseSignImgOne" alt="" width="90px" @click="singHandle('nurseSignImgOne')">–>--> | |||
|           <!--            </span>--> | |||
|           <!--          </template>--> | |||
|           <!--        </el-table-column>--> | |||
|         </el-table> | |||
|       </div> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| export default { | |||
|   props: { | |||
|     archiveCaseCRFItem: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     }, | |||
|     formContent: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       dataForm: { | |||
|         number: '', | |||
|         name: '', | |||
|         sex: '', | |||
|         age: '' | |||
|       }, | |||
|       tableData: [ | |||
|         { | |||
|           name: '屈光状态', | |||
|           osVa: '', | |||
|           od: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '1', | |||
|           odVa: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '交替遮盖试验(CT)', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '集合近点(NPC)', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: 'Worth-4-dot', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '立体视(stereo)', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: '眼位', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: '梯度性AC/A', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: '融像性聚散(FV)', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: 'FV', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '相对调节(RA)', | |||
|           a: '', | |||
|           b: '', | |||
|         }, { | |||
|           name: '调节幅度(AMP)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '调节灵活度(AF)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '调节反应(FCC)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '初步诊断', | |||
|           value: '', | |||
|           a: [], | |||
|           b: [], | |||
|           c: [] | |||
|         }, { | |||
|           name: '建议', | |||
|           value: '' | |||
|         }, { | |||
|           name: '签名', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }] | |||
| 
 | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     operationRecord: { | |||
|       get() { | |||
|         return this.$store.getters.operationRecord | |||
|       } | |||
|     } | |||
|   }, | |||
|   watch: { | |||
|     operationRecord: { | |||
|       handler(value) { | |||
|         console.log(value) | |||
|       }, | |||
|       deep: true, | |||
|       immediate: true | |||
|     } | |||
|   }, | |||
|   created() { | |||
|   }, | |||
|   methods: { | |||
|     setData() { | |||
|       this.dataForm = this.formContent.a | |||
|       this.tableData = this.formContent.b | |||
|       console.log(this.tableData) | |||
|     }, | |||
|     reSet() { | |||
|       this.dataForm = { | |||
|         number: '', | |||
|         name: '', | |||
|         sex: '', | |||
|         age: '', | |||
|         file: '', | |||
|         fileNUm: '' | |||
|       } | |||
|       this.tableData = [ | |||
|         { | |||
|           name: '屈光状态', | |||
|           osVa: '', | |||
|           od: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '1', | |||
|           odVa: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '交替遮盖试验(CT)', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '集合近点(NPC)', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: 'Worth-4-dot', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '立体视(stereo)', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: '眼位', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: '梯度性AC/A', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: '融像性聚散(FV)', | |||
|           a: '', | |||
|           b: '' | |||
|         }, { | |||
|           name: 'FV', | |||
|           a: '', | |||
|           b: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '相对调节(RA)', | |||
|           a: '', | |||
|           b: '', | |||
|         }, { | |||
|           name: '调节幅度(AMP)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '调节灵活度(AF)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '调节反应(FCC)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '初步诊断', | |||
|           value: '', | |||
|           a: [], | |||
|           b: [], | |||
|           c: [] | |||
|         }, { | |||
|           name: '建议', | |||
|           value: '' | |||
|         }, { | |||
|           name: '签名', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }] | |||
|     }, | |||
|     handleSaveTable() { | |||
|       const data = { | |||
|         a: this.dataForm, | |||
|         b: this.tableData | |||
|       } | |||
|       this.$emit('save', data) | |||
|     }, | |||
|     handleDelete() { | |||
|       this.$emit('del') | |||
|     }, | |||
|     //   签名 | |||
|     singHandle(text) { | |||
|       const value = { | |||
|         text: text, | |||
|         pageName: 'operationRecord' | |||
|       } | |||
|       this.$store.commit('beginSign', value) | |||
|     }, | |||
|     objectSpanMethod({ row, column, rowIndex, columnIndex }) { | |||
|       if (columnIndex === 0) { | |||
|         if (rowIndex === 0 || rowIndex === 8) { | |||
|           return { | |||
|             rowspan: 2, | |||
|             colspan: 1 | |||
|           } | |||
|         } else if (rowIndex === 15 || rowIndex === 16) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 3 | |||
|           } | |||
|         } | |||
|       } else if (rowIndex === 4) { | |||
|         if (columnIndex === 1) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 2 | |||
|           } | |||
|         } | |||
|       } else if (rowIndex === 14) { | |||
|         if (columnIndex === 1) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 2 | |||
|           } | |||
|         } | |||
|       } | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss"> | |||
| #operation-record { | |||
|   height: 100%; | |||
|    overflow: auto; | |||
|   .operation-record-table { | |||
|     width: 100%; | |||
|     .operation-text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .sign { | |||
|       cursor: pointer; | |||
|       color: #46a1ff; | |||
|       font-weight: 400; | |||
|     } | |||
|   } | |||
|   .center { | |||
|     text-align: center; | |||
|   } | |||
|   .left { | |||
|     text-align: left; | |||
|   } | |||
| 
 | |||
|   .width-50 { | |||
|     .el-input { | |||
|       width: 50px; | |||
|     } | |||
|   } | |||
|   .width-70 { | |||
|     .el-input { | |||
|       width: 70px; | |||
|     } | |||
|   } | |||
| 
 | |||
|   .width-100 { | |||
|     .el-input { | |||
|       width: 100px; | |||
|     } | |||
|   } | |||
|   .width-120 { | |||
|     .el-input { | |||
|       width: 120px; | |||
|     } | |||
|   } | |||
|   .width-180 { | |||
|     .el-input { | |||
|       width: 180px; | |||
|     } | |||
|   } | |||
|   .el-input__inner { | |||
|     border: none; | |||
|     height: 26px !important; | |||
|     line-height: 26px !important; | |||
|     text-align: center; | |||
|   } | |||
| 
 | |||
|   .el-input__inner { | |||
|     border-bottom: 1px solid #ccc; | |||
|     border-radius: 0; | |||
|     padding: 0; | |||
|   } | |||
|   .el-input__prefix { | |||
|     display: none; | |||
|   } | |||
|   .el-date-editor.el-input, | |||
|   .el-date-editor.el-input__inner { | |||
|     width: 140px; | |||
|   } | |||
|   .el-input__suffix { | |||
|     top: -7px; | |||
|   } | |||
|   .el-checkbox__input.is-checked + .el-checkbox__label { | |||
|     color: #606266; | |||
|   } | |||
|   .el-checkbox__input.is-checked .el-checkbox__inner, | |||
|   .el-checkbox__input.is-indeterminate .el-checkbox__inner { | |||
|     background: #767676; | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-checkbox__inner:hover, | |||
|   .el-checkbox__inner { | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-radio__input.is-checked + .el-radio__label { | |||
|     color: #606266; | |||
|   } | |||
|   .el-radio__input.is-checked .el-radio__inner { | |||
|     background: #767676; | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-radio { | |||
|     margin-right: 8px; | |||
|     display: block; | |||
|   } | |||
|   .el-radio__inner { | |||
|     border: 1px solid #767676 !important; | |||
|   } | |||
|   .el-radio__inner:hover { | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |||
|     background: none !important; | |||
|   } | |||
|   .has-gutter { | |||
|     display: none; | |||
|     .cell { | |||
|       font-weight: 700; | |||
|     } | |||
|     .el-table__cell { | |||
|       background: #ced4d9; | |||
|     } | |||
|   } | |||
|   // .el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { | |||
|   //   border-right: 1px solid #808080; | |||
|   // } | |||
|   // .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf { | |||
|   //   border-bottom: 1px solid #808080 !important; | |||
|   // } | |||
|   // .el-table--border, .el-table--group { | |||
|   //   border: 1px solid #808080; | |||
|   // } | |||
|   // .el-table--border { | |||
|   //   border-bottom: 0; | |||
|   // } | |||
| } | |||
| </style> | |||
| @ -0,0 +1,711 @@ | |||
| <template> | |||
|   <div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> | |||
|     <div class="btnBox"> | |||
|       <el-button v-print="'#optomeFunc'" size="small">打印</el-button> | |||
|       <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | |||
|       <el-button type="danger" size="small" @click="handleDelete">删除</el-button> | |||
|     </div> | |||
|     <div id="optomeFunc" style="width: 840px;padding-right: 8px"> | |||
|       <p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> | |||
|         验光报告单 | |||
|       </p> | |||
|       <div style="display: flex;justify-content: space-around"> | |||
|         <span>登记号:<el-input v-model="dataForm.number" style="width: 80px" size="small" clearable placeholder="" /></span> | |||
|         <span>姓名:<el-input v-model="dataForm.name" style="width: 80px" size="small" clearable placeholder="" /></span> | |||
|         <span>性别:<el-input v-model="dataForm.sex" style="width: 60px" size="small" clearable placeholder="" /></span> | |||
|         <span>年龄:<el-input v-model="dataForm.age" style="width: 60px" size="small" clearable placeholder="" /></span> | |||
|         <span>屈光发育档案:<el-input v-model="dataForm.file" style="width: 60px" size="small" clearable placeholder="" /></span> | |||
|         <span>档案号:<el-input v-model="dataForm.fileNUm" style="width: 80px" size="small" clearable placeholder="" /></span> | |||
|       </div> | |||
|       <div class="operation-record-table"> | |||
|         <el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"> | |||
|           <el-table-column label="" width="" align="center" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == 1"> | |||
|                 <div class="width-180 center"> | |||
|                   瞳孔 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 2"> | |||
|                 <div class="width-180 center"> | |||
|                   检查方法 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 3"> | |||
|                 <div class="width-180 center"> | |||
|                   右眼 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 4"> | |||
|                 <div class="width-180 center"> | |||
|                   左眼 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 5"> | |||
|                 <div class="width-180 center"> | |||
|                   右眼 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 6"> | |||
|                 <div class="width-180 center"> | |||
|                   左眼 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name == 7" style="display: flex;justify-content: space-between"> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   视光师:<el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   医师:<el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|                 <div class="width-180" style="text-align: left"> | |||
|                   日期:<el-date-picker | |||
|                     v-model="scope.row.c" | |||
|                     type="date" | |||
|                     placeholder="选择日期" | |||
|                 /> | |||
|                 </div> | |||
|               </div> | |||
|               <p v-else>{{ scope.row.name }}</p> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '1'"> | |||
|                 <div class="width-180"> | |||
|                   <el-checkbox-group v-model="scope.row.pupil"> | |||
|                     <el-checkbox label="正常瞳孔" /> | |||
|                     <el-checkbox label="复方托吡卡胺" /> | |||
|                     <el-checkbox label="美多丽" /> | |||
|                     <el-checkbox label="赛飞杰" /> | |||
|                     <el-checkbox label="阿托品" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '2'"> | |||
|                 <div class="width-180"> | |||
|                   <el-checkbox-group v-model="scope.row.examine"> | |||
|                     <el-checkbox label="检影" /> | |||
|                     <el-checkbox label="综合" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '3'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '4'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '5'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '6'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '基本信息'"> | |||
|                 <div class="width-100 center"> | |||
|                   裸眼视力 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '最终处方'"> | |||
|                 <div class="width-100"> | |||
|                   <el-checkbox-group v-model="scope.row.value"> | |||
|                     <el-checkbox label="远用" /> | |||
|                     <el-checkbox label="近用" /> | |||
|                   </el-checkbox-group> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '配镜建议'"> | |||
|                 <div class="width-180"> | |||
|                   <div style="display: flex"> | |||
|                     <el-checkbox-group v-model="scope.row.suggest"> | |||
|                       <el-checkbox label="单光" /> | |||
|                       <el-checkbox label="离焦镜片" /> | |||
|                       <el-checkbox label="软镜" /> | |||
|                       <el-checkbox label="RGP" /> | |||
|                       <el-checkbox label="OK镜" /> | |||
|                     </el-checkbox-group> | |||
|                     <p style="margin-left: 16px"> | |||
|                       其他:<el-input v-model="scope.row.value" placeholder="" /> | |||
|                     </p> | |||
|                   </div> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '备注'"> | |||
|                 <div class="width-180"> | |||
|                   <el-input v-model="scope.row.value" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '基本信息'"> | |||
|                 <div class="width-180 center"> | |||
|                   右眼 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '验光检查'"> | |||
|                 <div class="width-180 center"> | |||
|                   球镜(DS) | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '3'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '4'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '5'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '6'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <!--            <div v-if="scope.row.name == '最终处方'">--> | |||
|               <!--              <div class="width-100 center">--> | |||
|               <!--                恢复点:<el-input v-model="scope.row.value" placeholder="" />--> | |||
|               <!--              </div>--> | |||
|               <!--            </div>--> | |||
|               <!--            <div v-if="scope.row.name == '立体视(stereo)'">--> | |||
|               <!--              <div class="width-100 center">--> | |||
|               <!--                TNO(近):<el-input v-model="scope.row.value" placeholder="" />--> | |||
|               <!--              </div>--> | |||
|               <!--            </div>--> | |||
| 
 | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '基本信息'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '验光检查'"> | |||
|                 <div class="width-100 center"> | |||
|                   柱镜(DC) | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '3'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '4'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '5'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '6'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '基本信息'"> | |||
|                 <div class="width-180 center"> | |||
|                   左眼 | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '验光检查'"> | |||
|                 <div class="width-180 center"> | |||
|                   轴位(A) | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '3'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.d" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '4'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.d" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '5'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.d" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '6'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.d" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '基本信息'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '验光检查'"> | |||
|                 <div class="width-180 center"> | |||
|                   矫正视力(VA) | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '3'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.e" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '4'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.e" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '5'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.e" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '6'"> | |||
|                 <div class="width-100 center"> | |||
|                   <el-input v-model="scope.row.e" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '验光检查'"> | |||
|                 <div class="width-180 center"> | |||
|                   下加光(ADD) | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|         </el-table> | |||
|         <p style="text-align: left;margin-top: 3px">说明:1.持本报告但配镜仅供参考。              2.本报告单有效期3个月</p> | |||
|       </div> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| export default { | |||
|   props: { | |||
|     archiveCaseCRFItem: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     }, | |||
|     formContent: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       dataForm: { | |||
|         number: '', | |||
|         name: '', | |||
|         sex: '', | |||
|         age: '', | |||
|         file: '', | |||
|         fileNUm: '' | |||
|       }, | |||
|       tableData: [ | |||
|         { | |||
|           name: '基本信息', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '1', | |||
|           pupil: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '2', | |||
|           examine: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '验光检查', | |||
|           type: '' | |||
|         }, { | |||
|           name: '3', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '4', | |||
|           type: '', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '' | |||
|         }, { | |||
|           name: '最终处方', | |||
|           value: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '5', | |||
|           type: '', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '' | |||
|         }, { | |||
|           name: '6', | |||
|           type: '', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '' | |||
|         }, { | |||
|           name: '配镜建议', | |||
|           suggest: [], | |||
|           value: '' | |||
|         }, { | |||
|           name: '备注', | |||
|           value: '' | |||
|         }, { | |||
|           name: '7', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }] | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     operationRecord: { | |||
|       get() { | |||
|         return this.$store.getters.operationRecord | |||
|       } | |||
|     } | |||
|   }, | |||
|   watch: { | |||
|     operationRecord: { | |||
|       handler(value) { | |||
|         console.log(value) | |||
|       }, | |||
|       deep: true, | |||
|       immediate: true | |||
|     } | |||
|   }, | |||
|   created() { | |||
|     // this.queryData() | |||
|   }, | |||
|   methods: { | |||
|     setData() { | |||
|       this.dataForm = this.formContent.a | |||
|       this.tableData = this.formContent.b | |||
|       console.log(this.tableData) | |||
|     }, | |||
|     reSet() { | |||
|       this.dataForm = { | |||
|         number: '', | |||
|         name: '', | |||
|         sex: '', | |||
|         age: '', | |||
|         file: '', | |||
|         fileNUm: '' | |||
|       } | |||
|       this.tableData = [ | |||
|         { | |||
|           name: '基本信息', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '1', | |||
|           pupil: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '2', | |||
|           examine: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '验光检查', | |||
|           type: '' | |||
|         }, { | |||
|           name: '3', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '4', | |||
|           type: '', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '' | |||
|         }, { | |||
|           name: '最终处方', | |||
|           value: [], | |||
|           type: '' | |||
|         }, { | |||
|           name: '5', | |||
|           type: '', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '' | |||
|         }, { | |||
|           name: '6', | |||
|           type: '', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '' | |||
|         }, { | |||
|           name: '配镜建议', | |||
|           suggest: [], | |||
|           value: '' | |||
|         }, { | |||
|           name: '备注', | |||
|           value: '' | |||
|         }, { | |||
|           name: '7', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }] | |||
|     }, | |||
|     queryData() { | |||
|       const ws = new WebSocket('ws://192.168.4.24:8036/xiangan-crf/websocket/0071') | |||
|       ws.onopen = function() { | |||
|         console.log('连接成功') | |||
|       } | |||
|       ws.onerror = function() { | |||
|         console.log('连接失败') | |||
|       } | |||
|       // ws.send() | |||
|       ws.onmessage = function(msg) { | |||
|         const data = JSON.parse(JSON.stringify(msg.data)) | |||
|         // console.log(msg.data) | |||
|         console.log(data) | |||
|       } | |||
|     }, | |||
|     handleSaveTable() { | |||
|       const data = { | |||
|         a: this.dataForm, | |||
|         b: this.tableData | |||
|       } | |||
|       this.$emit('save', data) | |||
|     }, | |||
|     handleDelete() { | |||
|       this.$emit('del') | |||
|     }, | |||
|     //   签名 | |||
|     singHandle(text) { | |||
|       const value = { | |||
|         text: text, | |||
|         pageName: 'operationRecord' | |||
|       } | |||
|       this.$store.commit('beginSign', value) | |||
|     }, | |||
|     objectSpanMethod({ row, column, rowIndex, columnIndex }) { | |||
|       if (columnIndex === 0) { | |||
|         if (rowIndex === 0 || rowIndex === 3 || rowIndex === 6) { | |||
|           // [0,0][0,3][0,6] 合并单元格 3行合并1列 | |||
|           return { | |||
|             rowspan: 3, | |||
|             colspan: 1 | |||
|           } | |||
|         } | |||
|         // [0,11] 最后一行 7列合并城1行 | |||
|         if (rowIndex === 11) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 7 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 1) { | |||
|         if (rowIndex === 6 || rowIndex === 9 || rowIndex === 10) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 6 | |||
|           } | |||
|         } | |||
|         if (rowIndex === 1 || rowIndex === 2) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 6 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 4) { | |||
|         if (rowIndex === 0) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 2 | |||
|           } | |||
|         } | |||
|       } else if (rowIndex === 6 || rowIndex === 9 || rowIndex === 10) { | |||
|         if (columnIndex === 2 || columnIndex === 3 || columnIndex === 4 || columnIndex === 5 || columnIndex === 6) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss"> | |||
| #operation-record { | |||
|   //height: 93%; | |||
|   // overflow: auto; | |||
|   .operation-record-table { | |||
|     width: 100%; | |||
|     .operation-text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .sign { | |||
|       cursor: pointer; | |||
|       color: #46a1ff; | |||
|       font-weight: 400; | |||
|     } | |||
|   } | |||
|   .center { | |||
|     text-align: center; | |||
|   } | |||
|   .left { | |||
|     text-align: left; | |||
|   } | |||
| 
 | |||
|   .width-50 { | |||
|     .el-input { | |||
|       width: 50px; | |||
|     } | |||
|   } | |||
|   .width-70 { | |||
|     .el-input { | |||
|       width: 70px; | |||
|     } | |||
|   } | |||
| 
 | |||
|   .width-100 { | |||
|     .el-input { | |||
|       width: 100px; | |||
|     } | |||
|   } | |||
|   .width-120 { | |||
|     .el-input { | |||
|       width: 120px; | |||
|     } | |||
|   } | |||
|   .width-180 { | |||
|     .el-input { | |||
|       width: 180px; | |||
|     } | |||
|   } | |||
|   .el-input__inner { | |||
|     border: none; | |||
|     height: 26px !important; | |||
|     line-height: 26px !important; | |||
|     text-align: center; | |||
|   } | |||
| 
 | |||
|   .el-input__inner { | |||
|     border-bottom: 1px solid #ccc; | |||
|     border-radius: 0; | |||
|     padding: 0; | |||
|   } | |||
|   .el-input__prefix { | |||
|     display: none; | |||
|   } | |||
|   .el-date-editor.el-input, | |||
|   .el-date-editor.el-input__inner { | |||
|     width: 140px; | |||
|   } | |||
|   .el-input__suffix { | |||
|     top: -7px; | |||
|   } | |||
|   .el-checkbox__input.is-checked + .el-checkbox__label { | |||
|     color: #606266; | |||
|   } | |||
|   .el-checkbox__input.is-checked .el-checkbox__inner, | |||
|   .el-checkbox__input.is-indeterminate .el-checkbox__inner { | |||
|     background: #767676; | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-checkbox__inner:hover, | |||
|   .el-checkbox__inner { | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-radio__input.is-checked + .el-radio__label { | |||
|     color: #606266; | |||
|   } | |||
|   .el-radio__input.is-checked .el-radio__inner { | |||
|     background: #767676; | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-radio { | |||
|     margin-right: 8px; | |||
|     display: block; | |||
|   } | |||
|   .el-radio__inner { | |||
|     border: 1px solid #767676 !important; | |||
|   } | |||
|   .el-radio__inner:hover { | |||
|     border-color: #767676; | |||
|   } | |||
|   .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |||
|     background: none !important; | |||
|   } | |||
|   .has-gutter { | |||
|     display: none; | |||
|     .cell { | |||
|       font-weight: 700; | |||
|     } | |||
|     .el-table__cell { | |||
|       background: #ced4d9; | |||
|     } | |||
|   } | |||
|   // .el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { | |||
|   //   border-right: 1px solid #808080; | |||
|   // } | |||
|   // .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf { | |||
|   //   border-bottom: 1px solid #808080 !important; | |||
|   // } | |||
|   // .el-table--border, .el-table--group { | |||
|   //   border: 1px solid #808080; | |||
|   // } | |||
|   // .el-table--border { | |||
|   //   border-bottom: 0; | |||
|   // } | |||
| } | |||
| </style> | |||
| @ -0,0 +1,764 @@ | |||
| <template> | |||
|   <div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> | |||
|     <div class="btnBox"> | |||
|       <el-button v-print="'#threeFunc'" size="small">打印</el-button> | |||
|       <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | |||
|       <el-button type="danger" size="small" @click="handleDelete">删除</el-button> | |||
|     </div> | |||
|     <div id="threeFunc" style="width: 840px;padding-right: 8px"> | |||
|       <p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> | |||
|         三级视功能检查报告单 | |||
|       </p> | |||
|       <div style="display: flex;justify-content: space-around"> | |||
|         <span>登记号:<el-input v-model="dataForm.num" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|         <span>姓名:<el-input v-model="dataForm.name" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|         <span>性别:<el-input v-model="dataForm.sex" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|         <span>年龄:<el-input v-model="dataForm.age" style="width: 120px" size="small" clearable placeholder="" /></span> | |||
|       </div> | |||
|       <div class="operation-record-table"> | |||
|         <el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 820px; margin-top: 20px"> | |||
|           <el-table-column label="" width="" align="center" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name === 'ODOS'" style="position: relative;height: 180px"> | |||
|                 <div style="display: flex"> | |||
|                   <p style="width: 50%">OD</p> | |||
|                   <p style="width: 50%">OS</p> | |||
|                 </div> | |||
|                 <div class="rowLine"></div> | |||
|                 <div class="cloLine"></div> | |||
|                 <div class="rowLine-l"></div> | |||
|                 <div class="cloLine-l"></div> | |||
|                 <div class="Rline">R</div> | |||
|                 <div class="Rline-os">R</div> | |||
|                 <div class="Lline">L</div> | |||
|                 <div class="Lline-os">L</div> | |||
|                 <el-input class="ipt-a" v-model="scope.row.a" placeholder="" /> | |||
|                 <el-input class="ipt-b" v-model="scope.row.b" placeholder="" /> | |||
|                 <el-input class="ipt-c" v-model="scope.row.c" placeholder="" /> | |||
|                 <el-input class="ipt-d" v-model="scope.row.d" placeholder="" /> | |||
|                 <el-input class="ipt-e" v-model="scope.row.e" placeholder="" /> | |||
|                 <el-input class="ipt-f" v-model="scope.row.f" placeholder="" /> | |||
|                 <el-input class="ipt-g" v-model="scope.row.g" placeholder="" /> | |||
|                 <el-input class="ipt-h" v-model="scope.row.h" placeholder="" /> | |||
|                 <el-input class="ipt-j" v-model="scope.row.i" placeholder="" /> | |||
|                 <el-input class="iptos-a" v-model="scope.row.j" placeholder="" /> | |||
|                 <el-input class="iptos-b" v-model="scope.row.k" placeholder="" /> | |||
|                 <el-input class="iptos-c" v-model="scope.row.l" placeholder="" /> | |||
|                 <el-input class="iptos-d" v-model="scope.row.m" placeholder="" /> | |||
|                 <el-input class="iptos-e" v-model="scope.row.n" placeholder="" /> | |||
|                 <el-input class="iptos-f" v-model="scope.row.o" placeholder="" /> | |||
|                 <el-input class="iptos-g" v-model="scope.row.p" placeholder="" /> | |||
|                 <el-input class="iptos-h" v-model="scope.row.q" placeholder="" /> | |||
|                 <el-input class="iptos-j" v-model="scope.row.r" placeholder="" /> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name === 'TITMUS(近)'"> | |||
|                 <span>TITMUS(近):</span> | |||
|                 <el-input v-model="scope.row.a" style="width: 60%" placeholder="" /> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name === '报告描述'"> | |||
|                 <span>报告描述:</span> | |||
|                 <el-input v-model="scope.row.value" placeholder="" style="width: 80%" /> | |||
|               </div> | |||
|               <div v-else-if="scope.row.name === '签名'" style="display: flex;justify-content: space-between;padding: 0 16px"> | |||
|                 <div> | |||
|                   <span>视光师:</span> | |||
|                   <el-input v-model="scope.row.a" style="width: 160px" placeholder="" /> | |||
|                 </div> | |||
|                 <div> | |||
|                   <span>日期:</span> | |||
|                   <el-date-picker | |||
|                     v-model="scope.row.b" | |||
|                     type="date" | |||
|                     placeholder="选择日期" | |||
|                   /> | |||
|                 </div> | |||
|               </div> | |||
|               <span v-else>{{ scope.row.name }}</span> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false" prop="type"> | |||
|             <template slot-scope="scope"> | |||
|               <!--              {{scope.row.name}}--> | |||
|               <div v-if="scope.row.name == '屈光状态'"> | |||
|                 <div class="width-180 center"> | |||
|                   OD:<el-input v-model="scope.row.OD" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '屈光状态a'"> | |||
|                 <div class="width-180 center"> | |||
|                   OS:<el-input v-model="scope.row.OS" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'CT+Prism'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.ct" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '检查画片' && scope.row.type == '1'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.value" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '主观斜视角'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '客观斜视角'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '检查画片' && scope.row.type == '2'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.value" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '融合点'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.od" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'Worth-4-dot'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.a" placeholder="" style="width: 100px" /> | |||
|                   @D | |||
|                   <el-input v-model="scope.row.b" placeholder="" style="width: 100px" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'TITMUS(近)'"> | |||
|                 <div class="width-180 center"> | |||
|                   TNO(近): | |||
|                   <el-input v-model="scope.row.b" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|             </template> | |||
|           </el-table-column> | |||
|           <el-table-column label="" width="" :resizable="false"> | |||
|             <template slot-scope="scope"> | |||
|               <div v-if="scope.row.name == '屈光状态'"> | |||
|                 <div class="width-180 center"> | |||
|                   VA:<el-input v-model="scope.row.VA" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '屈光状态a'"> | |||
|                 <div class="width-180 center"> | |||
|                   VA:<el-input v-model="scope.row.VA" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '主观斜视角'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '客观斜视角'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == '融合点'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.os" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'Worth-4-dot'"> | |||
|                 <div class="width-180 center"> | |||
|                   <el-input v-model="scope.row.c" placeholder="" style="width: 100px" /> | |||
|                   @N | |||
|                   <el-input v-model="scope.row.d" placeholder="" style="width: 100px" /> | |||
|                 </div> | |||
|               </div> | |||
|               <div v-if="scope.row.name == 'TITMUS(近)'"> | |||
|                 <div class="width-180 center"> | |||
|                   RDD(远):<el-input v-model="scope.row.c" placeholder="" /> | |||
|                 </div> | |||
|               </div> | |||
|               <!--              <div v-if="scope.row.name == '同视机九方位检查'">--> | |||
|               <!--                <div class="width-180 center">--> | |||
|               <!--                  OU:<el-input v-model="scope.row.b.yghcValue" placeholder="" />--> | |||
|               <!--                </div>--> | |||
|               <!--              </div>--> | |||
|               <!--            <!– 签字 –>--> | |||
|               <!--            <div v-if="scope.row" class="sign center">--> | |||
|               <!--              <!–              <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>–>--> | |||
|               <!--              <!–              <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">–>--> | |||
|               <!--            </div>--> | |||
|             </template> | |||
|           </el-table-column> | |||
|         </el-table> | |||
|       </div> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| export default { | |||
|   props: { | |||
|     archiveCaseCRFItem: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     }, | |||
|     formContent: { | |||
|       type: Object, | |||
|       default: () => { } | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       dataForm: { | |||
|         num: '', | |||
|         name: '', | |||
|         sex: '', | |||
|         age: '' | |||
|       }, | |||
|       tableData: [ | |||
|         { | |||
|           name: '基础信息', | |||
|           type: '' | |||
|         }, | |||
|         { | |||
|           name: '屈光状态', | |||
|           OD: '', | |||
|           VA: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '屈光状态a', | |||
|           OS: '', | |||
|           VA: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: 'CT+Prism', | |||
|           ct: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '同时视检查', | |||
|           type: '' | |||
|         }, { | |||
|           name: '检查画片', | |||
|           value: '', | |||
|           type: '1' | |||
|         }, { | |||
|           name: '主观斜视角', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '客观斜视角', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '融合功能检查' | |||
|         }, { | |||
|           name: '检查画片', | |||
|           value: '', | |||
|           type: '2' | |||
|         }, { | |||
|           name: '融合点', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: 'Worth-4-dot', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '' | |||
|         }, { | |||
|           name: '立体式检查', | |||
|           value: '' | |||
|         }, { | |||
|           name: 'TITMUS(近)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '同视机九方位检查' | |||
|         }, { | |||
|           name: 'ODOS', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '', | |||
|           e: '', | |||
|           f: '', | |||
|           g: '', | |||
|           h: '', | |||
|           i: '', | |||
|           j: '', | |||
|           k: '', | |||
|           l: '', | |||
|           m: '', | |||
|           n: '', | |||
|           o: '', | |||
|           p: '', | |||
|           q: '', | |||
|           r: '' | |||
|         }, { | |||
|           name: '报告描述', | |||
|           value: '' | |||
|         }, { | |||
|           name: '签名', | |||
|           a: '', | |||
|           b: '' | |||
|         }] | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     operationRecord: { | |||
|       get() { | |||
|         return this.$store.getters.operationRecord | |||
|       } | |||
|     } | |||
|   }, | |||
|   watch: { | |||
|     operationRecord: { | |||
|       handler(value) { | |||
|         console.log(value) | |||
|       }, | |||
|       deep: true, | |||
|       immediate: true | |||
|     } | |||
|   }, | |||
|   created() { | |||
|     // this.printPage('threeFunc') | |||
|   }, | |||
|   methods: { | |||
|     setData() { | |||
|       this.dataForm = this.formContent.a | |||
|       this.tableData = this.formContent.b | |||
|       console.log(this.tableData) | |||
|     }, | |||
|     reSet() { | |||
|       this.dataForm = { | |||
|         num: '', | |||
|         name: '', | |||
|         sex: '', | |||
|         age: '' | |||
|       } | |||
|       this.tableData = [ | |||
|         { | |||
|           name: '基础信息', | |||
|           type: '' | |||
|         }, | |||
|         { | |||
|           name: '屈光状态', | |||
|           OD: '', | |||
|           VA: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '屈光状态a', | |||
|           OS: '', | |||
|           VA: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: 'CT+Prism', | |||
|           ct: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: '同时视检查', | |||
|           type: '' | |||
|         }, { | |||
|           name: '检查画片', | |||
|           value: '', | |||
|           type: '1' | |||
|         }, { | |||
|           name: '主观斜视角', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '客观斜视角', | |||
|           od: '', | |||
|           os: '' | |||
|         }, { | |||
|           name: '融合功能检查' | |||
|         }, { | |||
|           name: '检查画片', | |||
|           value: '', | |||
|           type: '2' | |||
|         }, { | |||
|           name: '融合点', | |||
|           od: '', | |||
|           os: '', | |||
|           type: '' | |||
|         }, { | |||
|           name: 'Worth-4-dot', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '', | |||
|           d: '' | |||
|         }, { | |||
|           name: '立体式检查', | |||
|           value: '' | |||
|         }, { | |||
|           name: 'TITMUS(近)', | |||
|           a: '', | |||
|           b: '', | |||
|           c: '' | |||
|         }, { | |||
|           name: '同视机九方位检查' | |||
|         }, { | |||
|           name: 'ODOS' | |||
|         }, { | |||
|           name: '报告描述', | |||
|           value: '' | |||
|         }, { | |||
|           name: '签名', | |||
|           a: '', | |||
|           b: '' | |||
|         }] | |||
|     }, | |||
|     //   签名 | |||
|     singHandle(text) { | |||
|       const value = { | |||
|         text: text, | |||
|         pageName: 'operationRecord' | |||
|       } | |||
|       this.$store.commit('beginSign', value) | |||
|     }, | |||
|     objectSpanMethod({ row, column, rowIndex, columnIndex }) { | |||
|       if (columnIndex === 0) { | |||
|         if (rowIndex === 0 || rowIndex === 4 || rowIndex === 8 || rowIndex === 12 || rowIndex === 17 || rowIndex === 15 || rowIndex === 16 || rowIndex === 14) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 3 | |||
|           } | |||
|         } else if (rowIndex === 1) { | |||
|           return { | |||
|             rowspan: 2, | |||
|             colspan: 1 | |||
|           } | |||
|         } else if (rowIndex === 2 || rowIndex === 4) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 1) { | |||
|         if (rowIndex === 3 || rowIndex === 5 || rowIndex === 9) { | |||
|           return { | |||
|             rowspan: 1, | |||
|             colspan: 2 | |||
|           } | |||
|         } else if (rowIndex === 0 || rowIndex === 4 || rowIndex === 8 || rowIndex === 9 || rowIndex === 12 || rowIndex === 14 || rowIndex === 15 || rowIndex === 16 || rowIndex === 17) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } else if (columnIndex === 2 || columnIndex === 1) { | |||
|         if (rowIndex === 0 || rowIndex === 3 || rowIndex === 4 || rowIndex === 5 || rowIndex === 9 || rowIndex === 8 || rowIndex === 12 || rowIndex === 14 || rowIndex === 15 || rowIndex === 16 || rowIndex === 17) { | |||
|           return { | |||
|             rowspan: 0, | |||
|             colspan: 0 | |||
|           } | |||
|         } | |||
|       } | |||
|     }, | |||
|     handlePrint() { | |||
|       this.printPage('threeFunc') | |||
|     }, | |||
|     handleSaveTable() { | |||
|       const data = { | |||
|         a: this.dataForm, | |||
|         b: this.tableData | |||
|       } | |||
|       this.$emit('save', data) | |||
|     }, | |||
|     handleDelete() { | |||
|       this.$emit('del') | |||
|     }, | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss"> | |||
| 
 | |||
| #operation-record { | |||
|   //height: 93%; | |||
|   // overflow: auto; | |||
|   .btnBox{ | |||
|     display: flex; | |||
|     justify-content: flex-end; | |||
|   } | |||
|   .el-table--border{ | |||
|     border-right: 1px solid #EBEEF5; | |||
|   } | |||
|   .operation-record-table { | |||
|     //width: 100%; | |||
|     width: 840px !important; | |||
|     padding-right: 8px; | |||
|     .Rline{ | |||
|       position: absolute; | |||
|       left: 60px; | |||
|       top: 80px; | |||
|     } | |||
|     .Rline-os{ | |||
|       position: absolute; | |||
|       right: 60px; | |||
|       top: 80px; | |||
|     } | |||
|     .Lline{ | |||
|       position: absolute; | |||
|       left: 330px; | |||
|       top: 80px; | |||
|     } | |||
|     .Lline-os{ | |||
|       position: absolute; | |||
|       right: 330px; | |||
|       top: 80px; | |||
|     } | |||
|     .rowLine{ | |||
|       width: 200px; | |||
|       height: 50px; | |||
|       position: absolute; | |||
|       left: 100px; | |||
|       top: 70px; | |||
|       border-top: 1px solid #000; | |||
|       border-bottom: 1px solid #000; | |||
|     } | |||
|     .rowLine-l{ | |||
|       width: 200px; | |||
|       height: 50px; | |||
|       position: absolute; | |||
|       right: 100px; | |||
|       top: 70px; | |||
|       border-top: 1px solid #000; | |||
|       border-bottom: 1px solid #000; | |||
|     } | |||
|     .cloLine{ | |||
|       width: 60px; | |||
|       height: 160px; | |||
|       left: 170px; | |||
|       top: 20px; | |||
|       position: absolute; | |||
|       border-left: 1px solid #000; | |||
|       border-right: 1px solid #000; | |||
|     } | |||
|     .cloLine-l{ | |||
|       width: 60px; | |||
|       height: 160px; | |||
|       right: 170px; | |||
|       top: 20px; | |||
|       position: absolute; | |||
|       border-left: 1px solid #000; | |||
|       border-right: 1px solid #000; | |||
|     } | |||
|     .ipt-a{ | |||
|       width: 50px; | |||
|       left: 114px; | |||
|       top: 33px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-b{ | |||
|       width: 50px; | |||
|       left: 176px; | |||
|       top: 33px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-c{ | |||
|       width: 50px; | |||
|       left: 242px; | |||
|       top: 33px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-d{ | |||
|       width: 50px; | |||
|       left: 114px; | |||
|       top: 80px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-e{ | |||
|       width: 50px; | |||
|       left: 176px; | |||
|       top: 80px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-f{ | |||
|       width: 50px; | |||
|       left: 242px; | |||
|       top: 80px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-g{ | |||
|       width: 50px; | |||
|       left: 114px; | |||
|       top: 133px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-h{ | |||
|       width: 50px; | |||
|       left: 176px; | |||
|       top: 133px; | |||
|       position: absolute; | |||
|     } | |||
|     .ipt-j{ | |||
|       width: 50px; | |||
|       left: 242px; | |||
|       top: 133px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-a { | |||
|       width: 50px; | |||
|       right: 114px; | |||
|       top: 33px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-b { | |||
|       width: 50px; | |||
|       right: 176px; | |||
|       top: 33px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-c { | |||
|       width: 50px; | |||
|       right: 242px; | |||
|       top: 33px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-d { | |||
|       width: 50px; | |||
|       right: 114px; | |||
|       top: 80px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-e { | |||
|       width: 50px; | |||
|       right: 176px; | |||
|       top: 80px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-f { | |||
|       width: 50px; | |||
|       right: 242px; | |||
|       top: 80px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-g { | |||
|       width: 50px; | |||
|       right: 114px; | |||
|       top: 133px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-h { | |||
|       width: 50px; | |||
|       right: 176px; | |||
|       top: 133px; | |||
|       position: absolute; | |||
|     } | |||
|     .iptos-j { | |||
|       width: 50px; | |||
|       right: 242px; | |||
|       top: 133px; | |||
|       position: absolute; | |||
|     } | |||
|     .operation-text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .text { | |||
|       font-weight: 700; | |||
|     } | |||
|     .sign { | |||
|       cursor: pointer; | |||
|       color: #46a1ff; | |||
|       font-weight: 400; | |||
|     } | |||
|   } | |||
|   .center { | |||
|     text-align: center; | |||
|   } | |||
|   .left { | |||
|     text-align: left; | |||
|   } | |||
| 
 | |||
|   .width-50 { | |||
|     .el-input { | |||
|       width: 50px; | |||
|     } | |||
|   } | |||
|   .width-70 { | |||
|     .el-input { | |||
|       width: 70px; | |||
|     } | |||
|   } | |||
| 
 | |||
|   .width-100 { | |||
|     .el-input { | |||
|       width: 100px; | |||
|     } | |||
|   } | |||
|   .width-120 { | |||
|     .el-input { | |||
|       width: 120px; | |||
|     } | |||
|   } | |||
|   .width-180 { | |||
|     .el-input { | |||
|       width: 180px; | |||
|     } | |||
|   } | |||
|   .el-input__inner { | |||
|     border: none; | |||
|     height: 26px !important; | |||
|     line-height: 26px !important; | |||
|     text-align: center; | |||
|   } | |||
| 
 | |||
|   .el-input__inner { | |||
|     border-bottom: 1px solid #ccc; | |||
|     border-radius: 0; | |||
|     padding: 0; | |||
|   } | |||
|   .el-input__prefix { | |||
|     display: none; | |||
|   } | |||
|   //.el-date-editor.el-input, | |||
|   //.el-date-editor.el-input__inner { | |||
|   //  width: 140px; | |||
|   //} | |||
|   //.el-input__suffix { | |||
|   //  top: -7px; | |||
|   //} | |||
|   //.el-checkbox__input.is-checked + .el-checkbox__label { | |||
|   //  color: #606266; | |||
|   //} | |||
|   //.el-checkbox__input.is-checked .el-checkbox__inner, | |||
|   //.el-checkbox__input.is-indeterminate .el-checkbox__inner { | |||
|   //  background: #767676; | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   //.el-checkbox__inner:hover, | |||
|   //.el-checkbox__inner { | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   //.el-radio__input.is-checked + .el-radio__label { | |||
|   //  color: #606266; | |||
|   //} | |||
|   //.el-radio__input.is-checked .el-radio__inner { | |||
|   //  background: #767676; | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   //.el-radio { | |||
|   //  margin-right: 8px; | |||
|   //  display: block; | |||
|   //} | |||
|   //.el-radio__inner { | |||
|   //  border: 1px solid #767676 !important; | |||
|   //} | |||
|   //.el-radio__inner:hover { | |||
|   //  border-color: #767676; | |||
|   //} | |||
|   .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |||
|     background: none !important; | |||
|   } | |||
|   .has-gutter { | |||
|     display: none; | |||
|     .cell { | |||
|       font-weight: 700; | |||
|     } | |||
|     .el-table__cell { | |||
|       background: #ced4d9; | |||
|     } | |||
|   } | |||
|   .el-table__header-wrapper{ | |||
|     display: none; | |||
|   } | |||
| } | |||
| </style> | |||
| @ -0,0 +1,336 @@ | |||
| <template> | |||
|   <div class="component-container info"> | |||
|     <div v-if="foreList.length" style="padding: 6px"> | |||
|       <el-table | |||
|         max-height="450" | |||
|         :data="foreList" | |||
|         style="width:100%;margin: 8px 8px 0 0" | |||
|       > | |||
|         <el-table-column | |||
|           align="center" | |||
|           prop="name" | |||
|           label="项目" | |||
|           width="120" | |||
|         /> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OD" | |||
|           width="120" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 2"> | |||
|                 <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 3"> | |||
|                 <span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 4"> | |||
|                 <span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 5"> | |||
|                 <div v-if="scope.row.eyeType === 'OD'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 6"> | |||
|                 <div v-if="scope.row.eyeType === 'OD'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else> | |||
|                 {{ scope.row.odValue }} | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OS" | |||
|           width="120" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 2"> | |||
|                 <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 3"> | |||
|                 <span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 4"> | |||
|                 <span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 5"> | |||
|                 <div v-if="scope.row.eyeType === 'OS'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 6"> | |||
|                 <div v-if="scope.row.eyeType === 'OS'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else> | |||
|                 {{ scope.row.osValue }} | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OU" | |||
|           width="120" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <span style="margin-right: 16px" />{{ scope.row.ouValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 5"> | |||
|                 <div v-if="scope.row.eyeType === 'OU'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 6"> | |||
|                 <div v-if="scope.row.eyeType === 'OU'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else> | |||
|                 {{ scope.row.ouValue }} | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column label="操作" align="center"> | |||
|           <template slot-scope="scope"> | |||
|             <span | |||
|               class="cell-cursor" | |||
|               style="margin-left: 5px;" | |||
|               :class="scope.$index === 0 ? 'table-column-disable' : ''" | |||
|               @click="handleMove(scope, 'up', foreList)" | |||
|             >上移</span> | |||
|             <span | |||
|               class="cell-cursor" | |||
|               style="margin-left: 5px;" | |||
|               :class="scope.$index === foreList.length - 1 ? 'table-column-disable' : ''" | |||
|               @click="handleMove(scope, 'down', foreList)" | |||
|             >下移</span> | |||
|             <span | |||
|               class="cell-cursor" | |||
|               style="margin-left: 5px;color: #FF4D4F" | |||
|               @click="handleDel(scope.$index, foreList)" | |||
|             > | |||
|               删除 | |||
|               <!--            <i class="el-icon-delete"></i>--> | |||
|             </span> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|     </div> | |||
|     <!--    <div v-if="afterList.length">--> | |||
|     <!--      <el-table--> | |||
|     <!--        max-height="450"--> | |||
|     <!--        :data="afterList"--> | |||
|     <!--        style="width:100%;margin: 8px 8px 0 0"--> | |||
|     <!--      >--> | |||
|     <!--        <el-table-column--> | |||
|     <!--          align="center"--> | |||
|     <!--          label="OD"--> | |||
|     <!--          width="140"--> | |||
|     <!--        >--> | |||
|     <!--          <template slot-scope="scope">--> | |||
|     <!--            <div>--> | |||
|     <!--              <span v-if="scope.row.sort === 1">--> | |||
|     <!--                {{ scope.row.odValue }}--> | |||
|     <!--              </span>--> | |||
|     <!--              <span v-if="!scope.row.sort">{{ scope.row.name }}</span>--> | |||
|     <!--              <span v-if="scope.row.sort === 2">--> | |||
|     <!--                <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.odValue }}--> | |||
|     <!--              </span>--> | |||
|     <!--              <span v-if="scope.row.sort === 3">--> | |||
|     <!--                <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.odValue }}--> | |||
|     <!--              </span>--> | |||
|     <!--            </div>--> | |||
|     <!--          </template>--> | |||
|     <!--        </el-table-column>--> | |||
|     <!--        <el-table-column--> | |||
|     <!--          align="center"--> | |||
|     <!--          label="OS"--> | |||
|     <!--          width="140"--> | |||
|     <!--        >--> | |||
|     <!--          <template slot-scope="scope">--> | |||
|     <!--            <div>--> | |||
|     <!--              <span v-if="scope.row.sort === 1">--> | |||
|     <!--                {{ scope.row.osValue }}--> | |||
|     <!--              </span>--> | |||
|     <!--              <span v-if="!scope.row.sort">{{ scope.row.name }}</span>--> | |||
|     <!--              <span v-if="scope.row.sort === 2">--> | |||
|     <!--                <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.osValue }}--> | |||
|     <!--              </span>--> | |||
|     <!--              <span v-if="scope.row.sort === 3">--> | |||
|     <!--                <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.osValue }}--> | |||
|     <!--              </span>--> | |||
|     <!--            </div>--> | |||
|     <!--          </template>--> | |||
|     <!--        </el-table-column>--> | |||
|     <!--        <el-table-column label="操作" align="center">--> | |||
|     <!--          <template slot-scope="scope">--> | |||
|     <!--            <span--> | |||
|     <!--              class="cell-cursor"--> | |||
|     <!--              style="margin-left: 5px;"--> | |||
|     <!--              :class="scope.$index === 0 ? 'table-column-disable' : ''"--> | |||
|     <!--              @click="handleMove(scope, 'up', afterList)"--> | |||
|     <!--            >上移</span>--> | |||
|     <!--            <span--> | |||
|     <!--              class="cell-cursor"--> | |||
|     <!--              style="margin-left: 5px;"--> | |||
|     <!--              :class="scope.$index === afterList.length - 1 ? 'table-column-disable' : ''"--> | |||
|     <!--              @click="handleMove(scope, 'down', afterList)"--> | |||
|     <!--            >下移</span>--> | |||
|     <!--            <span--> | |||
|     <!--              class="cell-cursor"--> | |||
|     <!--              style="margin-left: 5px;color: #FF4D4F"--> | |||
|     <!--              @click="handleDel(scope.$index, afterList)"--> | |||
|     <!--            >--> | |||
|     <!--              删除--> | |||
|     <!--              <!–            <i class="el-icon-delete"></i>–>--> | |||
|     <!--            </span>--> | |||
|     <!--          </template>--> | |||
|     <!--        </el-table-column>--> | |||
|     <!--      </el-table>--> | |||
|     <!--    </div>--> | |||
|     <div style="width: 100%;margin-top: 16px;display: flex;justify-content: space-between"> | |||
|       <el-button style="width: 48%;" type="primary" size="small" @click="addExamine">引入专科检查</el-button> | |||
|       <el-button style="width: 48%" size="small">复制</el-button> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import dialogjs from '@/mixins/dialog' | |||
| import infoDetail from './infoDetail' | |||
| import eventBus from '@/page-subspecialty/utils/eventBus' | |||
| 
 | |||
| export default { | |||
|   components: { | |||
|     infoDetail | |||
|   }, | |||
|   mixins: [dialogjs], | |||
|   props: { | |||
|     patientIdNumber: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     dataList: { | |||
|       type: Array, | |||
|       default() { | |||
|         return [] | |||
|       } | |||
|     }, | |||
|     foreList: { | |||
|       type: Array, | |||
|       default() { | |||
|         return [] | |||
|       } | |||
|     }, | |||
|     afterList: { | |||
|       type: Array, | |||
|       default() { | |||
|         return [] | |||
|       } | |||
|     }, | |||
|     sourceData: { | |||
|       type: String, | |||
|       default: '' | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       setPlanList: [], | |||
|       addFollowList: [], | |||
|       patientInfoHeadHeight: '', | |||
|       crfSelectVisible: false | |||
|     } | |||
|   }, | |||
|   watch: { | |||
| 
 | |||
|   }, | |||
|   created() { | |||
| 
 | |||
|   }, | |||
|   mounted() { | |||
| 
 | |||
|   }, | |||
|   methods: { | |||
|     addData() { | |||
| 
 | |||
|     }, | |||
|     // 上下移动 | |||
|     handleMove(scope, moveType, list) { | |||
|       const { $index } = scope | |||
|       if (moveType === 'up') { | |||
|         if ($index === 0) return | |||
|         const isUp = list[$index - 1] | |||
|         list.splice($index - 1, 1) | |||
|         list.splice($index, 0, isUp) | |||
|       } else { | |||
|         if ($index === list.length - 1) return | |||
|         const isDown = list[$index + 1] | |||
|         list.splice($index + 1, 1) | |||
|         list.splice($index, 0, isDown) | |||
|       } | |||
|     }, | |||
|     // 删除 | |||
|     handleDel(index, list) { | |||
|       list = list.splice(index, 1) | |||
|     }, | |||
|     // 引入专科检查 | |||
|     addExamine() { | |||
|       eventBus.$emit('sendDataToExamine', this.foreList) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" > | |||
| 
 | |||
| </style> | |||
| 
 | |||
| <style lang="scss" scoped> | |||
| .info { | |||
|   width: 600px; | |||
|   height: 100%; | |||
|   overflow-y: auto; | |||
|   .cell-cursor { | |||
|     cursor: pointer; | |||
|     color: #1e79ff; | |||
|   } | |||
|   .table-column-disable { | |||
|     color: #dddd; | |||
|   } | |||
| } | |||
| </style> | |||
| @ -1,215 +0,0 @@ | |||
| <template> | |||
|   <div class="component-container info"> | |||
|     <div v-if="sourceData === 'fore'" style="padding: 6px"> | |||
|       <el-table | |||
|         height="450" | |||
|         :data="dataList" | |||
|         style="width:100%;margin: 8px 8px 0 0" | |||
|       > | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OD" | |||
|           width="140" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 {{ scope.row.od }} | |||
|                 <!--                <treeSelect v-model="scope.row.od" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" @remove="removeTree" />--> | |||
|               </span> | |||
|               <span v-if="!scope.row.sort">{{ scope.row.name }}</span> | |||
|               <span v-if="scope.row.sort === 2"> | |||
|                 {{ scope.row.od }} | |||
|                 <!--                <span style="margin-right: 16px">结膜:充血</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />--> | |||
|               </span> | |||
|               <span v-if="scope.row.sort === 3"> | |||
|                 {{ scope.row.od }} | |||
|                 <!--                <span style="margin-right: 16px">结膜:分泌物</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />--> | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OS" | |||
|           width="140" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <!--                <treeSelect v-model="scope.row.os" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />--> | |||
|               </span> | |||
|               <span v-if="!scope.row.sort">{{ scope.row.name }}</span> | |||
|               <span v-if="scope.row.sort === 2"> | |||
|                 <!--/*                <span style="margin-right: 16px">结膜:充血</span><treeSelect v-model="scope.row.os" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />*/--> | |||
|               </span> | |||
|               <span v-if="scope.row.sort === 3"> | |||
|                 <!--/*                <span style="margin-right: 16px">结膜:分泌物</span><treeSelect v-model="scope.row.os" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />*/--> | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column label="操作" align="center"> | |||
|           <template slot-scope="scope"> | |||
|             <span | |||
|               class="cell-cursor" | |||
|               style="margin-left: 5px;" | |||
|               :class="scope.$index === 0 ? 'table-column-disable' : ''" | |||
|               @click="handleMove(scope, 'up', dataList)" | |||
|             >上移</span> | |||
|             <span | |||
|               class="cell-cursor" | |||
|               style="margin-left: 5px;" | |||
|               :class="scope.$index === dataList.length - 1 ? 'table-column-disable' : ''" | |||
|               @click="handleMove(scope, 'down', dataList)" | |||
|             >下移</span> | |||
|             <span | |||
|               class="cell-cursor" | |||
|               style="margin-left: 5px;color: #FF4D4F" | |||
|               @click="handleDel(scope.$index, dataList)" | |||
|             > | |||
|               删除 | |||
|               <!--            <i class="el-icon-delete"></i>--> | |||
|             </span> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|     </div> | |||
|     <div> | |||
|       <!--      <el-table--> | |||
|       <!--          :data="dataList"--> | |||
|       <!--          stripe--> | |||
|       <!--          style="width: 100%"--> | |||
|       <!--      >--> | |||
|       <!--        <el-table-column--> | |||
|       <!--            align="center"--> | |||
|       <!--            prop="date"--> | |||
|       <!--            label="日期"--> | |||
|       <!--            width="180"--> | |||
|       <!--        />--> | |||
|       <!--        <el-table-column--> | |||
|       <!--            align="center"--> | |||
|       <!--            prop="name"--> | |||
|       <!--            label="姓名"--> | |||
|       <!--            width="180"--> | |||
|       <!--        />--> | |||
|       <!--        <el-table-column--> | |||
|       <!--            align="center"--> | |||
|       <!--            prop="address"--> | |||
|       <!--            label="地址"--> | |||
|       <!--        />--> | |||
|       <!--        <el-table-column label="操作" width="150" align="center">--> | |||
|       <!--          <template slot-scope="scope">--> | |||
|       <!--          <span--> | |||
|       <!--              class="cell-cursor"--> | |||
|       <!--              style="margin-left: 5px;"--> | |||
|       <!--              :class="scope.$index === 0 ? 'table-column-disable' : ''"--> | |||
|       <!--              @click="handleMove(scope, 'up', dataList)"--> | |||
|       <!--          >上移</span>--> | |||
|       <!--            <span--> | |||
|       <!--                class="cell-cursor"--> | |||
|       <!--                style="margin-left: 5px;"--> | |||
|       <!--                :class="scope.$index === dataList.length - 1 ? 'table-column-disable' : ''"--> | |||
|       <!--                @click="handleMove(scope, 'down', dataList)"--> | |||
|       <!--            >下移</span>--> | |||
|       <!--            <span--> | |||
|       <!--                class="cell-cursor"--> | |||
|       <!--                style="margin-left: 5px;color: #FF4D4F"--> | |||
|       <!--                @click="handleDel(scope, 'down', dataList)"--> | |||
|       <!--            >--> | |||
|       <!--            删除--> | |||
|       <!--              <!–            <i class="el-icon-delete"></i>–>--> | |||
|       <!--          </span>--> | |||
|       <!--          </template>--> | |||
|       <!--        </el-table-column>--> | |||
|       <!--      </el-table>--> | |||
|     </div> | |||
|     <!--    <el-button style="width: 100%;margin: 16px 0" size="small" @click="addData">+ 添加数据</el-button>--> | |||
|     <div v-if="sourceData" style="width: 100%;margin-top: 16px;display: flex;justify-content: space-between"> | |||
|       <el-button style="width: 48%;" type="primary" size="small">引入专科检查</el-button> | |||
|       <el-button style="width: 48%" size="small">复制</el-button> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import dialogjs from '@/mixins/dialog' | |||
| import infoDetail from './infoDetail' | |||
| 
 | |||
| export default { | |||
|   components: { | |||
|     infoDetail | |||
|   }, | |||
|   mixins: [dialogjs], | |||
|   props: { | |||
|     patientIdNumber: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     dataList: { | |||
|       type: Array, | |||
|       default: [] | |||
|     }, | |||
|     sourceData: { | |||
|       type: String, | |||
|       default: '' | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       setPlanList: [], | |||
|       addFollowList: [], | |||
|       patientInfoHeadHeight: '', | |||
|       crfSelectVisible: false | |||
|     } | |||
|   }, | |||
|   watch: { | |||
| 
 | |||
|   }, | |||
|   created() { | |||
| 
 | |||
|   }, | |||
|   mounted() { | |||
| 
 | |||
|   }, | |||
|   methods: { | |||
|     addData() { | |||
| 
 | |||
|     }, | |||
|     // 上下移动 | |||
|     handleMove(scope, moveType, list) { | |||
|       const { $index } = scope | |||
|       if (moveType === 'up') { | |||
|         if ($index === 0) return | |||
|         const isUp = list[$index - 1] | |||
|         list.splice($index - 1, 1) | |||
|         list.splice($index, 0, isUp) | |||
|       } else { | |||
|         if ($index === list.length - 1) return | |||
|         const isDown = list[$index + 1] | |||
|         list.splice($index + 1, 1) | |||
|         list.splice($index, 0, isDown) | |||
|       } | |||
|     }, | |||
|     handleDel(index, list) { | |||
|       list = list.splice(index, 1) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" > | |||
| 
 | |||
| </style> | |||
| 
 | |||
| <style lang="scss" scoped> | |||
| .info { | |||
|   width: 600px; | |||
|   .cell-cursor { | |||
|     cursor: pointer; | |||
|     color: #1e79ff; | |||
|   } | |||
|   .table-column-disable { | |||
|     color: #dddd; | |||
|   } | |||
| } | |||
| </style> | |||
| @ -0,0 +1,513 @@ | |||
| <template> | |||
|   <!--  视光档案--> | |||
|   <div class="opticalFile"> | |||
|     <div class="opticalFile-content"> | |||
|       <div class="content-left"> | |||
|         <div class="content-left-top"> | |||
|           <div v-for="(item, index) in formList" :key="index" class="formBox" style="margin-top: 12px" :class="[index === curIndex ? 'active' : '']" @click="handleForm(index, item)"> | |||
|             <p :class="[index === curIndex ? 'activeFont' : 'curFont']">{{ item.createTime }}</p> | |||
|             <p>{{ item.name }}</p> | |||
|           </div> | |||
|           <img v-if="!formList.length" src="@/assets/img/nodata.png" alt="" class="nodata"> | |||
|           <!-- <div class="button"><i class="el-icon-plus" /> 新建表单</div> --> | |||
|         </div> | |||
|         <div class="content-left-bottom"> | |||
|           <div class="commonForm-text "> | |||
|             <span>常用表单</span> | |||
|             <span class="line" /> | |||
|             <el-checkbox v-model="defaultChecked">默认新建今日</el-checkbox> | |||
|           </div> | |||
|           <div class="record" @click="addRecord(1,'屈光发育档案')"> | |||
|             <p>屈光发育档案</p> | |||
|             <img :src="require('@/assets/img/add.png')" alt=""> | |||
|           </div> | |||
|           <div class="comonForm-tab"> | |||
|             <el-radio-group v-model="formType" size="small"> | |||
|               <el-radio-button label="报告单" name="1" style="" /> | |||
|               <el-radio-button label="其他" name="2" style="" /> | |||
|             </el-radio-group> | |||
|             <div v-if="formType === '报告单'"> | |||
|               <div class="record"> | |||
|                 <p>双眼视功能检查报告单</p> | |||
|                 <img :src="require('@/assets/img/add.png')" alt="" @click="addRecord(2,'双眼视功能检查报告单')"> | |||
|               </div> | |||
|               <div class="record"> | |||
|                 <p>验光报告单</p> | |||
|                 <img :src="require('@/assets/img/add.png')" alt="" @click="addRecord(3,'验光报告单')"> | |||
|               </div> | |||
|               <div class="record" @click="addRecord(4,'三级视功能检查报告单')"> | |||
|                 <p>三级视功能检查报告单</p> | |||
|                 <img :src="require('@/assets/img/add.png')" alt="" @click="addRecord(4,'三级视功能检查报告单')"> | |||
|               </div> | |||
|             </div> | |||
|           </div> | |||
|         </div> | |||
|       </div> | |||
|       <div class="content-right"> | |||
|         <eyesVision v-if="name === '双眼视功能检查报告单'" ref="eyes" :form-content="eyesData" @save="updateForm" @del="deleteForm"/> | |||
|         <optometryForm v-if="name === '验光报告单'" ref="optome" :form-content="optomeData" @save="updateForm" @del="deleteForm" /> | |||
|         <threeVision v-if="name === '三级视功能检查报告单'" ref="three" :form-content="threeData" @save="updateForm" @del="deleteForm" /> | |||
|         <deveopmentFile v-show="name === '屈光发育档案'" ref="deveope" :form-content="deveopData" @save="updateForm" @del="deleteForm" /> | |||
|       </div> | |||
|     </div> | |||
|     <!-- 批量打印 --> | |||
|     <!--    <add-print v-if="addPrintVisible" ref="addPrintRef" @closedDialog="addPrintVisible=false" />--> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| import { dateFilterTwo } from '@/filters/index.js' | |||
| import ourPatientRecord from './outPatientRecord' | |||
| const Base64 = require('js-base64').Base64 | |||
| import eyesVision from '@/components/360View/commonForm/eyesVision' // | |||
| import threeVision from '@/components/360View/commonForm/threeVision' // | |||
| import optometryForm from '@/components/360View/commonForm/optometryForm' // | |||
| import deveopmentFile from '@/components/360View/commonForm/deveopmentFIle' // | |||
| export default { | |||
|   components: { | |||
|     ourPatientRecord, | |||
|     eyesVision, | |||
|     optometryForm, | |||
|     deveopmentFile, | |||
|     threeVision | |||
|   }, | |||
|   mixins: [], | |||
|   props: { | |||
|     patientIdNumber: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     patientId: { | |||
|       type: String, | |||
|       default: '' | |||
|     } | |||
|   }, | |||
|   inject: ['refresh'], | |||
|   data() { | |||
|     return { | |||
|       id: '', | |||
|       name: '', | |||
|       defaultChecked: [], | |||
|       curIndex: 0, | |||
|       formList: [], | |||
|       deveopData: {}, | |||
|       threeData: {}, | |||
|       optomeData: {}, | |||
|       eyesData: {}, | |||
|       formType: '报告单' | |||
|     } | |||
|   }, | |||
|   mounted() { | |||
|     this.getFormList() | |||
|   }, | |||
|   methods: { | |||
|     handleForm(index, item) { | |||
|       console.log(item) | |||
|       this.curIndex = index | |||
|       this.id = item.id | |||
|       this.name = item.name | |||
|       if (item.name === '双眼视功能检查报告单') { | |||
|         this.eyesData = item.jsonText ? JSON.parse(item.jsonText) : {} | |||
|         if (item.jsonText) { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.eyes.setData() | |||
|           }) | |||
|         } else { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.eyes.reSet() | |||
|           }) | |||
|         } | |||
|       } else if (item.name === '验光报告单') { | |||
|         this.optomeData = item.jsonText ? JSON.parse(item.jsonText) : {} | |||
|         if (item.jsonText) { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.optome.setData() | |||
|           }) | |||
|         } else { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.optome.reSet() | |||
|           }) | |||
|         } | |||
|       } else if (item.name === '三级视功能检查报告单') { | |||
|         this.threeData = item.jsonText ? JSON.parse(item.jsonText) : {} | |||
|         if (item.jsonText) { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.three.setData() | |||
|           }) | |||
|         } else { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.three.reSet() | |||
|           }) | |||
|         } | |||
|       } else if (item.name === '屈光发育档案') { | |||
|         this.deveopData = item.jsonText ? JSON.parse(item.jsonText) : {} | |||
|         if (item.jsonText) { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.deveope.setData() | |||
|           }) | |||
|         } else { | |||
|           this.$nextTick(() => { | |||
|             this.$refs.deveope.reSet() | |||
|           }) | |||
|         } | |||
|       } | |||
|     }, | |||
|     // 添加表单 | |||
|     addRecord(index, name) { | |||
|       this.saveTableData(name) | |||
|     }, | |||
|     async saveTableData(name) { | |||
|       const date = dateFilterTwo(this.$moment().format('L')) | |||
|       const params = { | |||
|         flag: 6, | |||
|         name: name, | |||
|         createTime: date + ' 00:00:00', | |||
|         patientId: this.patientId, | |||
|         platform: 2 | |||
|       } | |||
|       const { data: res } = await this.$http.post('/case/save', params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('保存成功') | |||
|         this.getFormList() | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     async updateForm(data) { | |||
|       console.log(data) | |||
|       // const data = data | |||
|       const params = { | |||
|         flag: 6, | |||
|         name: this.name, | |||
|         jsonText: JSON.stringify(data), | |||
|         patientId: this.patientId, | |||
|         id: this.id, | |||
|         platform: 2 | |||
|       } | |||
|       const { data: res } = await this.$http.post('/case/update', params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('保存成功') | |||
|         this.getFormList() | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     async deleteForm(data) { | |||
|       console.log(data) | |||
|       const params = { | |||
|         id: this.id | |||
|       } | |||
|       const { data: res } = await this.$http.post('/case/delete', params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('删除成功') | |||
|         this.getFormList() | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     async getFormList() { | |||
|       const { data: res } = await this.$http.get('/patient/view/getCases', { | |||
|         params: { | |||
|           patientId: this.patientId, | |||
|           platform: 2, | |||
|           flag: 6 | |||
|         } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.formList = res.data || [] | |||
|         this.curIndex = 0 | |||
|         this.id = this.formList.length ? this.formList[0].id : '' | |||
|         this.name = this.formList.length ? this.formList[0].name : '' | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // async getSingleForm() { | |||
|     //   const { data: res } = await this.$http.get('/case/getCase', { | |||
|     //     params: { | |||
|     //       patientId: this.patientId, | |||
|     //       platform: 2, | |||
|     //       flag: 6 | |||
|     //     } | |||
|     //   }) | |||
|     //   if (res.code === 0) { | |||
|     //     this.collectId = res.data ? res.data.id : '' | |||
|     //   } else { | |||
|     //     this.$message.error(res.msg) | |||
|     //   } | |||
|     // }, | |||
|     // 添加常用表单 | |||
|     // tab切换 | |||
|     handleClick(el) { | |||
|       this.comonFormCurrentIndex = 0 | |||
|     }, | |||
|     // CRF打印 | |||
|     printerHandle() { | |||
|       this.$refs.crfComponent.$el.contentWindow.print() | |||
|     }, | |||
|     // 批量打印 | |||
|     allPrintPreview() { | |||
|       this.addPrintVisible = true | |||
|       this.$nextTick(() => { | |||
|         this.$refs.addPrintRef.archiveId = this.currentArchiveList.id | |||
|         this.$refs.addPrintRef.init() | |||
|       }) | |||
|     }, | |||
|     // 问卷调查打印 | |||
|     handlePrint() { | |||
|       this.archiveCaseCRFItem.formName === '眼科病史问卷调查' ? this.printPage('eyeQuestionPrint') : this.printPage('beforeOperationPrint') | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .opticalFile { | |||
|   height: 100%; | |||
|   .active { | |||
|     color: white; | |||
|     background-color: #1C76FD; | |||
|   } | |||
|   .curFont { | |||
|     color: #A6A4A4; | |||
|   } | |||
|   .activeFont { | |||
|     color: #D9D9D9; | |||
|   } | |||
|   .text-ellipsis { | |||
|     white-space: nowrap; // 段落不换行 | |||
|     text-overflow: ellipsis; | |||
|     overflow: hidden; | |||
|   } | |||
|   .printer { | |||
|     border: 1px solid #ccc; | |||
|     width: 56px; | |||
|     height: 32px; | |||
|     border-radius: 3px; | |||
|     margin: 0; | |||
|     margin-left: 10px; | |||
|     cursor: pointer; | |||
|   } | |||
|   .formBox{ | |||
|     cursor: pointer; | |||
|     padding: 2px 8px; | |||
|     border-radius: 2px; | |||
|   } | |||
|   .opticalFile-content { | |||
|     display: flex; | |||
|     height: 100%; | |||
|     overflow: hidden; | |||
|     .content-left { | |||
|       width: 185px; | |||
|       height: 100%; | |||
|       margin-right: 14px; | |||
|       .nodata { | |||
|         width: 185px; | |||
|         margin-top: 30px; | |||
|       } | |||
|       .content-left-top, | |||
|       .content-left-bottom { | |||
|         height: 50%; | |||
|       } | |||
|       .tree-botton-arr { | |||
|         margin-left: 10px; | |||
|       } | |||
|       .tree-date { | |||
|         padding-right: 10px; | |||
|       } | |||
|       .content-left-top { | |||
|         overflow-y: auto; | |||
|         margin-bottom: 16px; | |||
|         .CRFList-list { | |||
|           display: flex; | |||
|           justify-content: space-between; | |||
|           align-items: center; | |||
|           padding-left: 24px; | |||
|           padding-right: 16px; | |||
|           color: #000; | |||
|         } | |||
|         .CRFList-list { | |||
|           height: 40px; | |||
|           line-height: 40px; | |||
|           font-size: 14px; | |||
|           cursor: pointer; | |||
|           .el-icon-more { | |||
|             transform: rotate(90deg); | |||
|           } | |||
|         } | |||
|         .CRFList-icon:hover { | |||
|           color: #ff2929; | |||
|         } | |||
|         .CRFList-list-active { | |||
|           background-color: #1890ff; | |||
|           color: #fff; | |||
|           .el-icon-more { | |||
|             color: #fff; | |||
|           } | |||
|         } | |||
|         .button { | |||
|           margin-top: 16px; | |||
|           background: #f2f3f5; | |||
|           border-radius: 4px; | |||
|           height: 40px; | |||
|           line-height: 40px; | |||
|           text-align: center; | |||
|           cursor: pointer; | |||
|         } | |||
|         .button:hover, | |||
|         .el-icon-plus:hover { | |||
|           color: #1890ff; | |||
|         } | |||
|       } | |||
|       .content-left-bottom { | |||
|         .commonForm-text { | |||
|           display: flex; | |||
|           align-items: center; | |||
|           font-size: 14px; | |||
|           font-weight: 700; | |||
|         } | |||
|         .line { | |||
|           border-bottom: 1px solid #e5e6eb; | |||
|           flex: 1; | |||
|           display: inline-block; | |||
|           margin: 0 10px; | |||
|         } | |||
|         .comonForm-tab { | |||
|           margin-top: 10px; | |||
|         } | |||
|         .comonForm-tab-Pane { | |||
|           margin-top: 10px; | |||
|         } | |||
|         .comonForm-list { | |||
|           height: 40px; | |||
|           line-height: 40px; | |||
|           font-size: 14px; | |||
|           display: flex; | |||
|           justify-content: space-between; | |||
|           align-items: center; | |||
|           padding: 0 10px; | |||
|           cursor: pointer; | |||
|         } | |||
|         .comonForm-list:hover { | |||
|           background-color: #f4f8fb; | |||
|           color: #1d2129; | |||
|         } | |||
|         .comonForm-icon:hover { | |||
|           color: #1890ff; | |||
|           font-weight: 700; | |||
|         } | |||
|       } | |||
|     } | |||
|     .record{ | |||
|       display: flex; | |||
|       justify-content: space-between; | |||
|       padding-top: 12px; | |||
|       cursor: pointer; | |||
|       p { | |||
|         display: inline-block; | |||
|         font-size: 14px; | |||
|         color: rgba(0, 0, 0, 0.85); | |||
|         letter-spacing: 1px; | |||
|       } | |||
|       img { | |||
|         width: 16px; | |||
|         height: 16px; | |||
|         margin-top: 3px; | |||
|       } | |||
|     } | |||
|   } | |||
|   .content-right { | |||
|     padding: 12px; | |||
|     position: relative; | |||
|     flex: 1; | |||
|     text-align: center; | |||
|     background-color: #F0F2F5; | |||
|     overflow-y: hidden; | |||
|     .content-right-buttonClick { | |||
|       display: flex; | |||
|       justify-content: flex-end; | |||
|       background: #2e2e2e; | |||
|       padding: 10px; | |||
|     } | |||
|     .editor-CRF { | |||
|       height: 93%; | |||
|     } | |||
|     .content-right-CRF { | |||
|       background: #5c5c5c; | |||
|       overflow-x: auto; | |||
|       padding: 16px 16px 16px 16px; | |||
|       position: relative; | |||
|       height: 100%; | |||
|     } | |||
|     .content-right-CRF-class { | |||
|       padding-right: 178px; | |||
|     } | |||
|     .suspension-button { | |||
|       position: absolute; | |||
|       right: 10px; | |||
|       top: 10px; | |||
|       z-index: 1; | |||
|     } | |||
|     .case-template, | |||
|     .intelligent-filling { | |||
|       cursor: pointer; | |||
|       height: 140px; | |||
|       width: 32px; | |||
|       background: #fff; | |||
|       border-radius: 4px; | |||
|       display: flex; | |||
|       flex-direction: column; | |||
|       justify-content: space-around; | |||
|       align-items: center; | |||
|       box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); | |||
|       span { | |||
|         writing-mode: vertical-rl; | |||
|         letter-spacing: 6px; | |||
|       } | |||
|     } | |||
|     .case-template:hover, | |||
|     .intelligent-filling:hover { | |||
|       background: linear-gradient(270deg, #f4f8fb 0%, #deebff 66.15%); | |||
|     } | |||
|     .case-template { | |||
|       margin-bottom: 6px; | |||
|     } | |||
|   } | |||
| } | |||
| </style> | |||
| <style lang="scss"> | |||
| .opticalFile { | |||
|   .el-button .el-button--text .el-button--mini { | |||
|     padding: 0; | |||
|   } | |||
| } | |||
| .comonForm-tab { | |||
|   #tab-mz { | |||
|     padding-left: 14px !important; | |||
|   } | |||
|   .el-tabs__nav-wrap::after { | |||
|     height: 0; | |||
|   } | |||
|   .el-tabs__header { | |||
|     padding-right: 0 !important; | |||
|   } | |||
|   .el-tabs__item.is-active { | |||
|     color: #fff; | |||
|     background: #1890ff; | |||
|   } | |||
|   .el-tabs__item { | |||
|     background: #f2f3f5; | |||
|     padding: 0 14px; | |||
|     margin-left: 1px; | |||
|     height: 35px; | |||
|     line-height: 35px; | |||
|   } | |||
|   .el-tabs__content { | |||
|     padding: 0 !important; | |||
|   } | |||
| } | |||
| .see-doctor .comonForm-tab .el-tabs__item:last-child { | |||
|   padding-right: 14px !important; | |||
| } | |||
| .see-doctor .comonForm-tab .el-tabs__item:nth-child(2) { | |||
|   padding-left: 14px !important; | |||
| } | |||
| </style> | |||
| @ -0,0 +1,402 @@ | |||
| <template> | |||
|   <div class="recordContainer"> | |||
|     <div class="btnBox"> | |||
|       <el-button v-print="'#foreCheck'" size="small">打印</el-button> | |||
|       <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | |||
|       <el-button v-if="comonFormActive === '2' || comonFormActive === '3'" type="primary" size="small" @click="handleTemplate">保存为模板</el-button> | |||
|       <div size="small" v-if="comonFormActive === '2' || comonFormActive === '3'" style="display:inline-block;margin-left:10px;text-align:center;width: 32px;height: 32px;background-color: #1e79ff;border-radius: 4px;vertical-align: bottom" @click="addData"> | |||
|         <img :src="require('@/assets/img/data.png')" alt="" style="width: 17px;height: 16px;margin-top: 5px"> | |||
|       </div> | |||
|     </div> | |||
|     <el-tabs v-model="comonFormActive" type="border-card" @tab-click="handleClick"> | |||
|       <el-tab-pane label="病史采集" name="1"> | |||
|         <el-form id="medHistory" ref="form" :model="formData" label-width="120px" style="margin-top: 32px"> | |||
|           <el-form-item label="主诉:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="formData.zs" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="主诉" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|           <el-form-item label="现病史:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="formData.xbs" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="现病史" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|           <el-form-item label="既往病史:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="formData.jwbs" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="既往病史" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|           <el-form-item label="过敏史:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="formData.gms" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="过敏史" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|           <el-form-item label="周身其他病史:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="formData.zsqtbs" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="周身其他病史" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|         </el-form> | |||
|       </el-tab-pane> | |||
|       <el-tab-pane label="前段检查" name="2" style="height: 100%"> | |||
|         <forePart ref="foreParts" :patient-id="patientId" /> | |||
|       </el-tab-pane> | |||
|       <el-tab-pane label="后段检查" name="3" style="height: 100%"> | |||
|         <afterPart ref="afterParts" :patient-id="patientId" /> | |||
|       </el-tab-pane> | |||
|       <el-tab-pane label="专科检查" name="4" style="height: 100%"> | |||
|         <specialExamine ref="examines" :patient-id="patientId" /> | |||
|       </el-tab-pane> | |||
|       <el-tab-pane label="诊断处置" name="5"> | |||
|         <el-form id="formDiagnosis" :model="diagnosis" label-width="120px" style="margin-top: 32px"> | |||
|           <el-form-item label="诊断:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="diagnosis.zd" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="诊断" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|           <el-form-item label="处理:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="diagnosis.cl" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="处理" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|           <el-form-item label="治疗意见:" style="width: 540px"> | |||
|             <el-select | |||
|               v-model="diagnosis.yj" | |||
|               clearable | |||
|               filterable | |||
|               allow-create | |||
|               placeholder="治疗意见" | |||
|               @blur="selectZs" | |||
|             > | |||
|               <el-option | |||
|                 v-for="item in options5" | |||
|                 :key="item.value" | |||
|                 :label="item.label" | |||
|                 :value="item.value" | |||
|               /> | |||
|             </el-select> | |||
|           </el-form-item> | |||
|         </el-form> | |||
|       </el-tab-pane> | |||
|     </el-tabs> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| import forePart from '@/components/360View/forePart' | |||
| import afterPart from '@/components/360View/afterPart' | |||
| import specialExamine from '@/components/360View/specialExamine' | |||
| const Base64 = require('js-base64').Base64 | |||
| 
 | |||
| export default { | |||
|   components: { | |||
|     forePart, | |||
|     afterPart, | |||
|     specialExamine | |||
|   }, | |||
|   mixins: [], | |||
|   props: { | |||
|     patientIdNumber: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     patientId: { | |||
|       type: String, | |||
|       default: '' | |||
|     } | |||
|   }, | |||
|   inject: ['refresh'], | |||
|   data() { | |||
|     return { | |||
|       formData: { | |||
|         zs: '', | |||
|         xbs: '', | |||
|         jwbs: '', | |||
|         gms: '', | |||
|         zsqtbs: '' | |||
|       }, // 病史采集 | |||
|       diagnosis: { | |||
|         zd: '', | |||
|         cl: '', | |||
|         yj: '' | |||
|       }, | |||
|       flag: '', // 1病史采集 2前段检查 3后段检查 4专科检查 5诊断处置 | |||
|       tableData: [ | |||
|         { | |||
|           date: '2016-05-02', | |||
|           name: '王小虎', | |||
|           address: '上海市普陀区金沙江路 1518 弄' | |||
|         }, { | |||
|           date: '2016-05-04', | |||
|           name: '王小虎', | |||
|           address: '上海市普陀区金沙江路 1517 弄' | |||
|         }, { | |||
|           date: '2016-05-02', | |||
|           name: '王小虎', | |||
|           address: '上海市普陀区金沙江路 1518 弄' | |||
|         }, { | |||
|           date: '2016-05-04', | |||
|           name: '王小虎', | |||
|           address: '上海市普陀区金沙江路 1517 弄' | |||
|         }, { | |||
|           date: '2016-05-02', | |||
|           name: '王小虎', | |||
|           address: '上海市普陀区金沙江路 1518 弄' | |||
|         }, { | |||
|           date: '2016-05-04', | |||
|           name: '王小虎', | |||
|           address: '上海市普陀区金沙江路 1517 弄' | |||
|         }], | |||
|       options: [ | |||
|         { | |||
|           value: '选项1', | |||
|           label: '红绿色盲' | |||
|         }, { | |||
|           value: '选项2', | |||
|           label: '双皮奶' | |||
|         }, { | |||
|           value: '选项3', | |||
|           label: '蚵仔煎' | |||
|         }, { | |||
|           value: '选项5', | |||
|           label: '北京烤鸭' | |||
|         }], | |||
|       options5: [ | |||
|         { | |||
|           value: 'HTML', | |||
|           label: 'HTML' | |||
|         }, { | |||
|           value: 'CSS', | |||
|           label: 'CSS' | |||
|         }, { | |||
|           value: 'JavaScript', | |||
|           label: 'JavaScript' | |||
|         }], | |||
|       value10: [], | |||
|       comonFormActive: '1' | |||
|     } | |||
|   }, | |||
|   created() { | |||
| 
 | |||
|   }, | |||
|   mounted() { | |||
|     this.getOutPatientList('1') | |||
|     this.getOutPatientList('5') | |||
|   }, | |||
|   methods: { | |||
|     // 保存表单 | |||
|     handleSaveTable() { | |||
|       this.saveTableData('1', '病史采集') | |||
|       this.$refs.foreParts.saveFore() | |||
|       this.$refs.afterParts.saveAfter() | |||
|       this.$refs.examines.saveExamine() | |||
|       this.saveTableData('5', '诊断处置') | |||
|       // if (this.comonFormActive === '1') { | |||
|       //   this.saveTableData('1', '病史采集') | |||
|       // } else if (this.comonFormActive === '2') { | |||
|       //   this.$refs.foreParts.saveFore() | |||
|       // } else if (this.comonFormActive === '3') { | |||
|       //   this.$refs.afterParts.saveAfter() | |||
|       // } else if (this.comonFormActive === '4') { | |||
|       //   this.$refs.examines.saveExamine() | |||
|       // } else if (this.comonFormActive === '5') { | |||
|       //   this.saveTableData('5', '诊断处置') | |||
|       // } | |||
|     }, | |||
|     // 保存模板 | |||
|     handleTemplate() { | |||
|       if (this.comonFormActive === '2') { | |||
|         this.$refs.foreParts.handleTemplate() | |||
|       } else if (this.comonFormActive === '3') { | |||
|         this.$refs.afterParts.handleTemplate() | |||
|       } | |||
|     }, | |||
|     // 添加数据集 | |||
|     addData() { | |||
|       if (this.comonFormActive === '2') { | |||
|         this.$refs.foreParts.addForeData() | |||
|       } else if (this.comonFormActive === '3') { | |||
|         this.$refs.afterParts.addAfterData() | |||
|       } | |||
|     }, | |||
|     // 获取门诊表单数据 病史采集 诊断处置 | |||
|     async getOutPatientList(flag) { | |||
|       const { data: res } = await this.$http.get('/case/getCase', { | |||
|         params: { | |||
|           patientId: this.patientId, | |||
|           platform: 1, | |||
|           flag: flag | |||
|         } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         if (flag === '1') { | |||
|           this.formData = res.data ? JSON.parse(res.data.jsonText) : {} | |||
|         } else if (flag === '5') { | |||
|           this.diagnosis = res.data ? JSON.parse(res.data.jsonText) : {} | |||
|         } | |||
|         this.collectId = res.data ? res.data.id : '' | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 保存表单数据 | |||
|     async saveTableData(flag, name) { | |||
|       let data = '' | |||
|       if (flag === '1') { | |||
|         data = JSON.stringify(this.formData) | |||
|       } else if (flag === '5') { | |||
|         data = JSON.stringify(this.diagnosis) | |||
|       } | |||
|       const params = { | |||
|         flag: flag, | |||
|         jsonText: data, | |||
|         name: name, | |||
|         patientId: this.patientId, | |||
|         platform: 1 | |||
|       } | |||
|       let url = '' | |||
|       if (this.collectId) { | |||
|         url = '/case/update' | |||
|         params.id = this.collectId | |||
|       } else { | |||
|         url = '/case/save' | |||
|       } | |||
|       const { data: res } = await this.$http.post(url, params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('保存成功') | |||
|         this.getOutPatientList(flag) | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     selectZs(e) { | |||
|     }, | |||
|     // 打印 | |||
|     printerHandle() { | |||
|       console.log(this) | |||
|       // this.$print(this.$refs.formDiagnosis) | |||
|       // this.printPage('formDiagnosis') | |||
|       this.printPage('medHistory') | |||
|       // this.$refs.formDiagnosis.$el.contentWindow.print() | |||
|     }, | |||
|     // tab切换 | |||
|     handleClick() { | |||
|       console.log(this.comonFormActive) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .recordContainer{ | |||
|   width: 100%; | |||
|   height: 100%; | |||
|   position: relative; | |||
| 
 | |||
|   .btnBox{ | |||
|     text-align: right; | |||
|     position: absolute; | |||
|     right: 0px; | |||
|     top: -1px; | |||
|     z-index: 9; | |||
|   } | |||
| } | |||
| </style> | |||
| <style lang="scss"> | |||
| .recordContainer{ | |||
|   .el-tabs{ | |||
|     height: 100%; | |||
|   } | |||
|   .el-tabs--border-card{ | |||
|     border: none; | |||
|   } | |||
|   .el-tabs__header{ | |||
|     background-color: white; | |||
|   } | |||
|   .el-tabs__content{ | |||
|     padding: 8px; | |||
|   } | |||
| } | |||
| </style> | |||
								
									
										File diff suppressed because it is too large
									
								
							
						
					| @ -0,0 +1,543 @@ | |||
| <template> | |||
|   <div class="containerBox"> | |||
|     <div class="patientBox"> | |||
|       <div> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             病人ID<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="patientId" placeholder="请输入病人ID" /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             姓名<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="patientName" placeholder="请输入姓名" /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
| <!--        <el-dropdown class="mr20">--> | |||
| <!--          <span class="el-dropdown-link">--> | |||
| <!--            设备类型<i class="el-icon-arrow-down el-icon--right"></i>--> | |||
| <!--          </span>--> | |||
| <!--          <el-dropdown-menu slot="dropdown">--> | |||
| <!--            <el-select default-value="全部" style="width: 180px" @change="selectDeviceType">--> | |||
| <!--                            <el-select-option :value="0">--> | |||
| <!--                              全部--> | |||
| <!--                            </el-select-option>--> | |||
| <!--                            <el-select-option v-for="(item,index) in deviceType" :key="index" :value="item.deviceType">--> | |||
| <!--                              {{ item.deviceTypeName }}--> | |||
| <!--                            </el-select-option>--> | |||
| <!--                          </el-select>--> | |||
| <!--          </el-dropdown-menu>--> | |||
| <!--        </el-dropdown>--> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             备注<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="remark" placeholder="请输入备注" allow-clear /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             用药<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="medication" placeholder="请输入用药" allow-clear /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
|         <el-button style="float: right;margin-bottom: 10px;margin-left: 10px" type="primary" icon="search" @click="selectPagination(1)">查询</el-button> | |||
|         <el-button style="float: right;margin-bottom: 10px" type="primary" icon="search" @click="reset()">重置</el-button> | |||
|       </div> | |||
|       <div class="exportBtn"> | |||
|         <div> | |||
|           <span class="export_l">已选择 {{ selectedRowKeys.length }} 项</span> | |||
|           <span v-if="selectedRowKeys.length > 0" class="cancelSel" @click="cancelSelected">取消选择</span> | |||
|         </div> | |||
|         <span class="export_r" @click="exportData">导出数据</span> | |||
|       </div> | |||
|       <el-table :custom-row="handleClickRow" :row-selection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :columns="columns" :data-source="patientList" :pagination="false"> | |||
|         <template slot="lebal" slot-scope="text, record, index"> | |||
|           <span v-for="item in record.tagList" v-if="record.tagList.length" class="lebalBox">{{ item.length > 20 ? item.slice(0, 20) + '...' : item }}</span> | |||
|         </template> | |||
|         <template slot="note" slot-scope="text, record, index"> | |||
|           <span class="noteBox">{{ record.note }}</span> | |||
|         </template> | |||
|         <template slot="operate" slot-scope="text, record, index"> | |||
|           <span class="detail" @click.stop="handleInfo(record.id)">查看信息</span> | |||
|         </template> | |||
|       </el-table> | |||
|       <el-pagination class="pagination" size="small" :current="page" :total="total" show-size-changer show-quick-jumper :page-size="limit" @showSizeChange="onShowSizeChange" @change="selectPagination" /> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| // import api from '../../api/interface' | |||
| import moment from 'moment' | |||
| // import patientModel from './patientInfo' | |||
| 
 | |||
| export default { | |||
|   components: { | |||
|     // patientModel | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       labelCol: { | |||
|         xs: { span: 24 }, | |||
|         sm: { span: 7 } | |||
|       }, | |||
|       midCol: { | |||
|         xs: { span: 24 }, | |||
|         sm: { span: 12 } | |||
|       }, | |||
|       wrapperCol: { | |||
|         xs: { span: 24 }, | |||
|         sm: { span: 14 } | |||
|       }, | |||
|       checkDate: [], | |||
|       page: 1, | |||
|       limit: 10, | |||
|       total: 0, | |||
|       // patientId: '2328656', | |||
|       patientId: '2553716', | |||
|       patientName: '', // 病人姓名 | |||
|       userName: '', // 用户名 | |||
|       childInfo: { | |||
|         patientId: '', | |||
|         detailFlag: false | |||
|       }, | |||
|       tagName: '', // 标签 | |||
|       deviceId: '', // 品牌 | |||
|       remark: '', // 备注 | |||
|       medication: '', // 用药 | |||
|       startDate: '', // 检查开始时间 | |||
|       endDate: '', // 检查结束时间 | |||
|       infoFlag: false, // 患者检查信息弹框 | |||
|       patientIdFlag: false, | |||
|       nameFlag: false, | |||
|       deviceFlag: false, | |||
|       brandFlag: false, | |||
|       tagFlag: false, | |||
|       remarkFlag: false, | |||
|       medicationFlag: false, | |||
|       dateFlag: false, | |||
|       infoConfirm: false, | |||
|       deviceType: [], | |||
|       brandList: [], | |||
|       patientList: [], | |||
|       selectedRowKeys: [], | |||
|       columns: [ | |||
|         { | |||
|           title: '病人id', | |||
|           dataIndex: 'id', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '姓名', | |||
|           dataIndex: 'name', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '性别', | |||
|           dataIndex: 'sex', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '年龄', | |||
|           dataIndex: 'age', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '标签', | |||
|           dataIndex: 'lebal', | |||
|           scopedSlots: { customRender: 'lebal' } | |||
|         }, | |||
|         { | |||
|           title: '备注', | |||
|           dataIndex: 'remark', | |||
|           width: 150, | |||
|           scopedSlots: { customRender: 'note' } | |||
|         }, | |||
|         { | |||
|           title: '操作', | |||
|           dataIndex: 'operate', | |||
|           width: 150, | |||
|           scopedSlots: { customRender: 'operate' } | |||
|         } | |||
|       ] | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     hasSelected() { | |||
|       return this.selectedRowKeys.length > 0 | |||
|     } | |||
|   }, | |||
|   mounted() { | |||
|     this.userName = window.localStorage.getItem('userName') | |||
|     // this.queryDeviceType() | |||
|     this.queryPatientList() | |||
|   }, | |||
|   methods: { | |||
|     moment, | |||
|     // 重置 | |||
|     reset() { | |||
|       this.patientId = '' | |||
|       this.patientName = '' | |||
|       this.deviceId = '' | |||
|       this.tagName = '' | |||
|       this.remark = '' | |||
|       this.medication = '' | |||
|       this.startDate = null | |||
|       this.endDate = null | |||
|     }, | |||
|     handleClickId() { | |||
|       this.patientIdFlag = true | |||
|     }, | |||
|     handleClickName() { | |||
|       this.nameFlag = true | |||
|     }, | |||
|     handleClickDevice() { | |||
|       this.deviceFlag = true | |||
|     }, | |||
|     handleClickBrand() { | |||
|       this.brandFlag = true | |||
|     }, | |||
|     handleClickTag() { | |||
|       this.tagFlag = true | |||
|     }, | |||
|     handleClickRemark() { | |||
|       this.remarkFlag = true | |||
|     }, | |||
|     handleClickMedication() { | |||
|       this.medicationFlag = true | |||
|     }, | |||
|     handleClickDate() { | |||
|       this.dateFlag = true | |||
|     }, | |||
|     // 退出页面 | |||
|     handleOut() { | |||
|       this.$router.push('/login') | |||
|     }, | |||
|     selectBrand(deviceId) { | |||
|       this.deviceId = deviceId | |||
|     }, | |||
|     selectDate(val) { | |||
|       if (val.length) { | |||
|         this.startDate = val[0].format('YYYY-MM-DD') | |||
|         this.endDate = val[1].format('YYYY-MM-DD') | |||
|       } | |||
|     }, | |||
|     // 获取设备类型 | |||
|     async queryDeviceType() { | |||
|       const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList') | |||
|       if (res.code === 0) { | |||
|         this.deviceType = res.data || [] | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 选择设备 | |||
|     async selectDeviceType(deviceType) { | |||
|       const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList', { params: { | |||
|         deviceType: deviceType | |||
|       } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.brandList = res.data || [] | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     onSelectChange(selectedRowKeys) { | |||
|       this.selectedRowKeys = selectedRowKeys | |||
|     }, | |||
|     // 取消选择 | |||
|     cancelSelected() { | |||
|       this.selectedRowKeys = [] | |||
|     }, | |||
|     // 导出数据 | |||
|     exportData() { | |||
|       const token = window.localStorage.getItem('token') | |||
|       const url = `${api.interfaceConfig.downLoad}?patientId=${this.patientId}&token=${token}` | |||
|       window.location.href = url | |||
|     }, | |||
|     // 点击进入患者详情 | |||
|     handleClickRow(record, index) { | |||
|       return { | |||
|         on: { | |||
|           click: () => { | |||
|             console.log(record) | |||
|             // window.localStorage.setItem('patientId', '88163664') | |||
|             window.localStorage.setItem('patientId', '2553716') | |||
|             // window.localStorage.setItem('patientId', record.id) | |||
|             window.localStorage.setItem('name', record.name) | |||
|             window.localStorage.setItem('age', record.age) | |||
|             window.localStorage.setItem('sex', record.sex) | |||
|             this.$router.push({ name: 'patientDetail' }) | |||
|           } | |||
|         } | |||
|       } | |||
|     }, | |||
|     // 查看患者信息 | |||
|     handleInfo() { | |||
|       this.infoFlag = true | |||
|       this.childInfo.patientId = this.patientId | |||
|       this.$nextTick(() => { | |||
|         // this.$refs.infoComponent.openModal() | |||
|       }) | |||
|     }, | |||
|     // 获取患者列表 | |||
|     async queryPatientList() { | |||
|       console.log(123) | |||
|       const params = { | |||
|         page: this.page, | |||
|         limit: this.limit, | |||
|         patientId: this.patientId, | |||
|         patientName: this.patientName, | |||
|         tagName: this.tagName, | |||
|         deviceId: this.deviceId, | |||
|         medication: this.medication, | |||
|         startDate: this.startDate, | |||
|         endDate: this.endDate, | |||
|         remark: this.remark | |||
|       } | |||
|       Object.keys(params).map((item) => { | |||
|         if (!params[item]) { | |||
|           delete params[item] | |||
|         } | |||
|         return true | |||
|       }) | |||
|       const { data: res } = await this.$http.get('/patient/pac30/page', { params: params }) | |||
|       if (res.code === 0) { | |||
|         this.patientList = res.data ? res.data.list : [] | |||
|         this.total = res.data ? res.data.total : 0 | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 切换页面条数 | |||
|     onShowSizeChange(current, pageSize) { | |||
|       this.limit = pageSize | |||
|       this.queryPatientList() | |||
|     }, | |||
|     // 分页 | |||
|     selectPagination(pageNumber) { | |||
|       this.page = pageNumber | |||
|       this.queryPatientList() | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| </script> | |||
| <style lang="scss" scoped> | |||
|   .containerBox{ | |||
|     width: 100%; | |||
|     height: calc(100% - 50px) !important; | |||
|     background: #141414; | |||
|     .patientBox { | |||
|       width: 100%; | |||
|       height: 100%; | |||
|       background-color: #141414; | |||
|       padding: 16px; | |||
|     } | |||
| 
 | |||
|     .header{ | |||
|       width: 100%; | |||
|       height: 48px; | |||
|       line-height: 48px; | |||
|       padding: 0; | |||
|       background-color: #0B182E; | |||
| 
 | |||
|       .logo{ | |||
|         height: 48px; | |||
|         position: absolute; | |||
|         left: 0; | |||
|         top: 0; | |||
|       } | |||
|     } | |||
|     .userName{ | |||
|       color: #FFFFFF; | |||
|       font-size: 16px; | |||
|     } | |||
|     .logOut{ | |||
|       float: right; | |||
|       padding-right: 10px; | |||
|     } | |||
|     .searchBox{ | |||
|       width: 100%; | |||
|       display: flex; | |||
|       justify-content: space-around; | |||
|     } | |||
|     .cancelSel{ | |||
|       color: #4797FF; | |||
|       font-size: 14px; | |||
|       font-family: PingFang SC; | |||
|       margin-left: 8px; | |||
|       cursor: pointer; | |||
|     } | |||
|     .exportBtn{ | |||
|       width: 100%; | |||
|       height: 54px; | |||
|       line-height: 54px; | |||
|       padding: 0 6px 0 32px; | |||
|       background-color: rgba(71, 151, 255, 0.1); | |||
|       border: 1px solid rgba(71, 151, 255, 0.3); | |||
|       margin: 16px 0 16px 0; | |||
|       display: flex; | |||
|       justify-content: space-between; | |||
| 
 | |||
|       .export_l{ | |||
|         font-size: 14px; | |||
|         font-family: PingFang SC; | |||
|         color: #FFFFFF; | |||
|         letter-spacing: 2px; | |||
|       } | |||
|       .export_r{ | |||
|         font-size: 14px; | |||
|         font-family: PingFang SC; | |||
|         color: #4797FF; | |||
|         letter-spacing: 1px; | |||
|         cursor: pointer; | |||
|       } | |||
|     } | |||
|     .pagination{ | |||
|       float: right; | |||
|       margin-top: 16px; | |||
| 
 | |||
|     } | |||
|     .lebalBox{ | |||
|       display: inline-block; | |||
|       height: 22px; | |||
|       padding: 0 8px; | |||
|       margin-right: 5px; | |||
|       color: #52C41A; | |||
|       letter-spacing: 1px; | |||
|       background-color: #162312; | |||
|       border: 1px dotted #274916; | |||
|       box-sizing: content-box; | |||
|     } | |||
|     .noteBox{ | |||
|       letter-spacing: 1px; | |||
|     } | |||
|     .detail{ | |||
|       font-size: 14px; | |||
|       font-family: PingFang SC; | |||
|       color: #4797FF; | |||
|       letter-spacing: 1px; | |||
|       cursor: pointer; | |||
|     } | |||
|     .mr20{ | |||
|       margin-right: 40px; | |||
|     } | |||
| 
 | |||
|   } | |||
| </style> | |||
| <style lang="scss"> | |||
| .containerBox{ | |||
|   .el-dropdown{ | |||
|     color: white; | |||
|   } | |||
|   .el-pager{ | |||
|     li { | |||
|       background-color: transparent; | |||
|     } | |||
|   } | |||
|   .btn-next,.btn-prev,.el-pagination button:disabled{ | |||
|     background-color: transparent; | |||
|   } | |||
|   .el-input__inner{ | |||
|     color: white; | |||
|     background-color: transparent; | |||
|     border: 1px solid #000000; | |||
|   } | |||
|   .el-table__empty-block{ | |||
|     background-color: #0c1016; | |||
|     .el-table__empty-text{ | |||
|       color: white; | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| .ant-form-item{ | |||
|   margin: 16px 0; | |||
| } | |||
| .ant-form-item-label>label{ | |||
|   color: #FFFFFF !important; | |||
| } | |||
| .ant-table-placeholder{ | |||
|   border-top: none; | |||
|   border-bottom: 1px solid #0C1016; | |||
|   background-color: transparent; | |||
| } | |||
| .ant-empty-normal{ | |||
|   color: #FFFFFF; | |||
| } | |||
| .ant-table-thead>tr>th{ | |||
|   color: #FFFFFF; | |||
|   background: #434343; | |||
|   border-bottom: none; | |||
| } | |||
| 
 | |||
| .ant-table-tbody>tr>td{ | |||
|   color: #FFFFFF !important; | |||
|   border-bottom: none; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(odd){ | |||
|   background: #1F2329 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(even){ | |||
|   background: #141414 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(odd):hover:not(.ant-table-expanded-row) > td{ | |||
|   background: #1F2329 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(even):hover:not(.ant-table-expanded-row) > td{ | |||
|   background: #141414 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(odd).ant-table-row-selected td{ | |||
|   background: #1F2329 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(even).ant-table-row-selected td{ | |||
|   background: #141414 !important; | |||
| } | |||
| .ant-pagination-next a, .ant-pagination-prev a, .ant-pagination-item-ellipsis{ | |||
|   color: #D9D9D9 !important; | |||
| } | |||
| .ant-pagination-item{ | |||
|   width: 32px !important; | |||
|   height: 32px !important; | |||
|   line-height: 30px !important; | |||
|   background-color: #1F1F1F !important; | |||
| } | |||
| .ant-pagination-item-active a{ | |||
|   color: #40a9ff !important; | |||
| } | |||
| .ant-pagination-item:hover{ | |||
|   border-color: #40a9ff !important; | |||
| } | |||
| .ant-pagination-item a, .ant-pagination.mini .ant-pagination-options-quick-jumper, .ant-select-sm .ant-select-selection--single{ | |||
|   color: #FFFFFF; | |||
|   height: 32px !important; | |||
| } | |||
| .ant-select-sm .ant-select-selection__rendered{ | |||
|   line-height: 32px !important; | |||
| } | |||
| .pagination .ant-select-selection, .ant-pagination-options-quick-jumper input{ | |||
|   color: #FFFFFF ; | |||
|   height: 32px !important; | |||
|   background-color: #1F1F1F !important; | |||
|   border: 1px solid rgba(103, 103, 103, 0.38); | |||
| } | |||
| .ant-select-arrow{ | |||
|   color: #FFFFFF; | |||
| } | |||
| .ant-dropdown-link{ | |||
|   color: #FFFFFF; | |||
|   font-size: 14px; | |||
|   font-family: PingFang SC; | |||
| } | |||
| </style> | |||
| @ -0,0 +1,243 @@ | |||
| <template> | |||
|   <div class="examineBox"> | |||
|     <div style="display: flex;margin-top: 32px"> | |||
|       <el-table | |||
|         max-height="450" | |||
|         :data="tableData" | |||
|         style="width:100%;margin: 8px 8px 0 0" | |||
|       > | |||
|         <el-table-column | |||
|           align="center" | |||
|           type="index" | |||
|           label="序号" | |||
|         /> | |||
|         <el-table-column | |||
|           align="center" | |||
|           prop="name" | |||
|           label="项目" | |||
|         /> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OD" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 2"> | |||
|                 <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 3"> | |||
|                 <span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 4"> | |||
|                 <span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.odValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 5"> | |||
|                 <div v-if="scope.row.eyeType === 'OD'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 6"> | |||
|                 <div v-if="scope.row.eyeType === 'OD'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else> | |||
|                 {{ scope.row.odValue }} | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OS" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 2"> | |||
|                 <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 3"> | |||
|                 <span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 4"> | |||
|                 <span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.osValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 5"> | |||
|                 <div v-if="scope.row.eyeType === 'OS'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 6"> | |||
|                 <div v-if="scope.row.eyeType === 'OS'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else> | |||
|                 {{ scope.row.osValue }} | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|         <el-table-column | |||
|           align="center" | |||
|           label="OU" | |||
|         > | |||
|           <template slot-scope="scope"> | |||
|             <div> | |||
|               <span v-if="scope.row.sort === 1"> | |||
|                 <span style="margin-right: 16px" />{{ scope.row.ouValue }} | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 5"> | |||
|                 <div v-if="scope.row.eyeType === 'OU'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else-if="scope.row.sort === 6"> | |||
|                 <div v-if="scope.row.eyeType === 'OU'"> | |||
|                   <p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> | |||
|                   <p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> | |||
|                   <p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> | |||
|                   <p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> | |||
|                 </div> | |||
|               </span> | |||
|               <span v-else> | |||
|                 {{ scope.row.ouValue }} | |||
|               </span> | |||
|             </div> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| import eventBus from '@/page-subspecialty/utils/eventBus' | |||
| import treeSelect from '@/components/360View/itemSelect' | |||
| const Base64 = require('js-base64').Base64 | |||
| 
 | |||
| export default { | |||
|   components: { | |||
|     treeSelect | |||
|   }, | |||
|   mixins: [], | |||
|   props: { | |||
|     patientIdNumber: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     patientId: { | |||
|       type: String, | |||
|       default: '' | |||
|     } | |||
|   }, | |||
|   inject: ['refresh'], | |||
|   data() { | |||
|     return { | |||
|       userData: {}, | |||
|       collectId: '', | |||
|       tableData: [] | |||
|     } | |||
|   }, | |||
|   created() { | |||
|   }, | |||
|   mounted() { | |||
|     this.getOutPatientList() | |||
|     eventBus.$on('sendDataToExamine', data => { | |||
|       this.tableData = data | |||
|     }) | |||
|   }, | |||
|   methods: { | |||
|     // 获取表单数据 | |||
|     async getOutPatientList() { | |||
|       const { data: res } = await this.$http.get('/case/getCase', { | |||
|         params: { | |||
|           patientId: this.patientId, | |||
|           platform: 1, | |||
|           flag: 4 | |||
|         } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.tableData = res.data ? JSON.parse(res.data.jsonText) : [] | |||
|         this.collectId = res.data ? res.data.id : '' | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 保存 | |||
|     async saveExamine() { | |||
|       const params = { | |||
|         flag: 4, | |||
|         jsonText: JSON.stringify(this.tableData), | |||
|         name: '专科检查', | |||
|         patientId: this.patientId, | |||
|         platform: 1 | |||
|       } | |||
|       let url = '' | |||
|       if (this.collectId) { | |||
|         url = '/case/update' | |||
|         params.id = this.collectId | |||
|       } else { | |||
|         url = '/case/save' | |||
|       } | |||
|       const { data: res } = await this.$http.post(url, params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('保存成功') | |||
|         await this.getOutPatientList() | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .examineBox{ | |||
|   width: 100%; | |||
|   height: 100%; | |||
|   box-sizing: border-box; | |||
|   overflow-y: auto; | |||
|   position: relative; | |||
|   .btnBox{ | |||
|     position: fixed; | |||
|     right: 84px; | |||
|     text-align: right; | |||
|     margin-right: 16px; | |||
|     background-color: white; | |||
|     z-index: 999; | |||
|   } | |||
|   .moveIcon{ | |||
|     position: absolute; | |||
|     left: calc(50% + 120px); | |||
|     top: 40px; | |||
|     z-index: 9; | |||
|   } | |||
| } | |||
| </style> | |||
| <style lang="scss"> | |||
| .examineBox{ | |||
|   .el-form-item__content{ | |||
|     text-align: left; | |||
|   } | |||
| } | |||
| </style> | |||
| @ -0,0 +1,209 @@ | |||
| <template> | |||
|   <div> | |||
|     <div :id="idName" ref="yanyaRef" :style="{ height: height, width: width }" /> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| import moment from 'moment' // 导入模块 | |||
| export default { | |||
|   props: { | |||
|     idName: { type: String, default: 'chart' }, | |||
|     width: { type: String, default: '100%' }, | |||
|     height: { type: String, default: '200px' }, | |||
|     chartData: { type: Array, default: () => [] }, | |||
|     desc: { type: String, default: '' } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       date: [], | |||
|       typeList: { | |||
|         OD: [], | |||
|         OS: [], | |||
|         typeNull: [] | |||
|       }, | |||
|       legendData: [], | |||
|       seriesData: [], | |||
|       disabled: false | |||
|     } | |||
|   }, | |||
|   watch: { | |||
|     chartData: { | |||
|       handler(val, olVal) { | |||
|         this.initFun() | |||
|       }, | |||
|       deep: true | |||
|     } | |||
|   }, | |||
|   mounted() { | |||
|     this.initFun() | |||
|   }, | |||
|   methods: { | |||
|     initFun() { | |||
|       this.date = [] | |||
|       this.typeList = { | |||
|         OD: [], | |||
|         OS: [], | |||
|         typeNull: [] | |||
|       } | |||
|       this.legendData = [] | |||
|       this.seriesData = [] | |||
|       if (this.chartData && this.chartData.length > 0) { | |||
|         this.disabled = false | |||
|         this.chartData.forEach(item => { | |||
|           this.date.push(moment(item.examTime).format('l')) | |||
|           if (item.type === 'OD') { | |||
|             this.typeList.OD.push([item.date, item.value]) | |||
|             this.legendData[0] = 'OD' | |||
|           } | |||
|           if (item.type === 'OS') { | |||
|             this.typeList.OS.push([item.date, item.value]) | |||
|             this.legendData[1] = 'OS' | |||
|           } | |||
|           if (item.type === null) { | |||
|             this.typeList.typeNull.push([item.date, item.value]) | |||
|             this.legendData = [] | |||
|           } | |||
|         }) | |||
|       } else { | |||
|         this.disabled = true | |||
|       } | |||
|       this.$nextTick(() => { | |||
|         this.visionFun() | |||
|       }) | |||
|     }, | |||
|     visionFun() { | |||
|       // 基于准备好的dom,初始化echarts实例 | |||
|       const yanya = this.$echarts.init(document.getElementById(this.idName)) | |||
|       var colors = ['#4462FF', '#0DB760', '#000000'] | |||
|       Object.keys(this.typeList).forEach((item, index) => { | |||
|         if (this.typeList[item].length > 0) { | |||
|           this.seriesData.push({ | |||
|             name: item, | |||
|             type: 'line', | |||
|             // stack: index, | |||
|             data: this.typeList[item], | |||
|             label: { | |||
|               show: true, | |||
|               position: item === 'OD' ? [-25, -30] : [10, -5], | |||
|               backgroundColor: item === 'OD' ? '#4a6bff' : '#0db760', | |||
|               padding: [6, 6], | |||
|               color: '#ffffff', | |||
|               // color: 'rgba(24, 24, 24, 0.1)', | |||
|               borderRadius: 10 | |||
|             }, | |||
|             smooth: true, | |||
|             itemStyle: { | |||
|               color: colors[index] | |||
|             }, | |||
|             symbolSize: 10 | |||
|           }) | |||
|         } | |||
|       }) | |||
|       // 基于准备好的dom,初始化echarts实例 | |||
|       yanya.setOption({ | |||
|         title: { | |||
|           text: this.desc, | |||
|           textStyle: { | |||
|             'color': '#000000' | |||
|           }, | |||
|           left: 10 | |||
|         }, | |||
|         tooltip: { | |||
|         //   trigger: 'axis' | |||
|           backgroundColor: '#ece6e6', | |||
|           textStyle: { | |||
|             color: '#000000' // 设置文字颜色 | |||
|           }, | |||
|           formatter(params) { | |||
|             console.log(params) | |||
|             return params.seriesName + '<br/>' + params.data[0] + '   ' + params.data[1] | |||
|           } | |||
| 
 | |||
|         }, | |||
|         legend: { | |||
|           data: this.legendData, | |||
|           icon: 'pin', | |||
|           textStyle: { | |||
|             color: '#000000' | |||
|           }, | |||
|           right: 30 | |||
|         }, | |||
|         dataZoom: [ | |||
|           { | |||
|             type: 'inside', | |||
|             disabled: this.disabled, | |||
|             start: 0, | |||
|             end: 100 | |||
|           } | |||
|         ], | |||
|         grid: { | |||
|           top: 55, | |||
|           left: 50, | |||
|           right: 50, | |||
|           bottom: 30, | |||
|           containLabel: false | |||
|         }, | |||
|         xAxis: { | |||
|           type: 'time', | |||
|           boundaryGap: false, | |||
|           axisLabel: { | |||
|             show: true, | |||
|             showMaxLabel: true, | |||
|             textStyle: { | |||
|               color: '#000000' | |||
|             }, | |||
|             formatter: function(value, index) { | |||
|               const showD = moment(value).format('YYYY/M/D') | |||
|               return showD | |||
|             } | |||
|           }, | |||
|           axisLine: { | |||
|             lineStyle: { | |||
|               color: 'rgba(24, 24, 24, 0.1)' | |||
|             } | |||
|           }, | |||
|           // 显示网格线 | |||
|           splitLine: { | |||
|             show: true | |||
|           } | |||
|         }, | |||
|         yAxis: { | |||
|           type: 'value', | |||
|           min: function(value) { // 取最小值向下取整为最小刻度 | |||
|             return Math.floor(value.min) | |||
|           }, | |||
|           max: function(value) { // 取最大值向上取整为最大刻度 | |||
|             return Math.ceil(value.max) | |||
|           }, | |||
|           splitNumber: 1, // 分割刻度 | |||
|           axisLabel: { | |||
|             show: true, | |||
|             textStyle: { | |||
|               color: '#000000' | |||
|             } | |||
|           }, | |||
|           axisLine: { | |||
|             lineStyle: { | |||
|               color: 'rgba(24, 24, 24, 0.1)' | |||
|             } | |||
|           } | |||
|         }, | |||
|         series: [ | |||
|           ...this.seriesData | |||
|         ] | |||
|       }) | |||
|       // 随窗口变化 | |||
|       window.addEventListener('resize', () => { yanya.resize() }) | |||
|       //  随外层div的大小变化自适应 | |||
|       this.$erd.listenTo(this.$refs.yanyaRef, () => { | |||
|         this.$nextTick(() => { | |||
|           yanya.resize() | |||
|         }) | |||
|       }) | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| </script> | |||
| <style style="scss" scoped> | |||
| </style> | |||
| @ -1,150 +1,167 @@ | |||
| <template> | |||
|   <el-dialog | |||
|     class="HIS-dialog" | |||
|     :visible.sync="visible" | |||
|     width="60%" | |||
|     title="HIS查询" | |||
|   > | |||
|     <el-form ref="dataFormHis" :inline="true" :model="dataFormHis" class="demo-form-inline" :rules="dataRule" @keyup.enter.native="findHandle(2)"> | |||
|       <el-form-item prop="patientId"> | |||
|         <el-input v-model="dataFormHis.patientId" placeholder="请输入病历号" clearable @clear="findHandle(1)" /> | |||
|       </el-form-item> | |||
|       <el-form-item prop="patientName"> | |||
|         <el-input v-model="dataFormHis.patientName" placeholder="请输入姓名" clearable @clear="findHandle(1)" /> | |||
|       </el-form-item> | |||
|       <el-form-item prop="patientIdNumber"> | |||
|         <el-input v-model="dataFormHis.patientIdNumber" placeholder="请输入身份证号" clearable @clear="findHandle(1)" /> | |||
|       </el-form-item> | |||
|       <el-form-item> | |||
|         <el-button type="primary" @click="findHandle(2)">查询</el-button> | |||
|       </el-form-item> | |||
|     </el-form> | |||
|     <el-table v-loading="loading" :data="tableData"> | |||
|       <template slot="empty"> | |||
|         <span style="color: #969799;">{{ tableText }}</span> | |||
|       </template> | |||
|       <el-table-column property="patId" label="病历号" width="100" /> | |||
|       <el-table-column property="patName" label="患者姓名" width="100" /> | |||
|       <el-table-column property="patIdNumber" label="身份证号" /> | |||
|       <el-table-column property="patPhone" label="联系电话" /> | |||
|       <el-table-column property="patAddress" label="家庭地址" /> | |||
|       <el-table-column label="操作" width="80"> | |||
|         <template slot-scope="scope"> | |||
|           <p class="introduce" @click="introduceHandle(scope.row)">引入</p> | |||
|         </template></el-table-column> | |||
|     </el-table> | |||
|   </el-dialog> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| export default { | |||
|   props: { | |||
|     patientTypeList: { | |||
|       type: Array, | |||
|       default: () => [] | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       visible: false, | |||
|       dataFormHis: { | |||
|         patientId: '', | |||
|         patientName: '', | |||
|         patientIdNumber: '' | |||
|       }, | |||
|       dataForm: {}, | |||
|       tableData: [], | |||
|       tableText: '请查询所需数据', | |||
|       loading: false | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     dataRule() { | |||
|       return { | |||
|         patientId: [ | |||
|           { message: '请输入病历号', trigger: 'blur' } | |||
|         ], | |||
|         patientName: [ | |||
|           { message: '请输入姓名', trigger: 'blur' } | |||
|         ], | |||
|         patientIdNumber: [ | |||
|           { message: '请输入身份证号', trigger: 'blur' } | |||
|         ] | |||
|       } | |||
|     } | |||
|   }, | |||
|   methods: { | |||
|     init() { | |||
|       this.visible = true | |||
|       this.$nextTick(() => { | |||
|         this.tableText = '请查询所需数据' | |||
|         this.$refs.dataFormHis.resetFields() // 重置表单 | |||
|         this.tableData = [] | |||
|         this.findHandle(1) | |||
|       }) | |||
|     }, | |||
|     // His查询按钮 | |||
|     async findHandle(flag) { | |||
|       this.loading = true | |||
|       if (flag === 2 && !this.dataFormHis.patientId && !this.dataFormHis.patientName && !this.dataFormHis.patientIdNumber) { | |||
|         return this.$message.error('搜索内容不能为空') | |||
|       } | |||
|       const { data: res } = await this.$http.get('/pat/Manage/getHisPatientList', { | |||
|         params: this.dataFormHis | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.loading = false | |||
|         this.tableData = res.data | |||
|         if (res.data.length <= 0 && flag === 2) { | |||
|           this.tableText = '查询成功,未查询到相关数据' | |||
|         } else if (res.data.length <= 0 && flag === 1) { | |||
|           this.tableText = '请查询所需数据' | |||
|         } | |||
|       } else { | |||
|         this.loading = false | |||
|         this.tableText = res.msg | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 点击引入按钮 | |||
|     introduceHandle(scopwRow) { | |||
|       this.$parent.addOrUpdateHandle('', scopwRow, 'HIS引入') | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .HIS-dialog { | |||
|   .cycle-display { | |||
|     .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
|     .el-input-number { | |||
|       width: 100px; | |||
|       margin-right: 16px; | |||
|     } | |||
|   } | |||
|   .introduce { | |||
|     color: #1F78FF; | |||
|     cursor: pointer; | |||
|   } | |||
| } | |||
| 
 | |||
| </style> | |||
| <style lang="scss"> | |||
| .HIS-dialog { | |||
| .el-form { | |||
|   display: flex; | |||
| } | |||
|   .el-dialog__header { | |||
|     margin-bottom:12px | |||
|   } | |||
|     .el-dialog__body { | |||
|         padding-right: 30px; | |||
|     } | |||
|     .formItemOne .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
| 
 | |||
| } | |||
| </style> | |||
| <template> | |||
|   <el-dialog | |||
|     class="HIS-dialog" | |||
|     :visible.sync="visible" | |||
|     width="60%" | |||
|     title="HIS查询" | |||
|   > | |||
|     <el-form ref="dataFormHis" :inline="true" :model="dataFormHis" class="demo-form-inline" :rules="dataRule" @keyup.enter.native="findHandle(2)"> | |||
|       <el-form-item prop="patientId"> | |||
|         <el-input v-model="dataFormHis.patientId" placeholder="请输入病历号" clearable @clear="findHandle(1)" /> | |||
|       </el-form-item> | |||
|       <el-form-item prop="patientName"> | |||
|         <el-input v-model="dataFormHis.patientName" placeholder="请输入姓名" clearable @clear="findHandle(1)" /> | |||
|       </el-form-item> | |||
|       <el-form-item prop="patientIdNumber"> | |||
|         <el-input v-model="dataFormHis.patientIdNumber" placeholder="请输入身份证号" clearable @clear="findHandle(1)" /> | |||
|       </el-form-item> | |||
|       <el-form-item> | |||
|         <el-button type="primary" @click="findHandle(2)">查询</el-button> | |||
|       </el-form-item> | |||
|     </el-form> | |||
|     <el-table v-loading="loading" :data="tableData" style="margin-bottom: 32px"> | |||
|       <template slot="empty"> | |||
|         <span style="color: #969799;">{{ tableText }}</span> | |||
|       </template> | |||
|       <el-table-column property="patientId" label="病历号" width="100" /> | |||
|       <el-table-column property="patientName" label="患者姓名" width="100" /> | |||
|       <el-table-column property="patientIdNumber" label="身份证号" /> | |||
|       <el-table-column property="patientPhone" label="联系电话" /> | |||
|       <el-table-column property="patientAddress" label="家庭地址" /> | |||
|       <el-table-column label="操作" width="80"> | |||
|         <template slot-scope="scope"> | |||
|           <p class="introduce" @click="introduceHandle(scope.row)">引入</p> | |||
|         </template> | |||
|       </el-table-column> | |||
|     </el-table> | |||
|   </el-dialog> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| export default { | |||
|   props: { | |||
|     patientTypeList: { | |||
|       type: Array, | |||
|       default: () => [] | |||
|     }, | |||
|     isSearch: { | |||
|       type: String, | |||
|       default: '' | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       visible: false, | |||
|       dataFormHis: { | |||
|         patientId: '', | |||
|         patientName: '', | |||
|         patientIdNumber: '' | |||
|       }, | |||
|       dataForm: {}, | |||
|       tableData: [], | |||
|       tableText: '请查询所需数据', | |||
|       loading: false | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     dataRule() { | |||
|       return { | |||
|         patientId: [ | |||
|           { message: '请输入病历号', trigger: 'blur' } | |||
|         ], | |||
|         patientName: [ | |||
|           { message: '请输入姓名', trigger: 'blur' } | |||
|         ], | |||
|         patientIdNumber: [ | |||
|           { message: '请输入身份证号', trigger: 'blur' } | |||
|         ] | |||
|       } | |||
|     } | |||
|   }, | |||
|   methods: { | |||
|     init() { | |||
|       this.visible = true | |||
|       this.$nextTick(() => { | |||
|         this.tableText = '请查询所需数据' | |||
|         this.$refs.dataFormHis.resetFields() // 重置表单 | |||
|         this.tableData = [] | |||
|       }) | |||
|     }, | |||
|     // His查询按钮 | |||
|     async findHandle(flag) { | |||
|       this.loading = true | |||
|       if (flag === 2 && !this.dataFormHis.patientId && !this.dataFormHis.patientName && !this.dataFormHis.patientIdNumber) { | |||
|         return this.$message.error('搜索内容不能为空') | |||
|       } | |||
|       const { data: res } = await this.$http.get('/patient/getHisPatient', { | |||
|         params: this.dataFormHis | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.loading = false | |||
|         this.tableData = res.data | |||
|         if (res.data.length <= 0 && flag === 2) { | |||
|           this.tableText = '查询成功,未查询到相关数据' | |||
|         } else if (res.data.length <= 0 && flag === 1) { | |||
|           this.tableText = '请查询所需数据' | |||
|         } | |||
|       } else { | |||
|         this.loading = false | |||
|         this.tableText = res.msg | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 点击引入按钮 | |||
|     async introduceHandle(item) { | |||
|       console.log(item) | |||
|       const { data: res } = await this.$http.get('/patient/doLeadIn', { | |||
|         params: { | |||
|           patientId: item.patientId, | |||
|           platform: this.isSearch | |||
|         } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('引入成功!') | |||
|         this.$parent.getDataListInitial() | |||
|       } else { | |||
|         this.tableText = res.msg | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .HIS-dialog { | |||
|   .cycle-display { | |||
|     .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
|     .el-input-number { | |||
|       width: 100px; | |||
|       margin-right: 16px; | |||
|     } | |||
|   } | |||
|   .introduce { | |||
|     color: #1F78FF; | |||
|     cursor: pointer; | |||
|   } | |||
| } | |||
| 
 | |||
| </style> | |||
| <style lang="scss"> | |||
| .HIS-dialog { | |||
| .el-form { | |||
|   display: flex; | |||
| } | |||
|   .el-dialog__header { | |||
|     margin-bottom:12px | |||
|   } | |||
|     .el-dialog__body { | |||
|         padding-right: 30px; | |||
|     } | |||
|     .formItemOne .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
| 
 | |||
| } | |||
| </style> | |||
|  | |||
| @ -1,216 +1,214 @@ | |||
| <template> | |||
|   <el-dialog | |||
|     class="patientDialog" | |||
|     :visible.sync="visible" | |||
|     width="30%" | |||
|     :title="dataForm.title" | |||
|   > | |||
|     <el-form ref="dataForm" :model="dataForm" :rules="dataRule"> | |||
|       <el-form-item v-if="dataForm.drgsName == '眼视光'" label="病历号:" label-width="90px" prop="patId" class="formItemOne"> | |||
|         <el-input v-model="dataForm.patId" placeholder="请输入病历号" /> | |||
|       </el-form-item> | |||
|       <el-form-item v-if="dataForm.drgsName == '青光眼'" label="患者ID:" label-width="90px" prop="patId" class="formItemOne"> | |||
|         <el-input v-model="dataForm.patId" placeholder="请输入患者ID" /> | |||
|       </el-form-item> | |||
|       <el-form-item label="患者姓名:" label-width="90px" prop="patName"> | |||
|         <el-input v-model="dataForm.patName" placeholder="请输入姓名" /> | |||
|       </el-form-item> | |||
|       <el-form-item v-if="!dataForm.id" label="身份证号:" label-width="90px" prop="patIdNumber"> | |||
|         <el-input v-model="dataForm.patIdNumber" placeholder="请输入身份证号 " /> | |||
|       </el-form-item> | |||
|       <el-form-item label="联系电话:" label-width="90px" prop="patPhone"> | |||
|         <el-input v-model="dataForm.patPhone" placeholder="请输入手机号" /> | |||
|       </el-form-item> | |||
|       <el-form-item label="家庭地址:" label-width="90px" prop="patAddress"> | |||
|         <el-input v-model="dataForm.patAddress" placeholder="请输入地址" /> | |||
|       </el-form-item> | |||
|       <!-- <el-form-item v-if="dataForm.drgsName == '眼视光'" label="患者类别:" label-width="90px" prop="patType"> | |||
|         <el-select v-model="dataForm.patType" placeholder="请选择患者类别" clearable> | |||
|           <el-option v-for="(item,index) in patientTypeList " :key="index" :label="item" :value="item" /> | |||
|         </el-select> | |||
|       </el-form-item> --> | |||
|       <!-- <el-form-item v-if="dataForm.drgsName == '青光眼'" label="周期:" label-width="90px" prop="revisitCycles" class="cycle-display"> | |||
|         <el-input-number | |||
|           v-model="dataForm.revisitCycles" | |||
|           controls-position="right" | |||
|           :min="1" | |||
|         /> | |||
|         <el-radio-group v-model="dataForm.revisitCyclesUnit"> | |||
|           <el-radio-button label="3">天</el-radio-button> | |||
|           <el-radio-button label="4">周</el-radio-button> | |||
|           <el-radio-button label="2">月</el-radio-button> | |||
|         </el-radio-group> | |||
|       </el-form-item> --> | |||
|       <el-form-item v-if="dataForm.drgsName == '青光眼'" label="备注:" label-width="90px" prop="remarks"> | |||
|         <el-input v-model="dataForm.remarks" type="textarea" /> | |||
|       </el-form-item> | |||
|     </el-form> | |||
|     <template slot="footer"> | |||
|       <el-button @click="visible = false">{{ $t('cancel') }}</el-button> | |||
|       <el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> | |||
|     </template> | |||
|   </el-dialog> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import debounce from 'lodash/debounce' | |||
| import { isMobile, isIDNumber } from '@/utils/validate' | |||
| export default { | |||
|   props: { | |||
|     patientTypeList: { | |||
|       type: Array, | |||
|       default: () => [] | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       visible: false, | |||
|       dataForm: { | |||
|         patId: '', | |||
|         patName: '', | |||
|         patIdNumber: '', | |||
|         patPhone: '', | |||
|         patAddress: '', | |||
|         // patType: '', | |||
|         revisitCycles: '1', // 周期数 | |||
|         revisitCyclesUnit: '3', // 周期单位 1年2月3日4周 | |||
|         remarks: '', | |||
|         drgsName: window.localStorage.getItem('identity') | |||
|       } | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     dataRule() { | |||
|       var validataMobile = (rule, value, callback) => { | |||
|         if (value && !isMobile(value)) { | |||
|           return callback(new Error('您输入的手机号格式不正确')) | |||
|         } | |||
|         callback() | |||
|       } | |||
|       // var validataIDNumber = (rule, value, callback) => { | |||
|       //   if (value && !isIDNumber(value)) { | |||
|       //     return callback(new Error('您输入的身份证格式不正确')) | |||
|       //   } else if (!value) { | |||
|       //     return callback(new Error('请输入身份证号')) | |||
|       //   } | |||
|       //   callback() | |||
|       // } | |||
|       return { | |||
|         patId: [ | |||
|           { required: true, message: '请输入病历号', trigger: 'blur' } | |||
|         ], | |||
|         patName: [ | |||
|           { required: true, message: '请输入患者姓名', trigger: 'blur' } | |||
|         ], | |||
|         patIdNumber: [ | |||
|           { required: true, message: '请输入身份证号', trigger: 'blur' } | |||
|         ], | |||
|         patPhone: [ | |||
|           { validator: validataMobile, trigger: 'blur' } | |||
|         ], | |||
|         patAddress: [ | |||
|           { message: '请输入家庭地址', trigger: 'blur' } | |||
|         ] | |||
|         // patType: [ | |||
|         //   { message: '请选择患者类型', trigger: 'change' } | |||
|         // ] | |||
|       } | |||
|     } | |||
|   }, | |||
|   methods: { | |||
|     init() { | |||
|       this.visible = true | |||
|       this.$nextTick(() => { | |||
|         this.$refs.dataForm.resetFields() // 重置表单 | |||
|         this.dataForm.patIdNumber = '' | |||
|         this.dataForm.patName = '' | |||
|         this.dataForm.patAddress = '' | |||
|         this.dataForm.revisitCycles = '1' | |||
|         this.dataForm.revisitCyclesUnit = '3' | |||
|         if (this.dataForm.params.patIdNumber && this.dataForm.title !== 'HIS引入') { | |||
|           this.getInfo() | |||
|         } else if (this.dataForm.title === 'HIS引入') { | |||
|           this.getHisInfo() | |||
|         } | |||
|       }) | |||
|     }, | |||
|     // 获取信息 | |||
|     getInfo() { | |||
|       this.$http.get('/pat/Manage', { | |||
|         params: { | |||
|           patIdNumber: this.dataForm.params.patIdNumber, | |||
|           drgsName: this.dataForm.drgsName, | |||
|           isSearch: '' | |||
|         } | |||
|       }).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.dataForm = { | |||
|           ...this.dataForm, | |||
|           ...res.data | |||
|         } | |||
|       }).catch(() => {}) | |||
|     }, | |||
|     // 获取His信息 | |||
|     getHisInfo() { | |||
|       this.dataForm = { ...this.dataForm, ...this.dataForm.params, drgsName: window.localStorage.getItem('identity') } | |||
|       this.dataForm.revisitCycles = this.dataForm.revisitCycles ? this.dataForm.revisitCycles : '1' | |||
|       this.dataForm.revisitCyclesUnit = this.dataForm.revisitCyclesUnit ? this.dataForm.revisitCyclesUnit : '3' | |||
|     }, | |||
|     // 表单提交 | |||
|     dataFormSubmitHandle: debounce(function() { | |||
|       if (this.dataForm.title === 'HIS引入') { | |||
|         // this.$parent.HisAddVisible = false | |||
|       } | |||
|       this.$refs.dataForm.validate((valid) => { | |||
|         if (!valid) { | |||
|           return false | |||
|         } | |||
|         this.$http[!this.dataForm.id ? 'post' : 'put']('/pat/Manage', this.dataForm).then(({ data: res }) => { | |||
|           if (res.code !== 0) { | |||
|             return this.$message.error(res.msg) | |||
|           } | |||
|           this.$message({ | |||
|             message: this.$t('prompt.success'), | |||
|             type: 'success', | |||
|             duration: 500, | |||
|             onClose: () => { | |||
|               this.visible = false | |||
|               this.$emit('refreshDataList') | |||
|             } | |||
|           }) | |||
|         }).catch(() => {}) | |||
|       }) | |||
|     }, 1000, { leading: true, trailing: false }) | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .patientDialog { | |||
|   .cycle-display { | |||
|     .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
|     .el-input-number { | |||
|       width: 100px; | |||
|       margin-right: 16px; | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| </style> | |||
| <style lang="scss"> | |||
| .patientDialog { | |||
|   .el-dialog__header { | |||
|     margin-bottom:12px | |||
|   } | |||
|     .el-dialog__body { | |||
|         padding-right: 30px; | |||
|     } | |||
|     .formItemOne .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
| 
 | |||
| } | |||
| </style> | |||
| <template> | |||
|   <el-dialog | |||
|     class="patientDialog" | |||
|     :visible.sync="visible" | |||
|     width="40%" | |||
|     :title="dataForm.title" | |||
|     @close="closeDialog" | |||
|   > | |||
|     <el-form ref="dataForm" :model="dataForm" :rules="dataRule"> | |||
|       <el-form-item label="病历号:" label-width="90px" prop="patientId" class="formItemOne"> | |||
|         <el-input v-model="dataForm.patientId" placeholder="请输入病历号" /> | |||
|       </el-form-item> | |||
|       <el-form-item label="患者姓名:" label-width="90px" prop="patientName"> | |||
|         <el-input v-model="dataForm.patientName" placeholder="请输入姓名" /> | |||
|       </el-form-item> | |||
|       <el-form-item label="身份证号:" label-width="90px" prop="patientIdNumber"> | |||
|         <el-input v-model="dataForm.patientIdNumber" placeholder="请输入身份证号 " /> | |||
|       </el-form-item> | |||
|       <el-form-item label="出生日期:" label-width="90px" prop="patientBirthday"> | |||
|         <el-date-picker | |||
|           v-model="dataForm.patientBirthday" | |||
|           align="right" | |||
|           type="date" | |||
|           placeholder="选择日期" | |||
|           value-format="yyyy-MM-dd" | |||
|         /> | |||
|       </el-form-item> | |||
|       <el-form-item label="性别:" label-width="90px" prop="gender"> | |||
|         <el-radio-group v-model="dataForm.patientSex" size="medium"> | |||
|           <el-radio-button label="男">男</el-radio-button> | |||
|           <el-radio-button label="女">女</el-radio-button> | |||
|           <el-radio-button label="保密">保密</el-radio-button> | |||
|         </el-radio-group> | |||
|       </el-form-item> | |||
|       <el-form-item label="联系电话:" label-width="90px" prop="patientPhone"> | |||
|         <el-input v-model="dataForm.patientPhone" placeholder="请输入手机号" /> | |||
|       </el-form-item> | |||
|       <el-form-item label="家庭地址:" label-width="90px" prop="patientAddress"> | |||
|         <el-input v-model="dataForm.patientAddress" placeholder="请输入地址" /> | |||
|       </el-form-item> | |||
| <!--      <el-form-item label="随访方案:" label-width="90px" prop="visitId">--> | |||
| <!--        <el-select v-model="dataForm.visitId" placeholder="请选择随访方案">--> | |||
| <!--          <el-option v-for="item in visitList" :key="item.id" :label="item.name" :value="item.id" />--> | |||
| <!--        </el-select>--> | |||
| <!--      </el-form-item>--> | |||
|       <el-form-item label="备注:" label-width="90px" prop="remarks"> | |||
|         <el-input v-model="dataForm.remark" type="textarea" /> | |||
|       </el-form-item> | |||
|     </el-form> | |||
|     <template slot="footer"> | |||
|       <el-button @click="visible = false">{{ $t('cancel') }}</el-button> | |||
|       <el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> | |||
|     </template> | |||
|   </el-dialog> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import debounce from 'lodash/debounce' | |||
| import { isMobile, isIDNumber } from '@/utils/validate' | |||
| export default { | |||
|   props: { | |||
|     patientTypeList: { | |||
|       type: Array, | |||
|       default: () => [] | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       visible: false, | |||
|       dataForm: { | |||
|         platform: 3, | |||
|         patientId: '', | |||
|         patientName: '', | |||
|         patientIdNumber: '', | |||
|         patientSex: '男', | |||
|         patientPhone: '', | |||
|         patientAddress: '', | |||
|         patientBirthday: '', | |||
|         visitId: '', | |||
|         remark: '' | |||
|       }, | |||
|       params: {}, | |||
|       visitList: [] | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     dataRule() { | |||
|       var validataMobile = (rule, value, callback) => { | |||
|         if (value && !isMobile(value)) { | |||
|           return callback(new Error('您输入的手机号格式不正确')) | |||
|         } | |||
|         callback() | |||
|       } | |||
|       // var validataIDNumber = (rule, value, callback) => { | |||
|       //   if (value && !isIDNumber(value)) { | |||
|       //     return callback(new Error('您输入的身份证格式不正确')) | |||
|       //   } else if (!value) { | |||
|       //     return callback(new Error('请输入身份证号')) | |||
|       //   } | |||
|       //   callback() | |||
|       // } | |||
|       return { | |||
|         patientId: [ | |||
|           { required: true, message: '请输入病历号', trigger: 'blur' } | |||
|         ], | |||
|         patientName: [ | |||
|           { required: true, message: '请输入患者姓名', trigger: 'blur' } | |||
|         ], | |||
|         patientIdNumber: [ | |||
|           { required: true, message: '请输入患者身份证号', trigger: 'blur' } | |||
|         ] | |||
|       } | |||
|     } | |||
|   }, | |||
|   methods: { | |||
|     init() { | |||
|       this.visible = true | |||
|       this.$nextTick(() => { | |||
|         this.$refs.dataForm.resetFields() // 重置表单 | |||
|         // this.getVisitList() // 获取随访列表 | |||
|         if (this.params.patientIdNumber && this.dataForm.title !== 'HIS引入') { | |||
|           this.getInfo() | |||
|         } else if (this.dataForm.title === 'HIS引入') { | |||
|           this.getHisInfo() | |||
|         } | |||
|       }) | |||
|     }, | |||
|     // 获取信息 | |||
|     getInfo() { | |||
|       this.$http.get(`/patient/manage/${this.params.patientCentreId}/${this.params.patientIdNumber}`).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.dataForm = { | |||
|           ...this.dataForm, | |||
|           ...res.data | |||
|         } | |||
|       }).catch(() => {}) | |||
|     }, | |||
|     // 获取His信息 | |||
|     getHisInfo() { | |||
|       this.dataForm = { ...this.dataForm, ...this.params } | |||
|       this.dataForm.revisitCycles = this.dataForm.revisitCycles ? this.dataForm.revisitCycles : '1' | |||
|       this.dataForm.revisitCyclesUnit = this.dataForm.revisitCyclesUnit ? this.dataForm.revisitCyclesUnit : '3' | |||
|       console.log(this.dataForm) | |||
|     }, | |||
|     // 获取随访列表 | |||
|     async getVisitList() { | |||
|       const { data: res } = await this.$http.get('/visit/getList') | |||
|       if (res.code === 0) { | |||
|         this.visitList = res.data | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 表单提交 | |||
|     dataFormSubmitHandle: debounce(function() { | |||
|       this.$refs.dataForm.validate((valid) => { | |||
|         if (!valid) { | |||
|           return false | |||
|         } | |||
|         this.$http[!this.dataForm.id ? 'post' : 'put']('/patient/savePatient', this.dataForm).then(({ data: res }) => { | |||
|           if (res.code !== 0) { | |||
|             return this.$message.error(res.msg) | |||
|           } | |||
|           this.$message({ | |||
|             message: this.$t('prompt.success'), | |||
|             type: 'success', | |||
|             duration: 500, | |||
|             onClose: () => { | |||
|               this.visible = false | |||
|               this.$emit('refreshDataList') | |||
|             } | |||
|           }) | |||
|         }).catch(() => {}) | |||
|       }) | |||
|     }, 1000, { leading: true, trailing: false }), | |||
|     // 关闭弹框 | |||
|     closeDialog() { | |||
|       this.$emit('closeDialog') | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .patientDialog { | |||
|   .cycle-display { | |||
|     .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
|     .el-input-number { | |||
|       width: 100px; | |||
|       margin-right: 16px; | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| </style> | |||
| <style lang="scss"> | |||
| .patientDialog { | |||
|   .el-dialog__header { | |||
|     margin-bottom:12px | |||
|   } | |||
|     .el-dialog__body { | |||
|         padding-right: 30px; | |||
|     } | |||
|     .formItemOne .el-form-item__content { | |||
|       display: flex; | |||
|     } | |||
|     .el-date-editor.el-input, .el-date-editor.el-input__inner { | |||
|       width: 100%; | |||
|     } | |||
| } | |||
| </style> | |||
|  | |||
| @ -0,0 +1,543 @@ | |||
| <template> | |||
|   <div class="containerBox"> | |||
|     <div class="patientBox"> | |||
|       <div> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             病人ID<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="patientId" placeholder="请输入病人ID" /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             姓名<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="patientName" placeholder="请输入姓名" /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
| <!--        <el-dropdown class="mr20">--> | |||
| <!--          <span class="el-dropdown-link">--> | |||
| <!--            设备类型<i class="el-icon-arrow-down el-icon--right"></i>--> | |||
| <!--          </span>--> | |||
| <!--          <el-dropdown-menu slot="dropdown">--> | |||
| <!--            <el-select default-value="全部" style="width: 180px" @change="selectDeviceType">--> | |||
| <!--                            <el-select-option :value="0">--> | |||
| <!--                              全部--> | |||
| <!--                            </el-select-option>--> | |||
| <!--                            <el-select-option v-for="(item,index) in deviceType" :key="index" :value="item.deviceType">--> | |||
| <!--                              {{ item.deviceTypeName }}--> | |||
| <!--                            </el-select-option>--> | |||
| <!--                          </el-select>--> | |||
| <!--          </el-dropdown-menu>--> | |||
| <!--        </el-dropdown>--> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             备注<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="remark" placeholder="请输入备注" allow-clear /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
|         <el-dropdown class="mr20"> | |||
|           <span class="el-dropdown-link"> | |||
|             用药<i class="el-icon-arrow-down el-icon--right"></i> | |||
|           </span> | |||
|           <el-dropdown-menu slot="dropdown"> | |||
|             <el-input v-model="medication" placeholder="请输入用药" allow-clear /> | |||
|           </el-dropdown-menu> | |||
|         </el-dropdown> | |||
|         <el-button style="float: right;margin-bottom: 10px;margin-left: 10px" type="primary" icon="search" @click="selectPagination(1)">查询</el-button> | |||
|         <el-button style="float: right;margin-bottom: 10px" type="primary" icon="search" @click="reset()">重置</el-button> | |||
|       </div> | |||
|       <div class="exportBtn"> | |||
|         <div> | |||
|           <span class="export_l">已选择 {{ selectedRowKeys.length }} 项</span> | |||
|           <span v-if="selectedRowKeys.length > 0" class="cancelSel" @click="cancelSelected">取消选择</span> | |||
|         </div> | |||
|         <span class="export_r" @click="exportData">导出数据</span> | |||
|       </div> | |||
|       <el-table :custom-row="handleClickRow" :row-selection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :columns="columns" :data-source="patientList" :pagination="false"> | |||
|         <template slot="lebal" slot-scope="text, record, index"> | |||
|           <span v-for="item in record.tagList" v-if="record.tagList.length" class="lebalBox">{{ item.length > 20 ? item.slice(0, 20) + '...' : item }}</span> | |||
|         </template> | |||
|         <template slot="note" slot-scope="text, record, index"> | |||
|           <span class="noteBox">{{ record.note }}</span> | |||
|         </template> | |||
|         <template slot="operate" slot-scope="text, record, index"> | |||
|           <span class="detail" @click.stop="handleInfo(record.id)">查看信息</span> | |||
|         </template> | |||
|       </el-table> | |||
|       <el-pagination class="pagination" size="small" :current="page" :total="total" show-size-changer show-quick-jumper :page-size="limit" @showSizeChange="onShowSizeChange" @change="selectPagination" /> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| // import api from '../../api/interface' | |||
| import moment from 'moment' | |||
| // import patientModel from './patientInfo' | |||
| 
 | |||
| export default { | |||
|   components: { | |||
|     // patientModel | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       labelCol: { | |||
|         xs: { span: 24 }, | |||
|         sm: { span: 7 } | |||
|       }, | |||
|       midCol: { | |||
|         xs: { span: 24 }, | |||
|         sm: { span: 12 } | |||
|       }, | |||
|       wrapperCol: { | |||
|         xs: { span: 24 }, | |||
|         sm: { span: 14 } | |||
|       }, | |||
|       checkDate: [], | |||
|       page: 1, | |||
|       limit: 10, | |||
|       total: 0, | |||
|       // patientId: '2328656', | |||
|       // patientId: '2553716', | |||
|       patientId: '', | |||
|       patientName: '', // 病人姓名 | |||
|       userName: '', // 用户名 | |||
|       childInfo: { | |||
|         patientId: '', | |||
|         detailFlag: false | |||
|       }, | |||
|       tagName: '', // 标签 | |||
|       deviceId: '', // 品牌 | |||
|       remark: '', // 备注 | |||
|       medication: '', // 用药 | |||
|       startDate: '', // 检查开始时间 | |||
|       endDate: '', // 检查结束时间 | |||
|       infoFlag: false, // 患者检查信息弹框 | |||
|       patientIdFlag: false, | |||
|       nameFlag: false, | |||
|       deviceFlag: false, | |||
|       brandFlag: false, | |||
|       tagFlag: false, | |||
|       remarkFlag: false, | |||
|       medicationFlag: false, | |||
|       dateFlag: false, | |||
|       infoConfirm: false, | |||
|       deviceType: [], | |||
|       brandList: [], | |||
|       patientList: [], | |||
|       selectedRowKeys: [], | |||
|       columns: [ | |||
|         { | |||
|           title: '病人id', | |||
|           dataIndex: 'id', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '姓名', | |||
|           dataIndex: 'name', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '性别', | |||
|           dataIndex: 'sex', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '年龄', | |||
|           dataIndex: 'age', | |||
|           width: 120 | |||
|         }, | |||
|         { | |||
|           title: '标签', | |||
|           dataIndex: 'lebal', | |||
|           scopedSlots: { customRender: 'lebal' } | |||
|         }, | |||
|         { | |||
|           title: '备注', | |||
|           dataIndex: 'remark', | |||
|           width: 150, | |||
|           scopedSlots: { customRender: 'note' } | |||
|         }, | |||
|         { | |||
|           title: '操作', | |||
|           dataIndex: 'operate', | |||
|           width: 150, | |||
|           scopedSlots: { customRender: 'operate' } | |||
|         } | |||
|       ] | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     hasSelected() { | |||
|       return this.selectedRowKeys.length > 0 | |||
|     } | |||
|   }, | |||
|   mounted() { | |||
|     this.userName = window.localStorage.getItem('userName') | |||
|     // this.queryDeviceType() | |||
|     this.queryPatientList() | |||
|   }, | |||
|   methods: { | |||
|     moment, | |||
|     // 重置 | |||
|     reset() { | |||
|       this.patientId = '' | |||
|       this.patientName = '' | |||
|       this.deviceId = '' | |||
|       this.tagName = '' | |||
|       this.remark = '' | |||
|       this.medication = '' | |||
|       this.startDate = null | |||
|       this.endDate = null | |||
|     }, | |||
|     handleClickId() { | |||
|       this.patientIdFlag = true | |||
|     }, | |||
|     handleClickName() { | |||
|       this.nameFlag = true | |||
|     }, | |||
|     handleClickDevice() { | |||
|       this.deviceFlag = true | |||
|     }, | |||
|     handleClickBrand() { | |||
|       this.brandFlag = true | |||
|     }, | |||
|     handleClickTag() { | |||
|       this.tagFlag = true | |||
|     }, | |||
|     handleClickRemark() { | |||
|       this.remarkFlag = true | |||
|     }, | |||
|     handleClickMedication() { | |||
|       this.medicationFlag = true | |||
|     }, | |||
|     handleClickDate() { | |||
|       this.dateFlag = true | |||
|     }, | |||
|     // 退出页面 | |||
|     handleOut() { | |||
|       this.$router.push('/login') | |||
|     }, | |||
|     selectBrand(deviceId) { | |||
|       this.deviceId = deviceId | |||
|     }, | |||
|     selectDate(val) { | |||
|       if (val.length) { | |||
|         this.startDate = val[0].format('YYYY-MM-DD') | |||
|         this.endDate = val[1].format('YYYY-MM-DD') | |||
|       } | |||
|     }, | |||
|     // 获取设备类型 | |||
|     async queryDeviceType() { | |||
|       const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList') | |||
|       if (res.code === 0) { | |||
|         this.deviceType = res.data || [] | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 选择设备 | |||
|     async selectDeviceType(deviceType) { | |||
|       const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList', { params: { | |||
|         deviceType: deviceType | |||
|       } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.brandList = res.data || [] | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     onSelectChange(selectedRowKeys) { | |||
|       this.selectedRowKeys = selectedRowKeys | |||
|     }, | |||
|     // 取消选择 | |||
|     cancelSelected() { | |||
|       this.selectedRowKeys = [] | |||
|     }, | |||
|     // 导出数据 | |||
|     exportData() { | |||
|       const token = window.localStorage.getItem('token') | |||
|       const url = `${api.interfaceConfig.downLoad}?patientId=${this.patientId}&token=${token}` | |||
|       window.location.href = url | |||
|     }, | |||
|     // 点击进入患者详情 | |||
|     handleClickRow(record, index) { | |||
|       return { | |||
|         on: { | |||
|           click: () => { | |||
|             console.log(record) | |||
|             // window.localStorage.setItem('patientId', '88163664') | |||
|             window.localStorage.setItem('patientId', '2553716') | |||
|             // window.localStorage.setItem('patientId', record.id) | |||
|             window.localStorage.setItem('name', record.name) | |||
|             window.localStorage.setItem('age', record.age) | |||
|             window.localStorage.setItem('sex', record.sex) | |||
|             this.$router.push({ name: 'patientDetail' }) | |||
|           } | |||
|         } | |||
|       } | |||
|     }, | |||
|     // 查看患者信息 | |||
|     handleInfo() { | |||
|       this.infoFlag = true | |||
|       this.childInfo.patientId = this.patientId | |||
|       this.$nextTick(() => { | |||
|         // this.$refs.infoComponent.openModal() | |||
|       }) | |||
|     }, | |||
|     // 获取患者列表 | |||
|     async queryPatientList() { | |||
|       const params = { | |||
|         page: this.page, | |||
|         limit: this.limit, | |||
|         patientId: this.patientId, | |||
|         patientName: this.patientName, | |||
|         tagName: this.tagName, | |||
|         deviceId: this.deviceId, | |||
|         medication: this.medication, | |||
|         startDate: this.startDate, | |||
|         endDate: this.endDate, | |||
|         remark: this.remark | |||
|       } | |||
|       Object.keys(params).map((item) => { | |||
|         if (!params[item]) { | |||
|           delete params[item] | |||
|         } | |||
|         return true | |||
|       }) | |||
|       const { data: res } = await this.$http.get('/patient/pac30/page', { params: params }) | |||
|       if (res.code === 0) { | |||
|         this.patientList = res.data ? res.data.list : [] | |||
|         this.total = res.data ? res.data.total : 0 | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 切换页面条数 | |||
|     onShowSizeChange(current, pageSize) { | |||
|       this.limit = pageSize | |||
|       this.queryPatientList() | |||
|     }, | |||
|     // 分页 | |||
|     selectPagination(pageNumber) { | |||
|       this.page = pageNumber | |||
|       this.queryPatientList() | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| </script> | |||
| <style lang="scss" scoped> | |||
|   .containerBox{ | |||
|     width: 100%; | |||
|     height: 100%; | |||
|     background: #141414; | |||
|     .patientBox { | |||
|       width: 100%; | |||
|       height: 100%; | |||
|       background-color: #141414; | |||
|       padding: 16px; | |||
|     } | |||
| 
 | |||
|     .header{ | |||
|       width: 100%; | |||
|       height: 48px; | |||
|       line-height: 48px; | |||
|       padding: 0; | |||
|       background-color: #0B182E; | |||
| 
 | |||
|       .logo{ | |||
|         height: 48px; | |||
|         position: absolute; | |||
|         left: 0; | |||
|         top: 0; | |||
|       } | |||
|     } | |||
|     .userName{ | |||
|       color: #FFFFFF; | |||
|       font-size: 16px; | |||
|     } | |||
|     .logOut{ | |||
|       float: right; | |||
|       padding-right: 10px; | |||
|     } | |||
|     .searchBox{ | |||
|       width: 100%; | |||
|       display: flex; | |||
|       justify-content: space-around; | |||
|     } | |||
|     .cancelSel{ | |||
|       color: #4797FF; | |||
|       font-size: 14px; | |||
|       font-family: PingFang SC; | |||
|       margin-left: 8px; | |||
|       cursor: pointer; | |||
|     } | |||
|     .exportBtn{ | |||
|       width: 100%; | |||
|       height: 54px; | |||
|       line-height: 54px; | |||
|       padding: 0 6px 0 32px; | |||
|       background-color: rgba(71, 151, 255, 0.1); | |||
|       border: 1px solid rgba(71, 151, 255, 0.3); | |||
|       margin: 16px 0 16px 0; | |||
|       display: flex; | |||
|       justify-content: space-between; | |||
| 
 | |||
|       .export_l{ | |||
|         font-size: 14px; | |||
|         font-family: PingFang SC; | |||
|         color: #FFFFFF; | |||
|         letter-spacing: 2px; | |||
|       } | |||
|       .export_r{ | |||
|         font-size: 14px; | |||
|         font-family: PingFang SC; | |||
|         color: #4797FF; | |||
|         letter-spacing: 1px; | |||
|         cursor: pointer; | |||
|       } | |||
|     } | |||
|     .pagination{ | |||
|       float: right; | |||
|       margin-top: 16px; | |||
| 
 | |||
|     } | |||
|     .lebalBox{ | |||
|       display: inline-block; | |||
|       height: 22px; | |||
|       padding: 0 8px; | |||
|       margin-right: 5px; | |||
|       color: #52C41A; | |||
|       letter-spacing: 1px; | |||
|       background-color: #162312; | |||
|       border: 1px dotted #274916; | |||
|       box-sizing: content-box; | |||
|     } | |||
|     .noteBox{ | |||
|       letter-spacing: 1px; | |||
|     } | |||
|     .detail{ | |||
|       font-size: 14px; | |||
|       font-family: PingFang SC; | |||
|       color: #4797FF; | |||
|       letter-spacing: 1px; | |||
|       cursor: pointer; | |||
|     } | |||
|     .mr20{ | |||
|       margin-right: 40px; | |||
|     } | |||
| 
 | |||
|   } | |||
| </style> | |||
| <style lang="scss"> | |||
| .containerBox{ | |||
|   .el-dropdown{ | |||
|     color: white; | |||
|   } | |||
|   .el-pager{ | |||
|     li { | |||
|       background-color: transparent; | |||
|     } | |||
|   } | |||
|   .btn-next,.btn-prev,.el-pagination button:disabled{ | |||
|     background-color: transparent; | |||
|   } | |||
|   .el-input__inner{ | |||
|     color: white; | |||
|     background-color: transparent; | |||
|     border: 1px solid #000000; | |||
|   } | |||
|   .el-table__empty-block{ | |||
|     background-color: #0c1016; | |||
|     .el-table__empty-text{ | |||
|       color: white; | |||
|     } | |||
|   } | |||
| } | |||
| 
 | |||
| .ant-form-item{ | |||
|   margin: 16px 0; | |||
| } | |||
| .ant-form-item-label>label{ | |||
|   color: #FFFFFF !important; | |||
| } | |||
| .ant-table-placeholder{ | |||
|   border-top: none; | |||
|   border-bottom: 1px solid #0C1016; | |||
|   background-color: transparent; | |||
| } | |||
| .ant-empty-normal{ | |||
|   color: #FFFFFF; | |||
| } | |||
| .ant-table-thead>tr>th{ | |||
|   color: #FFFFFF; | |||
|   background: #434343; | |||
|   border-bottom: none; | |||
| } | |||
| 
 | |||
| .ant-table-tbody>tr>td{ | |||
|   color: #FFFFFF !important; | |||
|   border-bottom: none; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(odd){ | |||
|   background: #1F2329 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(even){ | |||
|   background: #141414 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(odd):hover:not(.ant-table-expanded-row) > td{ | |||
|   background: #1F2329 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(even):hover:not(.ant-table-expanded-row) > td{ | |||
|   background: #141414 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(odd).ant-table-row-selected td{ | |||
|   background: #1F2329 !important; | |||
| } | |||
| .ant-table-tbody>tr:nth-child(even).ant-table-row-selected td{ | |||
|   background: #141414 !important; | |||
| } | |||
| .ant-pagination-next a, .ant-pagination-prev a, .ant-pagination-item-ellipsis{ | |||
|   color: #D9D9D9 !important; | |||
| } | |||
| .ant-pagination-item{ | |||
|   width: 32px !important; | |||
|   height: 32px !important; | |||
|   line-height: 30px !important; | |||
|   background-color: #1F1F1F !important; | |||
| } | |||
| .ant-pagination-item-active a{ | |||
|   color: #40a9ff !important; | |||
| } | |||
| .ant-pagination-item:hover{ | |||
|   border-color: #40a9ff !important; | |||
| } | |||
| .ant-pagination-item a, .ant-pagination.mini .ant-pagination-options-quick-jumper, .ant-select-sm .ant-select-selection--single{ | |||
|   color: #FFFFFF; | |||
|   height: 32px !important; | |||
| } | |||
| .ant-select-sm .ant-select-selection__rendered{ | |||
|   line-height: 32px !important; | |||
| } | |||
| .pagination .ant-select-selection, .ant-pagination-options-quick-jumper input{ | |||
|   color: #FFFFFF ; | |||
|   height: 32px !important; | |||
|   background-color: #1F1F1F !important; | |||
|   border: 1px solid rgba(103, 103, 103, 0.38); | |||
| } | |||
| .ant-select-arrow{ | |||
|   color: #FFFFFF; | |||
| } | |||
| .ant-dropdown-link{ | |||
|   color: #FFFFFF; | |||
|   font-size: 14px; | |||
|   font-family: PingFang SC; | |||
| } | |||
| </style> | |||
					Loading…
					
					
				
		Reference in new issue