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