From 72af108154b75c3d8ec2448041e9e9a0fccdec9e Mon Sep 17 00:00:00 2001 From: su1124 <1583764726@qq.com> Date: 星期五, 26 四月 2024 14:52:49 +0800 Subject: [PATCH] su --- src/views/doctor/check/index.vue | 1158 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 688 insertions(+), 470 deletions(-) diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue index 0e51b0b..f387b40 100644 --- a/src/views/doctor/check/index.vue +++ b/src/views/doctor/check/index.vue @@ -1,70 +1,32 @@ <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="璇疯緭鍏ヤ綋妫�鍙�" clearable + @blur="hb" @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> <div style="display: flex"> - <el-radio-group - v-model="tjStatus" - @input="radioChange" - style="margin-left: 30px" - > + <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 - :cell-class-name="myclass" - > + <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="160px" - /> - <el-table-column - label="濮撳悕" - align="center" - prop="cusName" - width="90px" - /> + <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> @@ -73,119 +35,50 @@ <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</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="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" - > + <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" width="100px"> <template slot-scope="scope"> <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="鏈椤�" 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> + <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-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="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 - > + <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> @@ -194,18 +87,10 @@ <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-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-input v-model="form.tjNumber" placeholder="璇疯緭鍏ヤ綋妫�鍙�" disabled /> </el-form-item> <el-form-item label="浼氳瘖绉戝" prop="hzType"> <el-radio-group v-model="form.hzType"> @@ -213,34 +98,15 @@ <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-form-item label="閫夋嫨绉戝" v-if="form.hzType == '1'" style="margin-top: 22px"> + <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-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> @@ -257,56 +123,27 @@ </div> </el-dialog> - <el-dialog - :title="title" - :visible.sync="foropen" - width="1000px" - append-to-body - > + <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 :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-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 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 type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea"> </el-input> <div style="padding: 10px 10px"> <el-button type="primary" @click="submitFormreply">鍥炲</el-button> @@ -319,12 +156,7 @@ </div> --> </el-dialog> - <el-dialog - title="濉啓鏄惁閲嶅ぇ闃虫��" - :visible.sync="checkval" - width="800px" - append-to-body - > + <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> @@ -345,18 +177,8 @@ </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-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> @@ -370,51 +192,31 @@ </div> </el-dialog> - <el-dialog - title="PDF 棰勮" - :visible.sync="dialogVisible" - :close-on-click-modal="false" - > + <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> + <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 + height:70px; margin: 10px 10px; - margin-bottom:10px + margin-bottom:10px; border: 1px solid #dfe6ec; border-collapse: collapse; font-size:16px - " - cellspacing="4" - > + " cellspacing="4"> <caption style="background-color: #f8f8f9; font-size: 18px"> 濉啓{{ - tableAll.cusName - }}鐨勪綋妫�璧勬枡 + 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"> @@ -426,30 +228,21 @@ <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"> - {{ tableAll.cusSex }} + {{ 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 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"> @@ -460,69 +253,38 @@ </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 - > + <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 - > + <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> <el-row> - <el-col :span="18"> + <el-col v-show="baogaoqian"> <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" - > + <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"> + <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" fixed="left"> <!-- <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> + <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 - > + <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> </template> </el-table-column> <el-table-column prop="project.proMetering" label="鍗曚綅"> @@ -534,136 +296,76 @@ </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> + <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" - > + <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" - > + <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" - /> + <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> + <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=" + <table style=" width: 96%; margin: 4px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; - " - cellspacing="4" - > + " cellspacing="4"> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td - 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" - > + <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 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" - > + <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 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" - > + <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> + <div style="margin: 0 0px 10px 15px"> + <el-button type="primary" @click="propoChange" + >蹇嵎寤鸿</el-button + > + <el-button type="primary" @click="proposalChange" + >鐢熸垚寤鸿</el-button + > + </div> + <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="proParentList.remark" rows="7"> </el-input> </td> </tr> @@ -676,19 +378,162 @@ v-hasPermi="['system:notice:add']" v-show="tjStatus == '1'" >浼氳瘖鐢宠</el-button> --> - <el-button - type="primary" - @click="determine" - v-show="tjStatus == '0'" - >鎻� 浜�</el-button - > + <el-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button> </div> </div> + </el-tab-pane> + </el-tabs> + </template> + <!-- <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-col> - <el-col :span="6"> - <Historicalreport - :reportHistorydata="reportHistorydata" - ></Historicalreport> + <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"> + <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" fixed="left"> + <!-- <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"> + <div style="margin: 0 0px 10px 15px"> + <el-button type="primary" @click="propoChange" class="height:100px" + >蹇嵎寤鸿</el-button + > + <el-button type="primary" @click="proposalChange" + >鐢熸垚寤鸿</el-button + > + </div> + <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-tab-pane> + </el-tabs> + </template> + <!-- <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-col> + <el-col :span="6" style="margin-top: 15px"> + <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata"></Historicalreport> </el-col> </el-row> @@ -734,11 +579,24 @@ </div> --> </el-drawer> <Public ref="aaa" :row="row" @add="handleChanges" /> + + <el-dialog title="鎻愮ず" :visible.sync="jianqians" width="1000px" :before-close="handleClose1"> + <jianqianwenzhen :jianqianwenzhendata="jianqianwenzhendata" v-if="flags"></jianqianwenzhen> + <span slot="footer" class="dialog-footer"> + <el-button @click="jianqians = false">鍙� 娑�</el-button> + </span> + </el-dialog> + <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" /> + <createproposal ref="createproposal" :creatobj="creatobj" :textarea1="proParentList.remark" /> </div> </template> <script> +import proposal from "@/components/proposal"; +import createproposal from "@/components/createproposal"; +import { getInfoById } from "@/api/hosp/history"; +import jianqianwenzhen from "@/components/jianqianwenzhen"; import Public from "@/components/public"; import { getPdf } from "@/api/hosp/order"; import { getInfo } from "@/api/login"; @@ -761,9 +619,19 @@ export default { dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"], name: "check", - components: { Public, Historicalreport }, + components: { Public, Historicalreport, jianqianwenzhen,createproposal,proposal }, data() { return { + creatobj:{}, + dataText: [], + propform: {}, + cusobj: {}, + baogaoqian: true, + baogaohou: false, + flags: false, + lishi: false, + jianqianwenzhendata: [], + jianqians: false, selected: false, checkval: false, // 閬僵灞� @@ -838,6 +706,7 @@ deptId: "", userId: "", nickName: "", + doctorNames: "", date: new Date(new Date().getTime() + 8 * 3600 * 1000) .toJSON() .substr(0, 19) @@ -850,8 +719,15 @@ type: "", name: null, }, + queryParam: { + page: 1, + pageSize: 1000, + + }, rules: { - hzType: [{ required: true, message: "", trigger: "change" }], + hzType: [ + { required: true, message: "浼氳瘖绉戝涓哄繀濉」", trigger: "change" }, + ], }, }; }, @@ -883,9 +759,15 @@ methods: { /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getListUser() { - listUser(this.addDateRange(this.queryParams, this.dateRange)).then( + listUser().then( (response) => { this.userList = response.rows; + this.userList.forEach((element) => { + const userName = this.$store.state.user.name; + if (userName == element.userName) { + this.doctorName = element.nickName; + } + }); } ); getInfo().then((response) => { @@ -897,6 +779,9 @@ }, handleClose() { this.$tab.refreshPage(); + }, + handleClose1() { + this.jianqians = false; }, // 鑾峰彇鍖荤敓 selName(val) { @@ -1049,11 +934,60 @@ } }); }, + hb() { + if (this.queryParams.tjNumber != "") { + this.submitForm(); + } + }, + propoChange() { + this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 }; + this.$refs.proposal.open = true; + this.$refs.proposal.title = "寤鸿鏂规"; + // this.$refs.proposal.getList(); + }, + eventchange(data) { + this.dataText = data + data.forEach((item) => { + this.proParentList.remark += item.advice; + }); + }, + proposalChange() { + if (this.proParentList.remark) { + this.creatobj = {proParentList:this.proParentList.remark, isZj: 1} + this.$refs.createproposal.open = true; + this.$refs.createproposal.title = "甯哥敤寤鸿缁存姢"; + }else{ + this.$message({ + type: "warning ", + message: "璇峰厛濉啓鎬绘寤鸿", + }); + } + }, // 鎼滅储 submitForm() { this.queryParams.page = 1; - this.getList(); + this.loading = true; + this.queryParams.type = this.tjStatus; + getProList(this.queryParams).then((response) => { + if (response.code == 200) { + this.loading = false; + if (response.data) { + if (response.data.date) { + this.tableList = response.data.date; + this.queryParams.tjNumber = "" + } else { + this.tableList = response.data.customers; + this.queryParams.tjNumber = "" + } + this.total = response.data.total; + } else { + this.tableList = []; + } + } + }); + + // this.loading = true; // (this.queryParams = { // page: 1, @@ -1085,6 +1019,9 @@ resetQuery() { this.resetForm("tableList"); this.submitForm(); + this.$nextTick(() => { + this.$refs.inputName.focus(); + }); }, Changeapplyfor(row) { @@ -1170,10 +1107,19 @@ hadleedit(row) { 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() { - console.log(this.form); let data = {}; this.userList.forEach((item1) => { if (this.form.hzDoctorId == item1.userId) { @@ -1181,36 +1127,49 @@ } }); 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, - }; - } + // 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("淇敼鎴愬姛"); @@ -1220,15 +1179,30 @@ } }); } else { - addHzlog(data).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鐢宠鎴愬姛"); - this.form = {}; - this.Hzlog(); - this.radioChange(1); - } - }); - this.open = false; + 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("璇烽�夋嫨浼氳瘖绉戝"); + } } } }); @@ -1246,6 +1220,8 @@ this.Hzlog(this.tableAll.tjNumber); }, historicalreport() { + this.baogaoqian = false; + this.baogaohou = true; this.loading = true; let data = { cusId: this.tableAll.cusId, @@ -1255,7 +1231,20 @@ if (res.data[0] != null) { this.reportHistorydata = res.data; } + if (this.reportHistorydata.length >= 1) { + this.lishi = true; + } else { + this.lishi = true; + this.$modal.msgError("鏆傛棤鍘嗗彶鎶ュ憡"); + } }); + }, + + jianqian() { + this.flags = true; + this.jianqians = true; + let tjNumber = this.tableAll.tjNumber; + this.jianqianwenzhendata.push(tjNumber); }, handlecan(row) { @@ -1343,12 +1332,15 @@ this.loading = true; this.drawer = true; this.tableAll = row; - if (this.tableAll.cusSex === 0) { - this.tableAll.cusSex = "鐢�"; - } - if (this.tableAll.cusSex === 1) { - this.tableAll.cusSex = "濂�"; - } + // if (this.tableAll.cusSex === 0) { + // this.tableAll.cusSex = "鐢�"; + // } + // 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) => { @@ -1405,6 +1397,7 @@ }; getParentId(data).then((response) => { this.proParentList = response.data; + this.loading = false; this.value = []; if (this.proParentList.xiaoJieIds != null) { @@ -1415,9 +1408,16 @@ }); } } - 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 (userName == element.userName) { + this.doctorName = element.nickName; + } + }); + } if (item.isReturn == 1) { item.isReturn = true; @@ -1469,6 +1469,198 @@ }); } }); + }, + + handleTabClick(tab, event) { + // console.log(tab, event); + // console.log(tab.name); + this.Parent.forEach(item => { + if (tab.name == item.proId) { + this.Parentcheck = item; + } + }) + + this.$confirm( + "妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�", + "纭淇℃伅", + { + distinguishCancelAndClose: true, + confirmButtonText: "鎻愪氦", + cancelButtonText: "涓嶄繚瀛橈紝绂诲紑", + } + ) + .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) => { + if (item1 === item) { + item = item1; + } + // if (item.isReturn == true) { + // item.isReturn = 1; + // } + // if (item.isReturn == false) { + // item.isReturn = 0; + // } + }); + } + this.tjOrderDetail.push({ + 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 = item.proName; + this.nums = tab.name; + this.proId = tab.name; + var data = { + tjNumber: this.tjNumber, + proParentId: this.nums, + }; + getParentId(data).then((response) => { + this.proParentList = response.data; + 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 (this.doctorName == null) { + this.userList.forEach((element) => { + const userName = this.$store.state.user.name; + if (userName == element.userName) { + this.doctorName = element.nickName; + } + }); + } + 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 === tab.name) { + this.remark = this.Parentcheck.remark; + } + }); + } else { + this.remark = ""; + } + }); + + getDeptAdvice(this.proId).then((response) => { + this.deptAdviceList = response.data; + }); + }) + .catch((action) => { + if(action === "cancel"){ + this.$message({ + type: "warning", + message: "鏀惧純淇濆瓨骞剁寮�", + }); + } + + this.proName = this.Parentcheck.proName; + this.nums = tab.name; + this.proId = tab.name; + let data = { + tjNumber: this.tjNumber, + proParentId: this.nums, + }; + getParentId(data).then((response) => { + this.proParentList = response.data; + 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 (this.doctorName == null) { + this.userList.forEach((element) => { + const userName = this.$store.state.user.name; + if (userName == element.userName) { + this.doctorName = element.nickName; + } + }); + } + 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 === tab.name) { + this.remark = this.Parentcheck.remark; + } + }); + } else { + this.remark = ""; + } + }); + + getDeptAdvice(this.proId).then((response) => { + this.deptAdviceList = response.data; + }); + }); }, // 鎸夐挳鐐瑰嚮浜嬩欢 @@ -1553,6 +1745,14 @@ } 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 (userName == element.userName) { + this.doctorName = element.nickName; + } + }); + } if (item.isReturn == 1) { item.isReturn = true; } @@ -1583,10 +1783,12 @@ }); }) .catch((action) => { - this.$message({ - type: "info", - message: action === "cancel" ? "鏀惧純淇濆瓨骞剁寮�" : "鍋滅暀鍦ㄥ綋鍓嶉〉闈�", + if(action === "cancel"){ + this.$message({ + type: "warning", + message: "鏀惧純淇濆瓨骞剁寮�", }); + } this.proName = item.proName; this.nums = proParentId; this.proId = proParentId; @@ -1607,6 +1809,14 @@ } 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 (userName == element.userName) { + this.doctorName = element.nickName; + } + }); + } if (item.isReturn == 1) { item.isReturn = true; } @@ -1701,7 +1911,7 @@ }, }; </script> -<style > +<style> .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; @@ -1747,6 +1957,14 @@ .pag1 { width: 30%; } -</style> +.el-message { + top: 40px !important; + border: 1px solid #c1c1c1; + background-color: #c1c1c1; +} +.el-message * { + color: var(--white) !important; +} +</style> -- Gitblit v1.8.0