From d0594c96b1905f461ebf4dbdcc49a5c6230f1102 Mon Sep 17 00:00:00 2001 From: su1124 <1583764726@qq.com> Date: 星期二, 26 十二月 2023 15:33:00 +0800 Subject: [PATCH] su --- src/views/doctor/check/index.vue | 1396 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 1,168 insertions(+), 228 deletions(-) diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue index 6e5fb1d..0af36fa 100644 --- a/src/views/doctor/check/index.vue +++ b/src/views/doctor/check/index.vue @@ -1,30 +1,72 @@ <template> <div> - <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"> + <el-form + :model="queryParams" + ref="tableList" + :inline="true" + label-width="76px" + style="margin-top: 10px" + > <el-form-item label="濮撳悕" prop="name"> - <el-input v-model="queryParams.name" style="width: 116px" placeholder="璇疯緭鍏ュ鍚�" clearable - @keyup.enter.native="handleQuery"></el-input> + <el-input + v-model="queryParams.name" + style="width: 116px" + placeholder="璇疯緭鍏ュ鍚�" + clearable + @keyup.enter.native="submitForm" + ></el-input> </el-form-item> <el-form-item label="浣撴鍙�" prop="tjNumber"> - <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="璇疯緭鍏ヤ綋妫�鍙�"></el-input> + <el-input + ref="inputName" + v-model="queryParams.tjNumber" + style="width: 240px" + placeholder="璇疯緭鍏ヤ綋妫�鍙�" + @blur="submitForm" + @keyup.enter.native="submitForm" + ></el-input> </el-form-item> <el-form-item> - <el-button size="mini" type="primary" @click="submitForm">鎼滅储</el-button> + <el-button size="mini" type="primary" @click="submitForm" + >鎼滅储</el-button + > <el-button size="mini" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> - - <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px"> - <el-radio-button label="0">鏈</el-radio-button> - <el-radio-button label="1">宸叉</el-radio-button> - </el-radio-group> + <div style="display: flex"> + <el-radio-group + v-model="tjStatus" + @input="radioChange" + style="margin-left: 30px" + > + <el-radio-button label="0">鏈</el-radio-button> + <el-radio-button label="1">宸叉</el-radio-button> + </el-radio-group> + </div> <template> - <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" - border=""> + <el-table + :data="tableList" + v-loading="loading" + ref="table" + height="536px" + style="margin: 20px; width: 98%" + border + :cell-class-name="myclass" + > <!-- <template slot="empty">鏁版嵁姝e湪鍔犺浇涓�</template> --> - <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="180px" /> - <el-table-column label="濮撳悕" align="center" prop="cusName" width="100px" /> + <el-table-column + label="浣撴鍙�" + align="center" + prop="tjNumber" + width="160px" + /> + <el-table-column + label="濮撳悕" + align="center" + prop="cusName" + width="90px" + /> <el-table-column label="鎬у埆" align="center" prop="cusSex" width="60px"> <template slot-scope="scope"> <span v-if="scope.row.cusSex == '0'">鐢�</span> @@ -33,42 +75,328 @@ <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</span> </template> </el-table-column> - <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="cusBrithday" width="120px" /> - <el-table-column label="鐢佃瘽" align="center" prop="cusPhone" width="120px" /> - <!-- <el-table-column - label="鐘舵��" + <el-table-column + label="鍑虹敓鏃ユ湡" align="center" - prop="tjStatus" - :show-overflow-tooltip="true" + prop="cusBrithday" + width="100px" + /> + <el-table-column + label="鐢佃瘽" + align="center" + prop="cusPhone" + width="100px" + /> + <el-table-column + label="浣撴绫诲瀷" + align="center" + prop="tjType" width="80px" + /> + <el-table-column + label="鐧昏鏃堕棿" + align="center" + prop="tjTime" + width="160px" + > + </el-table-column> + <el-table-column + label="浣撴鏃堕棿" + align="center" + prop="tjTime" + width="100px" > <template slot-scope="scope"> - <span>{{ scope.row.tjStatus == "1" ? "宸叉" : "鏈" }}</span> + <span>{{ parseTime(scope.row.tjTime, "{y}-{m}-{d}") }}</span> </template> - </el-table-column> --> - - <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" width="80px" /> - <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="160px" /> - <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" width="120px" /> - <el-table-column label="鏈椤�" prop="notCheckeds" :show-overflow-tooltip="true" /> - <el-table-column label="鎿嶄綔" align="center" width="80px"> + </el-table-column> + <el-table-column + label="鏈椤�" + prop="notCheckeds" + :show-overflow-tooltip="true" + /> + <el-table-column label="鎿嶄綔" align="center" width="130px"> <template slot-scope="scope"> - <el-button type="primary" size="mini" @click="handleClick(scope.row)">璇︽儏</el-button> + <el-button + type="primary" + icon="el-icon-first-aid-kit" + size="mini" + @click="Changeapplyfor(scope.row)" + title="浼氳瘖鐢宠" + v-if="tjStatus == '1'" + ></el-button> + <el-button + type="primary" + icon="el-icon-share" + size="mini" + @click="handleClick(scope.row)" + title="璇︽儏" + ></el-button> </template> </el-table-column> </el-table> <div class="pag"> <div class="pag1"> - <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" - @pagination="getList" /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.page" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> </div> </div> </template> + + <el-dialog + :title="title" + :visible.sync="open" + width="1000px" + append-to-body + > + <el-row> + <el-col :span="9" v-if="hzlogList.length >= 1"> + <h3>浼氳瘖鐢宠璁板綍</h3> + <el-table :data="hzlogList" style="width: 100%" border> + <el-table-column + label="鐢宠浜�" + align="center" + prop="hzDoctorName" + width="100px" + /> + <el-table-column label="绉戝" align="center" prop="hzDeptName" /> + <el-table-column label="鎿嶄綔" align="center" width="150px"> + <template slot-scope="scope"> + <el-button + type="primary" + size="mini" + @click="hadleedit(scope.row)" + v-if=" + scope.row.hzReplyLogsList.length == 0 && + scope.row.hzDoctorId == info.userId + " + >淇敼</el-button + > + <el-button + type="primary" + size="mini" + v-if=" + scope.row.hzReplyLogsList.length == 0 && + scope.row.hzDoctorId == info.userId + " + @click="handledele(scope.row)" + >鍒犻櫎</el-button + > + </template> + </el-table-column> + </el-table> + </el-col> + <el-col :span="14"> + <h3 style="text-align: center">浼氳瘖璁板綍鐢宠</h3> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="濮撳悕" prop="cusName"> + <el-input + v-model="form.cusName" + placeholder="璇疯緭鍏ュ鍚�" + disabled + /> + </el-form-item> + <el-form-item label="浣撴鍙�" prop="tjNumber"> + <el-input + v-model="form.tjNumber" + placeholder="璇疯緭鍏ヤ綋妫�鍙�" + disabled + /> + </el-form-item> + <el-form-item label="浼氳瘖绉戝" prop="hzType"> + <el-radio-group v-model="form.hzType"> + <el-radio-button label="0">鍏ㄩ櫌浼氳瘖</el-radio-button> + <el-radio-button label="1">绉戝浼氳瘖</el-radio-button> + </el-radio-group> + </el-form-item> + <el-form-item label="閫夋嫨绉戝" v-if="form.hzType == '1'"> + <el-select + v-model="form.hzDeptId" + multiple + filterable + style="width: 100%" + > + <el-option + v-for="item in deptList" + :key="item.deptId" + :label="item.deptName" + :value="item.deptId" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="鐢宠浜�" prop="hzDoctorId" style="margin-top:22px"> + <el-select + v-model="form.hzDoctorId" + placeholder="璇烽�夋嫨" + style="width: 100%" + filterable + > + <el-option + v-for="item in userList" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + > + </el-option> + </el-select> + </el-form-item> + <!-- <el-form-item label="鐢宠鏃堕棿" prop="createTime"> + <el-date-picker v-model="form.createTime" type="datetime" placeholder="閫夋嫨鐢宠鏃堕棿"> + </el-date-picker> + </el-form-item> --> + </el-form> + </el-col> + </el-row> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFormapply">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + + <el-dialog + :title="title" + :visible.sync="foropen" + width="1000px" + append-to-body + > + <el-row> + <el-col :span="8" v-if="hasdeptList.length >= 1"> + <h3 style="text-align: center">浼氳瘖鐢宠璁板綍</h3> + <el-table + :data="hasdeptList" + style="width: 100%" + border + ref="tab" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="50" align="center" /> + <el-table-column + label="鐢宠浜�" + align="center" + prop="hzDoctorName" + width="100px" + /> + <el-table-column + label="绉戝" + align="center" + prop="hzDeptName" + width="260px" + /> + </el-table> + </el-col> + <el-col :span="16" style="padding: 0 10px"> + <h3 style="text-align: center">浼氳瘖鎰忚</h3> + <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px"> + <div + v-for="(item, index) in hzReplyLogsList" + :key="index" + style="padding-bottom: 5px; border-bottom: 1px solid black" + > + <!-- <div>浼氳瘖绉戝锛歿{ item.replyDeptName }}</div> --> + <div>鍖荤敓锛歿{ item.hzDoctorName }}</div> + <div>鍥炲锛歿{ item.replyContent }}</div> + </div> + </div> + <el-input + type="textarea" + :rows="2" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="textarea" + > + </el-input> + <div style="padding: 10px 10px"> + <el-button type="primary" @click="submitFormreply">鍥炲</el-button> + </div> + </el-col> + </el-row> + <!-- <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFormapply">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> --> + </el-dialog> + + <el-dialog + title="濉啓鏄惁閲嶅ぇ闃虫��" + :visible.sync="checkval" + width="800px" + append-to-body + > + <el-form ref="form" :model="formIn" label-width="100px"> + <el-form-item label="濮撳悕"> + <el-input v-model="formIn.cusName" disabled></el-input> + </el-form-item> + <el-form-item label="浣撴鍙�"> + <el-input v-model="formIn.tjNumber" disabled></el-input> + </el-form-item> + <el-form-item label="鐖堕」鍚嶇О"> + <el-input v-model="Parentcheck.proName" disabled></el-input> + </el-form-item> + <el-form-item label="瀛愰」鍚嶇О"> + <el-input v-model="formIn.proName" disabled></el-input> + </el-form-item> + <el-form-item label="閲嶅ぇ闃虫��"> + <el-radio-group v-model="formIn.flag"> + <el-radio label="1">鏄�</el-radio> + <el-radio label="0">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="绛夌骇"> + <el-select + v-model="formIn.level" + placeholder="璇烽�夋嫨" + filterable + style="width: 100%" + > + <el-option + v-for="item in dict.type.lj_positive" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="澶囨敞"> + <el-input type="textarea" v-model="formIn.remark"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitcheckval">纭� 瀹�</el-button> + <el-button @click="cancell">鍙� 娑�</el-button> + </div> + </el-dialog> + + <el-dialog + title="PDF 棰勮" + :visible.sync="dialogVisible" + :close-on-click-modal="false" + > + <div class="main"> + <iframe + id="printIframe" + :src="url" + frameborder="0" + style="width: 100%; height: 100%" + ></iframe> + </div> + </el-dialog> + <!-- 鐐瑰嚮鍙宠竟寮瑰嚭灞� --> - <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> + <el-drawer + :visible.sync="drawer" + :with-header="false" + size="70%" + :before-close="handleClose" + > <div style="font-size: 14px"> - <table style=" + <table + style=" width: 96%; height:70px margin: 10px 10px; @@ -76,14 +404,19 @@ border: 1px solid #dfe6ec; border-collapse: collapse; font-size:16px - " cellspacing="4"> + " + 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 + style="border: 1px solid #dfe6ec; border-collapse: collapse" + align="right" + > 濮撳悕锛� </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> @@ -95,7 +428,10 @@ <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</span> </template> </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse;" align="right"> + <td + style="border: 1px solid #dfe6ec; border-collapse: collapse" + align="right" + > 鎬у埆锛� </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> @@ -103,13 +439,19 @@ </td> </tr> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> + <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 + style="border: 1px solid #dfe6ec; border-collapse: collapse" + align="right" + > 浣撴鏃堕棿锛� </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> @@ -118,109 +460,240 @@ </tr> </table> </div> - - <template> - <div style="margin-left: 10px"> - <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index" - @input="radioChange1(item.proId, item)"> - <el-radio-button :label="item.proId">{{ - item.proName - }}</el-radio-button> - </el-radio-group> + <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> - </template> - - <el-table :data="proParentList.sons" border height="460px" style="width: 96%; margin: 10px 10px"> - <el-table-column prop="project.proName" label="妫�娴嬮」鐩�" width="150"> - <!-- <template slot-scope="scope"> - {{ scope.row.project.proName }} - </template> --> - </el-table-column> - <el-table-column prop="proResult" label="妫�娴嬬粨鏋�" width="280"> - <template slot-scope="scope"> - <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" - @blur="handleInputConfirm(scope.row)" @input="vale"></el-input> - </template> - </el-table-column> - <el-table-column label="瑙勫垯" width="55"> - <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="鍗曚綅"> - <!-- <template slot-scope="scope"> - {{ scope.row.standard.company }} - </template> --> - </el-table-column> - <el-table-column prop="project.proScope" label="鍙傝�冭寖鍥�"> - </el-table-column> - <el-table-column prop="conclusion" label="缁撴灉缁撹" width="280"> - <template slot-scope="scope"> - <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" - disabled></el-input> - </template> - </el-table-column> - <el-table-column prop="exceptionDesc" label="鏄惁寮傚父" width="80px" 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="80px" align="center"> - <template slot-scope="scope"> - <el-checkbox v-model="scope.row.isReturn"></el-checkbox> - </template> - </el-table-column> - <el-table-column prop="project.resultType" label="缁撴灉绫诲瀷"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" /> - </template> - </el-table-column> - </el-table> - - <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="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 鐥呯閫夋嫨锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <el-select v-model="value" multiple placeholder="璇烽�夋嫨" style="width: 100%;height:45px" v-if="deptAdviceList" - @change="sel" filterable> - <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id"> - </el-option> - </el-select> - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 涓绘鍖诲笀锛� - </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="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 寤鸿锛� - </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> - - <div slot="footer" class="dialog-footers"> - <el-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button> + <div style="margin: 10px 10px"> + <el-button type="primary" size="mini" @click="historicalreport()" + >鍘嗗彶鎶ュ憡</el-button + > </div> </div> + + <el-row> + <el-col :span="18"> + <template> + <div style="margin-left: 10px"> + <el-radio-group + v-model="radio" + v-for="(item, index) in Parent" + :key="index" + @input="radioChange1(item.proId, item)" + > + <el-radio-button :label="item.proId">{{ + item.proName + }}</el-radio-button> + </el-radio-group> + </div> + </template> + <el-table + v-loading="loading" + :data="proParentList.sons" + border + height="460px" + style="width: 96%; margin: 10px 10px" + > + <el-table-column + prop="project.proName" + label="妫�娴嬮」鐩�" + width="150" + > + <!-- <template slot-scope="scope"> + {{ scope.row.project.proName }} + </template> --> + </el-table-column> + <el-table-column prop="proResult" label="妫�娴嬬粨鏋�" width="200"> + <template slot-scope="scope"> + <el-input + type="textarea" + autosize + size="mini" + v-model="scope.row.proResult" + autocomplete="off" + placeholder="璇疯緭鍏ユ娴嬬粨鏋�" + @blur="handleInputConfirm(scope.row)" + @input="vale" + @focus="handleInConfirm(scope.row)" + ></el-input> + </template> + </el-table-column> + <el-table-column label="瑙勫垯" width="55"> + <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="鍗曚綅"> + <!-- <template slot-scope="scope"> + {{ scope.row.standard.company }} + </template> --> + </el-table-column> + <el-table-column prop="project.proScope" label="鍙傝�冭寖鍥�"> + </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-table-column + prop="exceptionDesc" + label="鏄惁寮傚父" + width="80px" + 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="80px" + align="center" + > + <template slot-scope="scope"> + <el-checkbox v-model="scope.row.isReturn"></el-checkbox> + </template> + </el-table-column> + <el-table-column prop="project.resultType" label="缁撴灉绫诲瀷"> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.tj_result_type" + :value="scope.row.project.resultType" + /> + </template> + </el-table-column> + <el-table-column prop="isPositive" label="閲嶅ぇ闃虫��"> + <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> + + <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="border: 1px solid #dfe6ec; border-collapse: collapse"> + <td + style="border: 1px solid #dfe6ec; border-collapse: collapse" + > + 鐥呯閫夋嫨锛� + </td> + <td + style="border: 1px solid #dfe6ec; border-collapse: collapse" + > + <el-select + v-model="value" + multiple + placeholder="璇烽�夋嫨" + style="width: 100%; height: 45px" + v-if="deptAdviceList" + @change="sel" + filterable + > + <el-option + v-for="item in deptAdviceList" + :key="item.id" + :label="item.title" + :value="item.id" + > + </el-option> + </el-select> + </td> + <td + style="border: 1px solid #dfe6ec; border-collapse: collapse" + > + 涓绘鍖诲笀锛� + </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="border: 1px solid #dfe6ec; border-collapse: collapse"> + <td + style="border: 1px solid #dfe6ec; border-collapse: collapse" + > + 寤鸿锛� + </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> + + <div slot="footer" class="dialog-footers"> + <!-- <el-button type="primary" + size="mini" + @click="radioChange" + v-hasPermi="['system:notice:add']" + v-show="tjStatus == '1'" + >浼氳瘖鐢宠</el-button> --> + <el-button + type="primary" + @click="determine" + v-show="tjStatus == '0'" + >鎻� 浜�</el-button + > + </div> + </div> + </el-col> + <el-col :span="6"> + <Historicalreport + :reportHistorydata="reportHistorydata" + ></Historicalreport> + </el-col> + </el-row> + <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);"> <table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2" v-for="(item, index) in proParentList.sons" :key="index"> @@ -269,28 +742,50 @@ <script> import Public from "@/components/public"; +import { getPdf } from "@/api/hosp/order"; +import { getInfo } from "@/api/login"; +import Historicalreport from "@/components/Historicalreport"; import { getProList, getSons, + AutoGetRule, getaddRemark, getParentList, getParentId, getDeptAdvice, + reportHistory, } from "@/api/doctor/check"; +import { addBigPositive } from "@/api/doctor/bigPositive"; +import { addReplylog, hzHasDept } from "@/api/hosp/replylog"; +import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog"; import { listUser } from "@/api/system/user"; +import { getChildList } from "@/api/system/dept"; export default { - dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type"], + dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"], name: "check", - components: { Public }, + components: { Public, Historicalreport }, data() { return { selected: false, + checkval: false, // 閬僵灞� loading: false, + open: false, + foropen: false, + dialogVisible: false, + reportHistorydata: [], + url: "", + cateringList: [], orderDetailId: "", + textarea: "", + title: "", + formIn: {}, + focusrow: {}, + hzlogList: [], // proDefault: "", // dataList: [], rows: [], + id: [], deptAdviceList: [], value: [], remark: "", //澶囨敞 @@ -301,12 +796,21 @@ tjStatus: "0", // 鎶藉眽鎵撳紑鏂瑰紡 drawer: false, + Parentcheck: {}, // 鑾峰彇鎶藉眽鍒楄〃 drawerList: [], // 鑾峰彇淇℃伅闆嗗悎 tableList: [], + deptList: [], tableAll: {}, row: {}, + info: {}, + allList: [], + autorule: [], + vals: {}, + form: { + createTime: new Date(), + }, // 鍖荤敓 doctorName: "", // 鐖堕」 @@ -319,17 +823,23 @@ userList: null, // 鐖堕」鐩垪琛� Parent: [], + hzReplyLogsList: [], + hasdeptList: [], radio: "", nums: "", proParentList: [], tjNumber: "", // 鍏ㄩ儴灏忕粨 DeptadviceAll: [], + project: {}, // 灏忕粨 summaryList: [], summaryAll: [], tjOrderDetailList: [], tjOrderDetail: [], + deptId: "", + userId: "", + nickName: "", date: new Date(new Date().getTime() + 8 * 3600 * 1000) .toJSON() .substr(0, 19) @@ -341,6 +851,9 @@ tjNumber: "", type: "", name: null, + }, + rules: { + hzType: [{ required: true, message: "浼氳瘖绉戝涓哄繀濉」", trigger: "change" }], }, }; }, @@ -377,18 +890,30 @@ this.userList = response.rows; } ); + getInfo().then((response) => { + this.info = response.user; + this.deptId = response.user.deptId; + this.userId = response.user.userId; + this.nickName = response.user.nickName; + }); }, handleClose() { this.$tab.refreshPage(); }, // 鑾峰彇鍖荤敓 selName(val) { - this.doctorName = val + this.doctorName = val; // this.userList.forEach(item =>{ // if(val === item.userId){ // this.doctorName = item.nickName // } // }) + }, + + myclass(row, column, rowIndex, columnIndex) { + if (row.row.isPositive == 1) { + return "setclass"; + } }, // 灏忕粨鑾峰彇澶囨敞 sel(val) { @@ -410,7 +935,7 @@ }); }); } else { - this.proParentList.remark = "" + this.proParentList.remark = ""; this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { @@ -431,32 +956,81 @@ vale(datas) { this.proResult = datas; + var pattern3 = new RegExp("[0-9]+"); + if (pattern3.test(this.proResult)) { + let data = { + proId: this.focusrow.proId, + cusId: this.tableAll.cusId, + keyNum: this.proResult, + }; + AutoGetRule(data).then((res) => { + this.focusrow.conclusion = ""; + if (res.data) { + this.autorule = res.data; + this.focusrow.rulesList = this.autorule; + this.autorule.forEach((item) => { + if (this.focusrow.conclusion) { + this.focusrow.conclusion += item.bingzhong; + } else { + this.focusrow.conclusion = item.bingzhong; + } + }); + } + }); + } else { + let data = { + proId: this.focusrow.proId, + cusId: this.tableAll.cusId, + keyWord: this.proResult, + }; + AutoGetRule(data).then((res) => { + this.focusrow.conclusion = ""; + if (res.data) { + this.autorule = res.data; + this.focusrow.rulesList = this.autorule; + this.autorule.forEach((item) => { + if (this.focusrow.conclusion) { + this.focusrow.conclusion += item.bingzhong; + } else { + this.focusrow.conclusion = item.bingzhong; + } + }); + } + }); + } + // this.$refs.aaa.open = true; // this.$refs.aaa.getList(); }, // 瑙勫垯 handleguize(row) { - this.row = row + this.row = row; this.$refs.aaa.open = true; + this.$refs.aaa.title = "璇婃柇缁撴灉缁撹"; this.$refs.aaa.getList(this.row); }, handleChanges(param1, param2) { - this.row.conclusion = param1 - this.row.rulesList = param2 + this.row.conclusion = param1; + this.row.rulesList = param2; }, getList() { + this.loading = true; + this.queryParams.type = this.tjStatus; getProList(this.queryParams).then((response) => { - if (response.data) { - if (response.data.date) { - this.tableList = response.data.date; + if (response.code == 200) { + this.loading = false; + if (response.data) { + if (response.data.date) { + this.tableList = response.data.date; + } else { + this.tableList = response.data.customers; + } + this.total = response.data.total; } else { - this.tableList = response.data.customers; + this.tableList = []; } - this.total = response.data.total; - } else { - this.tableList = []; } }); }, @@ -464,19 +1038,23 @@ // 鍗曢�夋寜閽� radioChange(val) { this.queryParams.type = val; + this.loading = true; getProList(this.queryParams).then((response) => { - if (response.data) { - this.tableList = response.data.date; - this.total = response.data.total; - } else { - this.tableList = []; + if (response.code == 200) { + this.loading = false; + if (response.data) { + this.tableList = response.data.date; + this.total = response.data.total; + } else { + this.tableList = []; + } } }); }, // 鎼滅储 submitForm() { - this.queryParams.pageNum = 1; + this.queryParams.page = 1; this.getList(); // this.loading = true; // (this.queryParams = { @@ -511,8 +1089,299 @@ this.submitForm(); }, + Changeapplyfor(row) { + this.open = true; + this.form = row; + this.form.hzDoctorId = this.info.userId; + getChildList().then((res) => { + this.deptList = res.data; + }); + this.Hzlog(this.form.tjNumber); + }, + + checkboxchange(val) { + this.vals = val; + this.project = val.project; + this.formIn.tjNumber = this.tableAll.tjNumber; + this.formIn.cusId = this.tableAll.cusId; + this.formIn.cusName = this.tableAll.cusName; + this.formIn.proId = this.project.proId; + this.formIn.proName = this.project.proName; + this.formIn.orderId = val.orderId; + this.Parent.forEach((item) => { + if (this.radio == item.proId) { + this.Parentcheck.proName = item.proName; + this.formIn.proParentId = item.proId; + } + }); + if (val.isPositive == "1") { + this.checkval = true; + this.formIn.flag = "0"; + this.formIn.level = ""; + } else { + this.formIn.flag = "0"; + addBigPositive(this.formIn).then((res) => { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + this.getParentIdsss(); + }); + } + }, + submitcheckval() { + addBigPositive(this.formIn).then((res) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.getParentIdsss(); + this.checkval = false; + }); + }, + cancell() { + this.checkval = false; + this.vals.isPositive = "0"; + }, + + Hzlog(val) { + let data = { + tjNumber: val, + }; + listHzlog(data).then((response) => { + this.hzlogList = response.rows; + this.hzlogList.forEach((item) => { + item.hzDeptName = ""; + if (item.hzType == "0") { + item.hzDeptName = "鍏ㄩ櫌浼氳瘖"; + } else { + item.hzDeptIdList.forEach((item1) => { + this.deptList.forEach((item2) => { + if (item1 == item2.deptId) { + item.hzDeptName += item2.deptName + ","; + } + }); + }); + } + }); + }); + }, + handledele(row) { + this.id = []; + this.id.push(row.id); + delHzlog(this.id).then((res) => { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + this.Hzlog(this.form.tjNumber); + }); + }, + + hadleedit(row) { + console.log(row, 111); + this.form.hzType = row.hzType; + this.form.id = row.id; + this.form.hzDeptId = row.hzDeptNameList; + // row.hzDeptIdList.forEach(item=>{ + // console.log(item,222); + // this.deptList.forEach(items=>{ + // console.log(item,333); + // if(item == items.deptId){ + // this.form.hzDeptNameList = + // } + // }) + // }) + }, + + submitFormapply() { + let data = {}; + this.userList.forEach((item1) => { + if (this.form.hzDoctorId == item1.userId) { + this.form.hzDoctorName = item1.nickName; + } + }); + if (this.form.hzType != undefined) { + // if (this.form.hzDeptId && this.form.id) { + // console.log(111); + // // let hzDeptId = "" + // // this.form.hzDeptId.forEach(item => { + // // hzDeptId += item + ',' + // // }) + // data = { + // tjNumber: this.form.tjNumber, + // userId: this.form.cusId, + // userName: this.form.cusName, + // hzDeptIdList: this.form.hzDeptId, + // hzDoctorId: this.form.hzDoctorId, + // hzType: this.form.hzType, + // orderId: this.form.orderId, + // hzDoctorName: this.form.hzDoctorName, + // id: this.form.id, + // }; + // } else { + // console.log(222); + // data = { + // tjNumber: this.form.tjNumber, + // userId: this.form.cusId, + // userName: this.form.cusName, + // hzDoctorId: this.form.hzDoctorId, + // hzType: this.form.hzType, + // orderId: this.form.orderId, + // hzDoctorName: this.form.hzDoctorName, + // }; + // } + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.id != null) { + data = { + tjNumber: this.form.tjNumber, + userId: this.form.cusId, + userName: this.form.cusName, + hzDeptIdList: this.form.hzDeptId, + hzDoctorId: this.form.hzDoctorId, + hzType: this.form.hzType, + orderId: this.form.orderId, + hzDoctorName: this.form.hzDoctorName, + id: this.form.id, + }; + updateHzlog(data).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.form = {}; + this.Hzlog(); + this.radioChange(1); + } + }); + } else { + data = { + tjNumber: this.form.tjNumber, + userId: this.form.cusId, + userName: this.form.cusName, + hzDeptIdList: this.form.hzDeptId, + hzDoctorId: this.form.hzDoctorId, + hzType: this.form.hzType, + orderId: this.form.orderId, + hzDoctorName: this.form.hzDoctorName, + id: this.form.id, + }; + if(this.form.hzDeptId.length != 0){ + addHzlog(data).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鐢宠鎴愬姛"); + this.form = {}; + this.Hzlog(); + this.radioChange(1); + } + }); + this.open = false; + }else{ + this.$modal.msgError("璇烽�夋嫨浼氳瘖绉戝"); + } + + } + } + }); + } else { + this.$modal.msgError("璇烽�夋嫨浼氳瘖绉戝"); + } + }, + cancel() { + this.open = false; + this.foropen = false; + }, + + Changeapply() { + this.foropen = true; + this.Hzlog(this.tableAll.tjNumber); + }, + historicalreport() { + this.loading = true; + let data = { + cusId: this.tableAll.cusId, + }; + reportHistory(data).then((res) => { + this.loading = false; + if (res.data[0] != null) { + this.reportHistorydata = res.data; + } + }); + }, + + handlecan(row) { + this.dialogVisible = true; + const tjNumber = row.tjNumber; + const flag = true; + getPdf(tjNumber, flag).then((response) => { + if (response.size === 0) { + const loading = this.$loading({ + lock: true, + text: "Loading", + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0.7)", + }); + setTimeout(() => { + loading.close(); + }, 3000); + // this.$message.msgSuccess("鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�"); + this.$message({ + type: "warning ", + message: "鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�!", + }); + } else { + this.dialogVisible = true; + + this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + } + }); + }, + submitFormreply() { + let data = { + hzId: this.allList[0].id, + orderId: this.allList[0].orderId, + tjNumber: this.allList[0].tjNumber, + userId: this.allList[0].userId, + userName: this.allList[0].userName, + replyContent: this.textarea, + hzDoctorId: this.allList[0].hzDoctorId, + hzDoctorName: this.allList[0].hzDoctorName, + hzType: this.allList[0].hzType, + replyDoctorName: this.nickName, + replyDeptId: this.deptId, + replyDoctorId: this.userId, + }; + addReplylog(data).then((res) => { + this.$modal.msgSuccess("鍥炲鎴愬姛"); + this.getDept(this.allList[0].tjNumber); + }); + }, + + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + if (selection.length > 1) { + const newRows = selection.filter((it, index) => { + if (index == selection.length - 1) { + this.$refs.tab.toggleRowSelection(it, true); + return true; + } else { + this.$refs.tab.toggleRowSelection(it, false); + return false; + } + }); + // this.allList = [] + // if(newRows[0].hzReplyLogsList){ + // this.hzReplyLogsList = newRows[0].hzReplyLogsList + // } + // console.log(this.hzReplyLogsList) + // this.allList = newRows + } else { + this.allList = []; + if (selection[0]) { + if (selection[0].hzReplyLogsList) { + this.hzReplyLogsList = selection[0].hzReplyLogsList; + } + } else { + this.hzReplyLogsList = []; + } + this.allList = selection; + } + }, + // 鐐瑰嚮璇︽儏 handleClick(row) { + this.getDept(row.tjNumber); + this.loading = true; this.drawer = true; this.tableAll = row; if (this.tableAll.cusSex === 0) { @@ -521,68 +1390,38 @@ if (this.tableAll.cusSex === 1) { this.tableAll.cusSex = "濂�"; } - + if (this.tableAll.cusSex === 2) { + this.tableAll.cusSex = "鏈煡"; + } this.tjNumber = row.tjNumber; let num = 0; getParentList(this.tjNumber).then((response) => { - this.Parent = response.data; - this.Parent.forEach((item) => { - if (item.type === 1) { - item.proName += " 鉁�"; - } - if (num === 0) { - this.nums = item.proId; - this.radio = item.proId; - this.proId = item.proId; - // this.radioChange1(item.proId, item); - let data = { - tjNumber: this.tjNumber, - proParentId: this.nums, - }; - getParentId(data).then((response) => { - this.proParentList = response.data; - this.value = []; - if (this.proParentList.xiaoJie.length != 0) { - this.proParentList.xiaoJie.forEach((item2) => { - this.value.push(item2.id); - }); - } - this.proParentList.sons.forEach((item) => { - this.doctorName = item.doctorName; + if (response.data) { + this.loading = false; + this.Parent = response.data; + this.Parent.forEach((item) => { + if (item.type === 1) { + item.proName += " 鉁�"; + } + if (num === 0) { + this.nums = item.proId; + this.radio = item.proId; + this.proId = item.proId; + // this.radioChange1(item.proId, item); + this.getParentIdsss(); - 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; - } + getDeptAdvice(this.proId).then((response) => { + this.deptAdviceList = response.data; }); - if (this.proParentList.xiaoJie.length != 0) { - this.Parent.forEach((item3) => { - if (item3.proId === this.nums) { - this.proParentList.remark = item.remark; - } - }); - } else { - this.proParentList.remark = ""; - } - }); - - getDeptAdvice(this.proId).then((response) => { - this.deptAdviceList = response.data; - }); - } - num = num + 1; - }); + } + num = num + 1; + }); + } else { + this.loading = false; + this.Parent = []; + this.$modal.msgError("璇ョ瀹や笅鏃犻」鐩紒"); + } }); - getDeptAdvice().then((response) => { this.deptAdviceList = response.data; }); @@ -602,8 +1441,83 @@ // }) // }); }, + + getParentIdsss() { + let data = { + tjNumber: this.tjNumber, + proParentId: this.nums, + }; + getParentId(data).then((response) => { + this.proParentList = response.data; + this.loading = false; + this.value = []; + if (this.proParentList.xiaoJieIds != null) { + if (this.proParentList.xiaoJieIds.length != 0) { + this.proParentList.xiaoJieIds.forEach((item2) => { + let item = Number(item2); + this.value.push(item); + }); + } + } + + this.proParentList.sons.forEach((item) => { + this.doctorName = item.doctorName; + + 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 (this.proParentList.xiaoJie.length != 0) { + this.Parent.forEach((item3) => { + if (item3.proId === this.nums) { + this.proParentList.remark = item3.remark; + } + }); + } else { + this.proParentList.remark = ""; + } + }); + }, + + getDept(val) { + let data = { + tjNumber: val, + deptId: this.deptId, + }; + hzHasDept(data).then((res) => { + if (res.data) { + this.hasdeptList = res.data; + this.hasdeptList.forEach((item) => { + item.hzDeptName = ""; + if (item.hzType == "0") { + item.hzDeptName = "鍏ㄩ櫌浼氳瘖"; + } else { + item.hzDeptIdList.forEach((item1) => { + this.deptList.forEach((item2) => { + if (item1 == item2.deptId) { + item.hzDeptName += item2.deptName + ","; + } + }); + }); + } + }); + } + }); + }, + // 鎸夐挳鐐瑰嚮浜嬩欢 radioChange1(proParentId, item) { + this.Parentcheck = item; this.$confirm( "妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�", "纭淇℃伅", @@ -616,6 +1530,11 @@ .then(() => { // 浣撴鍙� let tjNumber = this.tableAll.tjNumber; + this.userList.forEach((item) => { + if (this.doctorName == item.nickName) { + this.doctorName = item.userId; + } + }); this.proParentList.sons.forEach((item) => { if (this.rows) { this.rows.forEach((item1) => { @@ -640,7 +1559,7 @@ isReturn: item.isReturn === true ? 1 : 0, exceptionDesc: item.exceptionDesc === true ? 1 : 0, conclusion: item.conclusion, - rulesList: item.rulesList + rulesList: item.rulesList, }); }); @@ -668,10 +1587,13 @@ getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; - if (this.proParentList.xiaoJie.length != 0) { - this.proParentList.xiaoJie.forEach((item2) => { - this.value.push(item2.id); - }); + if (this.proParentList.xiaoJieIds != null) { + if (this.proParentList.xiaoJieIds.length != 0) { + this.proParentList.xiaoJieIds.forEach((item2) => { + let item = Number(item2); + this.value.push(item); + }); + } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; @@ -688,7 +1610,6 @@ if (item.exceptionDesc == "0") { item.exceptionDesc = false; } - }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { @@ -720,10 +1641,13 @@ getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; - if (this.proParentList.xiaoJie.length != 0) { - this.proParentList.xiaoJie.forEach((item2) => { - this.value.push(item2.id); - }); + if (this.proParentList.xiaoJieIds != null) { + if (this.proParentList.xiaoJieIds.length != 0) { + this.proParentList.xiaoJieIds.forEach((item2) => { + let item = Number(item2); + this.value.push(item); + }); + } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; @@ -740,7 +1664,6 @@ if (item.exceptionDesc == "0") { item.exceptionDesc = false; } - }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { @@ -758,7 +1681,9 @@ }); }); }, - + handleInConfirm(row) { + this.focusrow = row; + }, handleInputConfirm(row) { this.rows.push(row); @@ -767,6 +1692,11 @@ determine() { // 浣撴鍙� let tjNumber = this.tableAll.tjNumber; + this.userList.forEach((item) => { + if (this.doctorName == item.nickName) { + this.doctorName = item.userId; + } + }); this.proParentList.sons.forEach((item) => { if (this.rows) { this.rows.forEach((item1) => { @@ -791,7 +1721,7 @@ isReturn: item.isReturn === true ? 1 : 0, exceptionDesc: item.exceptionDesc === true ? 1 : 0, conclusion: item.conclusion, - rulesList: item.rulesList + rulesList: item.rulesList, }); }); @@ -815,7 +1745,7 @@ }, }; </script> -<style scoped> +<style > .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; @@ -825,6 +1755,11 @@ line-height: 23px; padding-left: 10px; padding-right: 10px; +} + +.setclass { + background-color: #f86b35; + color: black; } .blue-button { @@ -842,6 +1777,11 @@ margin-left: calc(100% - 10%); } +.main { + height: 700px; + overflow: hidden; +} + .pag { width: 100%; display: flex; -- Gitblit v1.8.0