| | |
| | | |
| | | <!-- 点击右边弹出层 --> |
| | | <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> |
| | | <div style="font-size: 14px"> |
| | | <table style=" |
| | | <div v-loading="isLoading" element-loading-text="正在加载数据,请稍候..." element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative"> |
| | | <div style="font-size: 14px"> |
| | | <table style=" |
| | | width: 96%; |
| | | height: 70px; |
| | | margin: 10px 10px; |
| | |
| | | border-collapse: collapse; |
| | | font-size: 16px; |
| | | " cellspacing="4"> |
| | | <caption style="background-color: #f8f8f9; font-size: 18px"> |
| | | 填写{{ |
| | | tableAll.cusName |
| | | }}的体检资料 |
| | | </caption> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 姓名: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.cusName }} |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.cusSex == '0'">男</span> |
| | | <span v-if="scope.row.cusSex == '1'">女</span> |
| | | <span v-if="scope.row.cusSex == '2'">未知</span> |
| | | <span v-if="scope.row.cusSex == '9'">未说明性别</span> |
| | | </template> |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 性别: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ |
| | | tableAll.cusSex == 0 |
| | | ? "男" |
| | | : tableAll.cusSex == 1 |
| | | ? "女" |
| | | : "未知" |
| | | }} |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 体检单号: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjNumber }} |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 体检时间: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ date }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <div style="display: flex"> |
| | | <div style="margin: 10px 10px" v-if="hasdeptList.length >= 1"> |
| | | <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button> |
| | | <caption style="background-color: #f8f8f9; font-size: 18px"> |
| | | 填写{{ |
| | | tableAll.cusName |
| | | }}的体检资料 |
| | | </caption> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 姓名: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.cusName }} |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.cusSex == '0'">男</span> |
| | | <span v-if="scope.row.cusSex == '1'">女</span> |
| | | <span v-if="scope.row.cusSex == '2'">未知</span> |
| | | <span v-if="scope.row.cusSex == '9'">未说明性别</span> |
| | | </template> |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 性别: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ |
| | | tableAll.cusSex == 0 |
| | | ? "男" |
| | | : tableAll.cusSex == 1 |
| | | ? "女" |
| | | : "未知" |
| | | }} |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 体检单号: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjNumber }} |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | 体检时间: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ date }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button> |
| | | <div style="display: flex"> |
| | | <div style="margin: 10px 10px" v-if="hasdeptList.length >= 1"> |
| | | <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="jianqian">检前问诊</el-button> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="result">检查检验结果</el-button> |
| | | </div> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="jianqian">检前问诊</el-button> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="result">检查检验结果</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-row> |
| | | <el-col v-show="baogaoqian"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="150"> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <!-- <template slot-scope="scope"> |
| | | <el-input type="textarea" autosize size="mini" v-model="scope.row.proResult" autocomplete="off" |
| | | placeholder="请输入检测结果" @focus="handleFocus(scope.row)" @blur="handleInputConfirm(scope.row)" |
| | | @input="vale($event, scope.row)" :disabled="scope.row.project.proName === 'BMI'" |
| | | ></el-input> --> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event,index,$index)" @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" @input="vale($event, row)" |
| | | :disabled="row.project.proName === 'BMI'" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="70"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位" width="55"> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proScope" label="参考范围" width="70"> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="结果结论" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" |
| | | placeholder="请输入结果结论" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-row> |
| | | <el-col v-show="baogaoqian"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" |
| | | :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="150"> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" |
| | | :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event, index, $index)" @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" @input="vale($event, row)" |
| | | :disabled="row.project.proName === 'BMI'"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" |
| | | :disabled="scope.row.project.sfcyyc === 1 || scope.row.project.proName === 'BMI'"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="70"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位" width="55"> |
| | | </el-table-column> |
| | | <el-table-column label="参考范围" width="70" align="center"> |
| | | <template slot-scope="scope"> |
| | | |
| | | <el-table-column prop="isReturn" label="复诊" width="60px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | {{ scope.row.project.proScope }} |
| | | |
| | | <el-table-column prop="isPositive" label="重大阳性" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="proAdvice" label="结果建议"> |
| | | <template slot-scope="scope"> |
| | | <el-popover placement="top" trigger="hover" width="400"> |
| | | <div> |
| | | {{ scope.row.proAdvice }} |
| | | </div> |
| | | <div slot="reference" class="jianyi"> |
| | | <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" |
| | | :disabled="true"></el-input> |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="结果结论" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" |
| | | placeholder="请输入结果结论" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a"> |
| | | <table style=" |
| | | <el-table-column prop="isReturn" label="复诊" width="60px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="isPositive" label="重大阳性" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="proAdvice" label="结果建议"> |
| | | <template slot-scope="scope"> |
| | | <el-popover placement="top" trigger="hover" width="400"> |
| | | <div> |
| | | {{ scope.row.proAdvice }} |
| | | </div> |
| | | <div slot="reference" class="jianyi"> |
| | | <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" |
| | | :disabled="true"></el-input> |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a"> |
| | | <table style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <tr style=" |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 病种选择: |
| | | </td> |
| | | <td @click="bzxz" style=" |
| | | 病种选择: |
| | | </td> |
| | | <td @click="bzxz" style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> |
| | | </el-input> |
| | | </td> |
| | | <td style=" |
| | | <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> |
| | | </el-input> |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 主检医师: |
| | | </td> |
| | | <td style=" |
| | | 主检医师: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" |
| | | :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style=" |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" |
| | | :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 建议: |
| | | </td> |
| | | <td style=" |
| | | 建议: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" |
| | | style="margin-top: 10px; height: 37px">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | style="margin-top: 10px; height: 37px">生成建议</el-button> |
| | | </div> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" |
| | | style="margin-top: 10px; height: 37px">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | style="margin-top: 10px; height: 37px">生成建议</el-button> |
| | | </div> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers1"> |
| | | <el-button type="primary" @click="determine">提 交</el-button> |
| | | <div slot="footer" class="dialog-footers1"> |
| | | <el-button :disabled="minedis" type="primary" @click="determine">提 交</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | </el-col> |
| | | <el-col :span="18" v-show="baogaohou"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="100"> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <!-- <template slot-scope="scope"> |
| | | <el-input type="textarea" autosize size="mini" v-model="scope.row.proResult" autocomplete="off" |
| | | placeholder="请输入检测结果" @focus="handleFocus(scope.row)" @blur="handleInputConfirm(scope.row)" |
| | | @input="vale"></el-input> --> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event,index,$index)" @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" @input="vale($event, row)" |
| | | :disabled="row.project.proName === 'BMI'" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="70"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位" width="55"> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proScope" label="参考范围" width="80"> |
| | | </el-table-column> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | </el-col> |
| | | <el-col :span="18" v-show="baogaohou"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" |
| | | :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="100"> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" |
| | | :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event, index, $index)" @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" @input="vale($event, row)" |
| | | :disabled="row.project.proName === 'BMI'"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="70"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位" width="55"> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proScope" label="参考范围" width="80"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isReturn" label="复诊" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc" |
| | | :disabled="scope.row.project.sfcyyc === 1"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isReturn" label="复诊" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="isPositive" label="重大阳性" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="proAdvice" label="结果建议"> |
| | | <template slot-scope="scope"> |
| | | <el-popover placement="top" trigger="hover" width="400"> |
| | | <div> |
| | | {{ scope.row.proAdvice }} |
| | | </div> |
| | | <div slot="reference" class="jianyi"> |
| | | <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" |
| | | :disabled="true"></el-input> |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table-column prop="isPositive" label="重大阳性" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="proAdvice" label="结果建议"> |
| | | <template slot-scope="scope"> |
| | | <el-popover placement="top" trigger="hover" width="400"> |
| | | <div> |
| | | {{ scope.row.proAdvice }} |
| | | </div> |
| | | <div slot="reference" class="jianyi"> |
| | | <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" |
| | | :disabled="true"></el-input> |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px"> |
| | | <table style=" |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px"> |
| | | <table style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <tr style=" |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 病种选择: |
| | | </td> |
| | | <td style=" |
| | | 病种选择: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> |
| | | </el-input> |
| | | <!-- <el-select |
| | | <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> |
| | | </el-input> |
| | | <!-- <el-select |
| | | v-model="value" |
| | | multiple |
| | | placeholder="请选择" |
| | |
| | | > |
| | | </el-option> |
| | | </el-select> --> |
| | | </td> |
| | | <td style=" |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 主检医师: |
| | | </td> |
| | | <td style=" |
| | | 主检医师: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" |
| | | :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style=" |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" |
| | | :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" |
| | | style="margin-top: 10px; height: 37px">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | style="margin-top: 10px; height: 37px">生成建议</el-button> |
| | | </div> |
| | | <td style=" |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" |
| | | style="margin-top: 10px; height: 37px">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | style="margin-top: 10px; height: 37px">生成建议</el-button> |
| | | </div> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 建议: |
| | | </td> |
| | | <td style=" |
| | | 建议: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers"> |
| | | <el-button type="primary" @click="determine">提 交</el-button> |
| | | <div slot="footer" class="dialog-footers"> |
| | | <el-button :disabled="minedis" type="primary" @click="determine">提 交</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | </el-col> |
| | | <el-col :span="6" style="margin-top: 15px"> |
| | | <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata"></Historicalreport> |
| | | </el-col> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | </el-col> |
| | | <el-col :span="6" style="margin-top: 15px"> |
| | | <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata"></Historicalreport> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-drawer> |
| | | <Public ref="aaa" :row="row" @add="handleChanges" /> |
| | | <jianceResult ref="bbb" @add="handleChangesZt" /> |
| | |
| | | dataText: [], |
| | | propform: {}, |
| | | cusobj: {}, |
| | | minedis: false, |
| | | baogaoqian: true, |
| | | baogaohou: false, |
| | | flags: false, |
| | |
| | | proParentList: [], |
| | | tjNumber: "", |
| | | DeptadviceAll: [], |
| | | isLoading: false, |
| | | project: {}, |
| | | summaryList: [], |
| | | summaryAll: [], |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | getBMIStatus(row) { |
| | | const bmi = parseFloat(row.proResult); |
| | | if (isNaN(bmi) || !row.proResult) return ''; // 处理无效或空的BMI值 |
| | | if (bmi > 28) { |
| | | row.exceptionDesc = true; // 自动勾选异常复选框 |
| | | row.conclusion = '偏高'; // 设置结论 |
| | | return '偏高'; |
| | | } |
| | | if (bmi < 12) { |
| | | row.exceptionDesc = true; // 自动勾选异常复选框 |
| | | row.conclusion = '偏低'; // 设置结论 |
| | | return '偏低'; |
| | | } |
| | | row.exceptionDesc = false; // 正常范围内取消勾选 |
| | | row.conclusion = '正常'; // 设置结论 |
| | | return '正常'; |
| | | }, |
| | | // 计算 BMI |
| | | calculateBMI(height, weight) { |
| | | if (height && weight) { |
| | | const heightInMeters = parseFloat(height) / 100; // cm 转换为 m |
| | | const heightInMeters = parseFloat(height) / 100; // 厘米转换为米 |
| | | const weightInKg = parseFloat(weight); |
| | | const bmi = weightInKg / (heightInMeters * heightInMeters); |
| | | return bmi.toFixed(1); // 保留一位小数 |
| | |
| | | |
| | | // 实时更新 BMI |
| | | vale(value, row) { |
| | | this.minedis = false |
| | | if (row.project.proName === '身高' || row.project.proName === '体重') { |
| | | const heightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '身高' |
| | |
| | | const height = row.project.proName === '身高' ? value : heightRow.proResult; |
| | | const weight = row.project.proName === '体重' ? value : weightRow.proResult; |
| | | const bmi = this.calculateBMI(height, weight); |
| | | bmiRow.proResult = bmi || ''; // 实时更新 BMI |
| | | bmiRow.proResult = bmi || ''; // 实时更新BMI值 |
| | | this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 |
| | | } |
| | | } |
| | | |
| | | // 现有的规则检查逻辑保持不变 |
| | | this.focusrow = row; |
| | | this.proResult = row; |
| | | const pattern3 = new RegExp("[0-9]+"); |
| | | if (row.proResult) { } |
| | | if (pattern3.test(row.proResult)) { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | tjNum: this.tableAll.tjNumber, |
| | | keyNum: this.proResult.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = res.data; |
| | | if (row.project.sfcyyc == 1) { |
| | | return; |
| | | } else { |
| | | if (res.data.length > 0) { |
| | | const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; |
| | | this.focusrow.exceptionDesc = !conditions.some((condition) => |
| | | this.autorule[0].bz.includes(condition) |
| | | ); |
| | | } else { |
| | | this.focusrow.exceptionDesc = false; |
| | | } |
| | | } |
| | | if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { |
| | | this.focusrow.proAdvice = this.autorule[0].nr; |
| | | } |
| | | this.autorule.forEach((item) => { |
| | | this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 输入确认时更新 BMI |
| | | handleInputConfirm(row) { |
| | |
| | | const weight = weightRow.proResult; |
| | | const bmi = this.calculateBMI(height, weight); |
| | | bmiRow.proResult = bmi || ''; |
| | | this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 |
| | | } |
| | | } |
| | | this.rows.push(row); |
| | | } |
| | | // 现有的规则检查逻辑保持不变 |
| | | this.focusrow = row; |
| | | this.proResult = row; |
| | | const pattern3 = new RegExp("[0-9]+"); |
| | | if (pattern3.test(row.proResult)) { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | tjNum: this.tableAll.tjNumber, |
| | | keyNum: this.proResult.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = res.data; |
| | | if (row.project.sfcyyc == 1) { |
| | | return; |
| | | } else { |
| | | if (res.data.length > 0) { |
| | | const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; |
| | | this.focusrow.exceptionDesc = !conditions.some((condition) => |
| | | this.autorule[0].bz.includes(condition) |
| | | ); |
| | | } else { |
| | | this.focusrow.exceptionDesc = false; |
| | | } |
| | | } |
| | | if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { |
| | | this.focusrow.proAdvice = this.autorule[0].nr; |
| | | } |
| | | this.autorule.forEach((item) => { |
| | | this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | this.rows.push(row); |
| | | }, |
| | | |
| | | // 初始化数据时计算 BMI |
| | |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | |
| | | if (item.isReturn == 1) item.isReturn = true; |
| | | if (item.isReturn == 0) item.isReturn = false; |
| | | if (item.exceptionDesc == "1") item.exceptionDesc = true; |
| | | if (item.exceptionDesc == "0") item.exceptionDesc = false; |
| | | if (item.exceptionDesc == "0" || item.project.sfcyyc == 1) item.exceptionDesc = false; |
| | | }); |
| | | if (this.proParentList.xiaoJie && this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 以下为其他方法,未做修改,仅保留必要部分,其余省略以保持简洁 |
| | | handleFocus(row) { |
| | | this.autorule = []; |
| | | if (!row.resultType || row.resultType == 2 ) { |
| | | if (!row.resultType || row.resultType == 2) { |
| | | return; |
| | | } else { |
| | | this.curindex = row; |
| | | selectZT({ |
| | | proId: row.proId, |
| | | }).then((res) => { |
| | | if (res.data.length > 0) { |
| | | this.$refs.bbb.title = "选择检测结果"; |
| | | // this.$refs.bbb.proId = row.proId; |
| | | this.$refs.bbb.open = true; |
| | | this.$refs.bbb.getList(this.curindex); |
| | | } else { |
| | | this.$refs.bbb.open = false; |
| | | } |
| | | }); |
| | | |
| | | selectZT({ |
| | | proId: row.proId, |
| | | }).then((res) => { |
| | | if (res.data.length > 0) { |
| | | this.$refs.bbb.title = "选择检测结果"; |
| | | // this.$refs.bbb.proId = row.proId; |
| | | this.$refs.bbb.open = true; |
| | | this.$refs.bbb.getList(this.curindex); |
| | | } else { |
| | | this.$refs.bbb.open = false; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }, |
| | | |
| | |
| | | this.handleInputConfirm(this.curindex, params); |
| | | }, |
| | | |
| | | handleChanges(param1, param2) { |
| | | handleChanges(param1, param2) { |
| | | this.row.conclusion = param1; |
| | | this.row.rulesList = param2; |
| | | }, |
| | |
| | | }, |
| | | |
| | | handleClose() { |
| | | this.$tab.refreshPage(); |
| | | this.drawer = false; // 只关闭抽屉,不刷新页面或重置数据 |
| | | }, |
| | | |
| | | handleClose1() { |
| | |
| | | }, |
| | | |
| | | changDesc(item) { |
| | | |
| | | |
| | | item.conclusion = item.exceptionDesc ? "异常" : "正常"; |
| | | }, |
| | | |
| | |
| | | |
| | | |
| | | |
| | | keyInputConfirm(event,index, currentRowIndex) { |
| | | keyInputConfirm(event, index, currentRowIndex) { |
| | | // 阻止默认回车行为,比如提交表单 |
| | | event.preventDefault(); |
| | | event.stopPropagation() |
| | | event.stopPropagation() |
| | | const nextRowIndex = currentRowIndex + 1; // 计算下一行索引 |
| | | // 如果下一行存在,则聚焦该行的输入框 |
| | | if (nextRowIndex < this.proParentList.sons.length) { |
| | |
| | | }); |
| | | }, |
| | | |
| | | hb() {}, |
| | | hb() { }, |
| | | |
| | | propoChange() { |
| | | this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 }; |
| | |
| | | this.getDept(row.tjNumber); |
| | | this.loading = true; |
| | | this.drawer = true; |
| | | this.isLoading = true; |
| | | this.Parent = [] |
| | | this.tableAll = [] |
| | | this.proParentList = {} |
| | | this.$nextTick(() => this.initInputDOM()); |
| | | this.tableAll = row; |
| | | this.tjNumber = row.tjNumber; |
| | |
| | | getParentList(this.tjNumber).then((response) => { |
| | | if (response.data) { |
| | | this.loading = false; |
| | | this.isLoading = false; |
| | | this.Parent = response.data; |
| | | this.Parent.forEach((item) => { |
| | | if (item.type === 1) item.proName += " ✔"; |
| | |
| | | this.Parent = []; |
| | | this.$modal.msgError("该科室下无项目!"); |
| | | } |
| | | }); |
| | | }).catch((error) => { |
| | | this.$modal.msgError("数据加载失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | this.isLoading = false; // 确保最终状态重置 |
| | | }); |
| | | this.getbzlist(); |
| | | }, |
| | | |
| | |
| | | if (item1 === item) item = item1; |
| | | }); |
| | | } |
| | | this.tjOrderDetail.push({ |
| | | proAdvice: item.proAdvice, |
| | | proName: item.project.proName, |
| | | proId: item.project.proId, |
| | | orderDetailId: item.orderDetailId, |
| | | flowingWaterId: item.flowingWaterId, |
| | | proResult: item.proResult, |
| | | tjStatus: 1, |
| | | isReturn: item.isReturn === true ? 1 : 0, |
| | | exceptionDesc: item.exceptionDesc === true ? 1 : 0, |
| | | conclusion: item.conclusion, |
| | | rulesList: item.rulesList, |
| | | }); |
| | | // this.tjOrderDetail.push({ |
| | | // proAdvice: item.proAdvice, |
| | | // proName: item.project.proName, |
| | | // proId: item.project.proId, |
| | | // orderDetailId: item.orderDetailId, |
| | | // flowingWaterId: item.flowingWaterId, |
| | | // proResult: item.proResult, |
| | | // tjStatus: 1, |
| | | // isReturn: item.isReturn === true ? 1 : 0, |
| | | // exceptionDesc: item.exceptionDesc === true ? 1 : 0, |
| | | // conclusion: item.conclusion, |
| | | // rulesList: item.rulesList, |
| | | // }); |
| | | }); |
| | | |
| | | var data = [{ |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, |
| | | proName: this.proName, |
| | | summaryList: this.value, |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }]; |
| | | getaddRemark(data).then((res) => this.$modal.msgSuccess("提交成功")); |
| | | this.proName = this.Parentcheck.proName; |
| | | this.nums = tab.name; |
| | | this.proId = tab.name; |
| | | this.getParentIdsss(); |
| | | this.getbzlist(); |
| | | for (var i = 0; i < this.proParentList.sons.length; i++) { |
| | | //判断新数组是否有这个元素值,没有的话,就把arr[i]给push到新数组newArr中 |
| | | if (this.proParentList.sons[i].proResult == "" || this.proParentList.sons[i].proResult == null) { |
| | | this.$modal.msgError("请填写资料"); |
| | | this.minedis = true |
| | | return |
| | | } else if (this.proParentList.sons[i].proResult.includes(" ")) { |
| | | this.$modal.msgError("请查看是否有空格"); |
| | | this.minedis = true |
| | | return |
| | | } else { |
| | | this.minedis = false |
| | | this.tjOrderDetail.push({ |
| | | proAdvice: this.proParentList.sons[i].proAdvice, |
| | | proName: this.proParentList.sons[i].project.proName, |
| | | proId: this.proParentList.sons[i].project.proId, |
| | | orderDetailId: this.proParentList.sons[i].orderDetailId, |
| | | flowingWaterId: this.proParentList.sons[i].flowingWaterId, |
| | | proResult: this.proParentList.sons[i].proResult, |
| | | tjStatus: 1, |
| | | isReturn: this.proParentList.sons[i].isReturn === true ? 1 : 0, |
| | | exceptionDesc: this.proParentList.sons[i].exceptionDesc === true ? 1 : 0, |
| | | conclusion: this.proParentList.sons[i].conclusion, |
| | | rulesList: this.proParentList.sons[i].rulesList, |
| | | }); |
| | | } |
| | | } |
| | | if (this.minedis == false) { |
| | | var data = [{ |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, |
| | | proName: this.proName, |
| | | summaryList: this.value, |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }]; |
| | | getaddRemark(data).then((res) => this.$modal.msgSuccess("提交成功")); |
| | | this.proName = this.Parentcheck.proName; |
| | | this.nums = tab.name; |
| | | this.proId = tab.name; |
| | | this.getParentIdsss(); |
| | | this.getbzlist(); |
| | | } |
| | | }) |
| | | |
| | | .catch((action) => { |
| | | if (action === "cancel") this.$message({ type: "warning", message: "放弃保存并离开" }); |
| | | this.proName = this.Parentcheck.proName; |
| | |
| | | }, |
| | | |
| | | determine() { |
| | | this.tjOrderDetail = []; |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.userList.forEach((item) => { |
| | | if (this.doctorName == item.nickName) this.doctorName = item.userId; |
| | |
| | | if (item1 === item) item = item1; |
| | | }); |
| | | } |
| | | this.tjOrderDetail.push({ |
| | | proAdvice: item.proAdvice, |
| | | proName: item.project.proName, |
| | | proId: item.project.proId, |
| | | orderDetailId: item.orderDetailId, |
| | | flowingWaterId: item.flowingWaterId, |
| | | proResult: item.proResult, |
| | | tjStatus: 1, |
| | | isReturn: item.isReturn === true ? 1 : 0, |
| | | exceptionDesc: item.exceptionDesc === true ? 1 : 0, |
| | | conclusion: item.conclusion, |
| | | rulesList: item.rulesList, |
| | | }); |
| | | }); |
| | | |
| | | let data = [{ |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, |
| | | proName: this.proName, |
| | | summaryList: this.vaids1, |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }]; |
| | | getaddRemark(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.drawer = false; |
| | | }); |
| | | this.handleClose(); |
| | | }) |
| | | for (var i = 0; i < this.proParentList.sons.length; i++) { |
| | | //判断新数组是否有这个元素值,没有的话,就把arr[i]给push到新数组newArr中 |
| | | if (this.proParentList.sons[i].proResult == "" || this.proParentList.sons[i].proResult == null) { |
| | | this.$modal.msgError("请填写资料"); |
| | | this.minedis = true |
| | | return |
| | | } else if (this.proParentList.sons[i].proResult.includes(" ")) { |
| | | this.$modal.msgError("请查看是否有空格"); |
| | | this.minedis = true |
| | | return |
| | | } else { |
| | | this.minedis = false |
| | | this.tjOrderDetail.push({ |
| | | proAdvice: this.proParentList.sons[i].proAdvice, |
| | | proName: this.proParentList.sons[i].project.proName, |
| | | proId: this.proParentList.sons[i].project.proId, |
| | | orderDetailId: this.proParentList.sons[i].orderDetailId, |
| | | flowingWaterId: this.proParentList.sons[i].flowingWaterId, |
| | | proResult: this.proParentList.sons[i].proResult, |
| | | tjStatus: 1, |
| | | isReturn: this.proParentList.sons[i].isReturn === true ? 1 : 0, |
| | | exceptionDesc: this.proParentList.sons[i].exceptionDesc === true ? 1 : 0, |
| | | conclusion: this.proParentList.sons[i].conclusion, |
| | | rulesList: this.proParentList.sons[i].rulesList, |
| | | }); |
| | | } |
| | | } |
| | | |
| | | if (this.minedis == false) { |
| | | let data = [{ |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, |
| | | proName: this.proName, |
| | | summaryList: this.vaids1, |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }]; |
| | | getaddRemark(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.rows = []; // 提交成功后清空 this.rows |
| | | this.drawer = false; |
| | | }); |
| | | this.handleClose(); |
| | | } |
| | | |
| | | }, |
| | | }, |
| | | }; |