From 876f43e0fd34e084cc8a179a20afb51fe612eca3 Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期六, 09 十二月 2023 18:59:31 +0800 Subject: [PATCH] qxtj --- src/views/doctor/check/index.vue | 1144 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 772 insertions(+), 372 deletions(-) diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue index 8ee401a..216cb0c 100644 --- a/src/views/doctor/check/index.vue +++ b/src/views/doctor/check/index.vue @@ -1,68 +1,31 @@ <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="handleQuery"></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="璇疯緭鍏ヤ綋妫�鍙�"></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> @@ -71,87 +34,174 @@ <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="鐘舵��" - align="center" - prop="tjStatus" - :show-overflow-tooltip="true" - width="80px" - > - <template slot-scope="scope"> - <span>{{ scope.row.tjStatus == "1" ? "宸叉" : "鏈" }}</span> - </template> - </el-table-column> --> + <el-table-column label="鍑虹敓鏃ユ湡" align="center" 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 - 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="浣撴鏃堕棿" align="center" prop="tjTime" width="100px"> <template slot-scope="scope"> - <el-button - type="primary" - size="mini" - @click="handleClick(scope.row)" - >璇︽儏</el-button - > + <span>{{ parseTime(scope.row.tjTime, '{y}-{m}-{d}') }}</span> + </template> + </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" 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"> + <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; @@ -159,19 +209,14 @@ 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"> @@ -183,10 +228,7 @@ <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"> @@ -194,19 +236,13 @@ </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"> @@ -215,180 +251,138 @@ </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 - 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"> + <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="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"> + </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" @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="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> + </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-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> - <div style="font-size: 14px; overflow-y: auto; height: 286px"> - <table - style=" + </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> + " 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> - </div> + <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"> @@ -437,28 +431,54 @@ <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: "", //澶囨敞 @@ -469,12 +489,20 @@ tjStatus: "0", // 鎶藉眽鎵撳紑鏂瑰紡 drawer: false, + Parentcheck: {}, // 鑾峰彇鎶藉眽鍒楄〃 drawerList: [], // 鑾峰彇淇℃伅闆嗗悎 tableList: [], + deptList: [], tableAll: {}, row: {}, + info: {}, + allList: [], + autorule: [], + form: { + createTime: new Date() + }, // 鍖荤敓 doctorName: "", // 鐖堕」 @@ -487,17 +515,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) @@ -510,6 +544,11 @@ type: "", name: null, }, + rules: { + hzType: [ + { required: true, message: '璇烽�夋嫨绉戝', trigger: 'change' } + ] + } }; }, @@ -545,6 +584,12 @@ 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(); @@ -557,6 +602,12 @@ // this.doctorName = item.nickName // } // }) + }, + + myclass(row, column, rowIndex, columnIndex) { + if (row.row.isPositive == 1) { + return "setclass" + } }, // 灏忕粨鑾峰彇澶囨敞 sel(val) { @@ -599,6 +650,52 @@ 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(); }, @@ -616,9 +713,11 @@ }, getList() { + this.loading = true; this.queryParams.type = this.tjStatus; getProList(this.queryParams).then((response) => { if (response.data) { + this.loading = false; if (response.data.date) { this.tableList = response.data.date; } else { @@ -634,8 +733,10 @@ // 鍗曢�夋寜閽� radioChange(val) { this.queryParams.type = val; + this.loading = true; getProList(this.queryParams).then((response) => { if (response.data) { + this.loading = false; this.tableList = response.data.date; this.total = response.data.total; } else { @@ -646,7 +747,7 @@ // 鎼滅储 submitForm() { - this.queryParams.pageNum = 1; + this.queryParams.page = 1; this.getList(); // this.loading = true; // (this.queryParams = { @@ -681,8 +782,254 @@ 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.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; + } 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; + }, + + 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) { + this.form.hzType = row.hzType + this.form.id = row.id + }, + + submitFormapply() { + console.log(this.form) + 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) { + // 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 { + 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) { + updateHzlog(data).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.form = {} + this.Hzlog() + this.radioChange(1) + } + }) + } else { + 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("璇烽�夋嫨浼氳瘖绉戝"); + } + + }, + 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湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�"); + + } 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; @@ -692,73 +1039,36 @@ if (this.tableAll.cusSex === 1) { 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.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 (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 = ""; - } - }); + } + num = num + 1; + }); + } else { + this.loading = false; + this.Parent = []; + this.$modal.msgError("璇ョ瀹や笅鏃犻」鐩紒"); + } - getDeptAdvice(this.proId).then((response) => { - this.deptAdviceList = response.data; - }); - } - num = num + 1; - }); }); - getDeptAdvice().then((response) => { this.deptAdviceList = response.data; }); @@ -778,8 +1088,84 @@ // }) // }); }, + + 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( "妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�", "纭淇℃伅", @@ -849,14 +1235,14 @@ getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; - if(this.proParentList.xiaoJieIds != null){ - if (this.proParentList.xiaoJieIds.length != 0) { + 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) { @@ -903,14 +1289,14 @@ getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; - if(this.proParentList.xiaoJieIds != null){ - if (this.proParentList.xiaoJieIds.length != 0) { + 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) { @@ -942,6 +1328,9 @@ this.deptAdviceList = response.data; }); }); + }, + handleInConfirm(row) { + this.focusrow = row }, handleInputConfirm(row) { @@ -1004,7 +1393,7 @@ }, }; </script> -<style scoped> +<style > .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; @@ -1015,6 +1404,12 @@ padding-left: 10px; padding-right: 10px; } + +.setclass { + background-color: #f86b35; + color: black; +} + .blue-button { width: 10px; @@ -1031,6 +1426,11 @@ margin-left: calc(100% - 10%); } +.main { + height: 700px; + overflow: hidden; +} + .pag { width: 100%; display: flex; -- Gitblit v1.8.0