8 changed files with 811 additions and 1110 deletions
			
			
		| @ -0,0 +1,197 @@ | |||||
|  | <template> | ||||
|  |   <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" 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="comonForm-tab"> | ||||
|  |         <el-radio-group v-model="formType" size="small"> | ||||
|  |           <el-radio-button label="门诊" name="门诊" style="" /> | ||||
|  |           <el-radio-button label="报告" name="报告" style="" /> | ||||
|  |           <el-radio-button label="其他" name="其他" style="" /> | ||||
|  |         </el-radio-group> | ||||
|  |         <div v-if="formType === '门诊'"> | ||||
|  |           <div v-for="(item,index) in outFormNameList" :key="`${item}_${index}`" class="record"> | ||||
|  |             <p>{{ item }}</p> | ||||
|  |             <img v-if="!onlyRead&&isSearch == '2'" :src="require('@/assets/img/add.png')" alt="" @click="addRecord(item)"> | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |         <div v-if="formType === '报告'" class="record"> | ||||
|  |           <p>报告</p> | ||||
|  |           <img v-if="!onlyRead&&isSearch == '2'" :src="require('@/assets/img/add.png')" alt="" @click="addRecord('报告')"> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | export default { | ||||
|  |   name: 'LeftFormList', | ||||
|  |   props: ['onlyRead', 'isSearch', 'patientId', 'formList', 'curIndex'], | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       formType: '门诊', | ||||
|  |       defaultChecked: [], | ||||
|  |       outFormNameList: ['门急诊电子病历', '眼科激光手术患者知情同意书', '眼科激光手术治疗', '眼底血管造影知情同意书'] | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     addRecord(name) { | ||||
|  |       this.$emit('addRecord', name) | ||||
|  |     }, | ||||
|  |     handleForm(index, item) { | ||||
|  |       this.$emit('handleForm', { index, item }) | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | .content-left { | ||||
|  |   width: 185px; | ||||
|  |   height: 100%; | ||||
|  |   margin-right: 14px; | ||||
|  |   .nodata { | ||||
|  |     width: 175px; | ||||
|  |     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; | ||||
|  |     .formBox{ | ||||
|  |       cursor: pointer; | ||||
|  |       padding: 2px 8px; | ||||
|  |       border-radius: 2px; | ||||
|  |       margin-top: 12px; | ||||
|  |     } | ||||
|  |     .active { | ||||
|  |       color: white; | ||||
|  |       background-color: #1C76FD; | ||||
|  |     } | ||||
|  |     .curFont { | ||||
|  |       color: #A6A4A4; | ||||
|  |     } | ||||
|  |     .activeFont { | ||||
|  |       color: #D9D9D9; | ||||
|  |     } | ||||
|  |     .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; | ||||
|  |   } | ||||
|  | } | ||||
|  | </style> | ||||
| @ -1,609 +0,0 @@ | |||||
| <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> |  | ||||
|     </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 |  | ||||
|     }, |  | ||||
|     //   签名 |  | ||||
|     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,178 @@ | |||||
|  | <template> | ||||
|  |   <div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> | ||||
|  |     <div class="btnBox"> | ||||
|  |       <el-button v-print="'#reportForm'" size="small">打印</el-button> | ||||
|  |       <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | ||||
|  |       <el-button type="danger" size="small" @click="formDelete">删除</el-button> | ||||
|  |     </div> | ||||
|  |     <div id="reportForm" style="width: 840px;padding-right: 8px;text-align: left"> | ||||
|  |       <div class="flex" style="width: 240px">患者姓名:<el-input v-model="formData.patientName" style="flex: 1" /></div> | ||||
|  |       <table class="treatAction"> | ||||
|  |         <thead> | ||||
|  |           <tr> | ||||
|  |             <td colspan="2">睑板腺综合治疗睑脂性状分析</td> | ||||
|  |           </tr> | ||||
|  |           <tr> | ||||
|  |             <td>右眼</td> | ||||
|  |             <td>左眼</td> | ||||
|  |           </tr> | ||||
|  |         </thead> | ||||
|  |         <tbody> | ||||
|  |           <tr> | ||||
|  |             <td> | ||||
|  |               <div v-for="(item,index) in formData.form.OD" :key="index"> | ||||
|  |                 <el-checkbox v-model="item.isSelect"> | ||||
|  |                   {{ item.name }} | ||||
|  |                   <el-input v-if="item.isEdit" v-model="item.remark" /> | ||||
|  |                 </el-checkbox> | ||||
|  |               </div> | ||||
|  |             </td> | ||||
|  |             <td><div v-for="(item,index) in formData.form.OS" :key="index"> | ||||
|  |               <el-checkbox v-model="item.isSelect"> | ||||
|  |                 {{ item.name }} | ||||
|  |                 <el-input v-if="item.isEdit" v-model="item.remark" /> | ||||
|  |               </el-checkbox> | ||||
|  |             </div></td> | ||||
|  |           </tr> | ||||
|  |           <tr> | ||||
|  |             <td colspan="2"> | ||||
|  |               <div class="flex"> | ||||
|  |                 备注:<el-input style="flex:1" /> | ||||
|  |               </div> | ||||
|  |             </td> | ||||
|  |           </tr> | ||||
|  |           <tr> | ||||
|  |             <td colspan="2"> | ||||
|  |               <div class="flex"> | ||||
|  |                 操作者:<el-input style="flex:1" /> | ||||
|  |               </div> | ||||
|  |             </td> | ||||
|  |           </tr> | ||||
|  |         </tbody> | ||||
|  |       </table> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | export default { | ||||
|  |   name: 'ReportForm', | ||||
|  |   props: { | ||||
|  |     jsonText: { | ||||
|  |       type: String, | ||||
|  |       default: '' | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       origin: {}, | ||||
|  |       formData: { | ||||
|  |         patientName: '', | ||||
|  |         remark: '', | ||||
|  |         operator: '', | ||||
|  |         form: { | ||||
|  |           checkList: [], | ||||
|  |           OD: [ | ||||
|  |             { | ||||
|  |               name: '分泌物清亮', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '分泌物轻浑,云雾状', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '分泌物浑浊,粘稠可见颗粒物质', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '分泌物呈牙膏状或压迫出现气泡', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '其他:', | ||||
|  |               isSelect: false, | ||||
|  |               isEdit: true, | ||||
|  |               remark: '' | ||||
|  |             } | ||||
|  |           ], | ||||
|  |           OS: [ | ||||
|  |             { | ||||
|  |               name: '分泌物清亮', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '分泌物轻浑,云雾状', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '分泌物浑浊,粘稠可见颗粒物质', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '分泌物呈牙膏状或压迫出现气泡', | ||||
|  |               isSelect: false | ||||
|  |             }, { | ||||
|  |               name: '其他:', | ||||
|  |               isSelect: false, | ||||
|  |               isEdit: true, | ||||
|  |               remark: '' | ||||
|  |             } | ||||
|  |           ] | ||||
|  |         } | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   watch: { | ||||
|  |     jsonText(val) { | ||||
|  |       if (val) { | ||||
|  |         this.formData = JSON.parse(val) | ||||
|  |       } else { | ||||
|  |         this.formData = this.origin | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   created() { | ||||
|  |     this.origin = JSON.parse(JSON.stringify(this.formData)) | ||||
|  |     if (this.jsonText) { | ||||
|  |       this.formData = JSON.parse(this.jsonText) | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     handleSaveTable() { | ||||
|  |       this.$emit('handleSaveTable', this.formData) | ||||
|  |     }, | ||||
|  |     formDelete() { | ||||
|  |       this.$emit('formDelete') | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | .flex{ | ||||
|  |   display: flex; | ||||
|  | } | ||||
|  | .treatAction{ | ||||
|  |   width: 100%; | ||||
|  |   margin-top: 10px; | ||||
|  |   thead{ | ||||
|  |     text-align: center; | ||||
|  |   } | ||||
|  |   tr td,tr th{ | ||||
|  |     border: 1px solid #ccc; | ||||
|  |     padding: 5px; | ||||
|  |   } | ||||
|  |   td{ | ||||
|  |     width: 25%; | ||||
|  |   } | ||||
|  | } | ||||
|  | ::v-deep .el-input__inner { | ||||
|  |   border: none; | ||||
|  |   height: 26px !important; | ||||
|  |   line-height: 26px !important; | ||||
|  |   text-align: center; | ||||
|  | } | ||||
|  | 
 | ||||
|  | ::v-deep .el-input__inner { | ||||
|  |   border-bottom: 1px solid #ccc; | ||||
|  |   border-radius: 0; | ||||
|  |   padding: 0; | ||||
|  | } | ||||
|  | ::v-deep .el-input__prefix { | ||||
|  |   display: none; | ||||
|  | } | ||||
|  | </style> | ||||
					Loading…
					
					
				
		Reference in new issue