From 1e4a70437b5e2f7bd027ebc4081c22b315da3025 Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期五, 26 四月 2024 16:13:58 +0800 Subject: [PATCH] qxtj --- src/views/doctor/checkAll/index.vue | 1423 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 1,153 insertions(+), 270 deletions(-) diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index bc52df5..f1043aa 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -1,24 +1,77 @@ <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: 120px" placeholder="璇疯緭鍏ュ鍚�" clearable @keyup.enter.native="handleQuery"></el-input> + <el-input + v-model="queryParams.name" + style="width: 120px" + 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: 180px" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable @keyup.enter.native="handleQuery"></el-input> + <el-input + ref="inputName" + v-model="queryParams.tjNumber" + style="width: 180px" + placeholder="璇疯緭鍏ヤ綋妫�鍙�" + clearable + @keyup.enter.native="submitForm" + @blur="hb" + ></el-input> </el-form-item> <el-form-item label="浣撴鏃堕棿" prop="tjTime"> - <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions" style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :default-time="['00:00:00', '23:00:00']" format="yyyy-MM-dd HH:mm" - value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1"> - </el-date-picker> </el-form-item> - <el-form-item label="鍗曚綅鍚嶇О" prop="tjCompName" style="margin-left: 20px;"> - <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" style="width: 180px" remote filterable placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @change="searchSelect"> - <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict"/> + <el-date-picker + v-model="startTime" + type="datetimerange" + align="right" + :picker-options="pickerOptions" + style="width: 310px" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + :default-time="['00:00:00', '23:00:00']" + format="yyyy-MM-dd HH:mm" + value-format="yyyy-MM-dd HH:mm" + @change="dateChangebirthday1" + > + </el-date-picker> + </el-form-item> + <el-form-item + label="鍗曚綅鍚嶇О" + prop="tjCompName" + style="margin-left: 20px" + > + <el-select + :remote-method="getRemoteData" + v-model="queryParams.tjCompName" + value-key="drugManufacturerId" + style="width: 180px" + remote + filterable + placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" + clearable + @change="searchSelect" + > + <el-option + v-for="dict in CompanyList" + :key="dict.drugManufacturerId" + :label="dict.cnName" + :value="dict" + /> </el-select> </el-form-item> <el-form-item> - <el-button type="primary" size="mini" @click="submitForm">鎼滅储</el-button> - <el-button size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button type="primary" size="mini" @click="submitForm" + >鎼滅储</el-button + > + <el-button size="mini" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> @@ -56,7 +109,7 @@ width="100px" fixed="left" /> - + <el-table-column label="鎬у埆" align="center" @@ -85,7 +138,7 @@ :show-overflow-tooltip="true" width="130px" /> - + <el-table-column label="浣撴鏃堕棿" align="center" @@ -117,7 +170,14 @@ prop="tjCompName" :show-overflow-tooltip="true" /> - + <el-table-column label="浣撴绫诲埆" align="center" prop="tjCategory"> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.dict_tjtype" + :value="scope.row.tjCategory" + /> + </template> + </el-table-column> <el-table-column label="鎿嶄綔" align="center" width="90px" fixed="right"> <template slot-scope="scope"> <el-button @@ -132,9 +192,7 @@ <el-button type="text" size="mini" - @click=" - viewReport(scope.row); - " + @click="viewReport(scope.row)" v-if="scope.row.tjStatus == '1'" title="棰勮" icon="el-icon-view" @@ -198,7 +256,13 @@ 鎬у埆锛� </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"> @@ -217,217 +281,740 @@ </tr> </table> </div> + <div> + <el-row> + <el-col :span="18"> + <div style="margin: 10px 10px"> + <el-radio-group + v-model="tjproject" + @input="radiotjprojectChange" + style="margin-left: 20px" + > + <el-radio-button label="0">浣撴椤圭洰</el-radio-button> + <el-radio-button label="1">鍖栭獙椤圭洰</el-radio-button> + </el-radio-group> + </div> + </el-col> + <el-col :span="6"> + <div style="margin-right: 10px; display: flex"> + <div style="margin: 10px 2px"> + <el-button type="primary" size="mini" @click="Graphicreport()" + >鍥炬枃鎶ュ憡</el-button + > + </div> + <div style="margin: 10px 5px"> + <el-button + type="primary" + size="mini" + @click="historicalreport()" + >鍘嗗彶鎶ュ憡</el-button + > + </div> + <div style="margin: 10px 5px" v-if="tableAll.tjCategory == '02'"> + <el-button type="primary" size="mini" @click="medicalhistory()" + >鑱屼笟鐥呭彶</el-button + > + </div> + <div style="margin: 10px 5px"> + <el-button type="primary" size="mini" @click="jianqian()" + >妫�鍓嶉棶璇�</el-button + > + </div> + </div> + </el-col> + </el-row> + </div> - <div style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)"> - <table - style=" - width: 96%; - margin: 10px 10px; - border: 1px solid #dfe6ec; - border-collapse: collapse; - " - cellspacing="4" - v-for="(item, index) in changedate" - :key="index" - > - <caption style="background-color: #f8f8f9"> - {{ - item.parent - }} - </caption> - <tr - style="border: 1px solid #dfe6ec; border-collapse: collapse" - align="center" + <el-row> + <el-col :span="18"> + <div + style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)" > - <th + <table style=" + width: 96%; + margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; - width: 200px; " + cellspacing="4" + v-for="(item, index) in changedate" + :key="index" > - 妫�娴嬮」鐩� - </th> - <th - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - 妫�娴嬬粨鏋� - </th> - <th - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - 鍗曚綅 - </th> - <th - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - 鍙傝�冭寖鍥� - </th> - </tr> + <caption style="background-color: #f8f8f9"> + {{ + item.parent || "" + }} + </caption> + <tr + style="border: 1px solid #dfe6ec; border-collapse: collapse" + align="center" + > + <th + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + 妫�娴嬮」鐩� + </th> + <th + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + 妫�娴嬬粨鏋� + </th> + <th + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + 鍗曚綅 + </th> + <th + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + 鍙傝�冭寖鍥� + </th> + </tr> - <tr - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - height: 35px; - text-align: center; - " - v-for="item1 in item.sons" - :key="item1.proId" - > - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - {{ item1.project.proName }} - </td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - {{ item1.proResult }} - <!-- <el-input v-model="item1.proResult" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> --> - </td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - {{ item1.standard.company }} - </td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - {{ - item1.standard.tjStandardGtValue + - "-" + - item1.standard.tjStandardLtValue - }} - </td> - </tr> - <tr - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - <td>灏忕粨锛�</td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - <el-input v-model="item.parentAdvice" disabled></el-input> - <!-- <el-select v-model="item.value" multiple filterable placeholder="璇烽�夋嫨" style="width: 100%" @change="xiAoJieChange($event, item)"> + <tr + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + height: 35px; + text-align: center; + " + v-for="item1 in item.sons" + :key="item1.proId" + > + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + v-if="item1.project != null" + > + {{ item1.project.proName || "" }} + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + v-else + > + {{ item1.proName }} + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + {{ item1.proResult }} + <!-- <el-input v-model="item1.proResult" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> --> + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + v-if="item1.project != null" + > + {{ item1.standard.company }} + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + v-else + > + {{ item1.proAdvice }} + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + v-if="item1.project != null" + > + {{ + item1.standard.tjStandardGtValue + + "-" + + item1.standard.tjStandardLtValue + }} + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + v-else + > + {{ item1.stanId }} + </td> + </tr> + <tr + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + <td>灏忕粨锛�</td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + <el-input v-model="item.remark" disabled></el-input> + <!-- <el-select v-model="item.value" multiple filterable placeholder="璇烽�夋嫨" style="width: 100%" @change="xiAoJieChange($event, item)"> <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id"> </el-option> </el-select> --> - </td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - 涓绘鍖诲笀锛� - </td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - {{ item.doctorName }} - </td> - </tr> - <tr - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - > - 澶囨敞锛� - </td> - <td - style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - " - colspan="2" - > - <textarea - placeholder="璇疯緭鍏ュ唴瀹�" - :autosize="{ minRows: 2, maxRows: 2 }" - style="width: 100%; height: 100%" - v-model="changedate[index].remark" - v-on:input="change" - ></textarea> - <!-- <el-input type="textarea" autosize > + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + 涓绘鍖诲笀锛� + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + {{ item.doctorName }} + </td> + </tr> + <tr + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + > + 澶囨敞锛� + </td> + <td + style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + " + colspan="2" + > + <textarea + placeholder="璇疯緭鍏ュ唴瀹�" + :autosize="{ minRows: 2, maxRows: 2 }" + style="width: 100%; height: 100%" + v-model="changedate[index].remark" + v-on:input="change" + ></textarea> + <!-- <el-input type="textarea" autosize > </el-input> --> - </td> - </tr> - </table> - <el-form - ref="numberValidateForm" - label-width="80px" - class="demo-ruleForm" - > - <el-form-item label="鎬绘寤鸿"> - <el-input - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="textarea1" - :rows="3" - style="width: 96%" + </td> + </tr> + </table> + <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-form + ref="numberValidateForm" + label-width="80px" + class="demo-ruleForm" > - </el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footers"> - <el-button type="primary" @click="determine" :disabled="isdisabled" - >鎻愪氦骞剁敓鎴愭姤鍛�</el-button - > - </div> - </div> + <el-form-item label="鎬绘寤鸿"> + <el-input + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="textarea1" + :rows="3" + style="width: 96%" + > + </el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footers" v-if="tjproject == '0'"> + <el-button + type="primary" + @click="determine" + :disabled="isdisabled" + >鎻愪氦骞剁敓鎴愭姤鍛�</el-button + > + </div> + </div> + </el-col> + <el-col :span="6"> + <div v-if="hosproy"> + <Historicalreport + :reportHistorydata="reportHistorydata" + ></Historicalreport> + </div> + + <div class="hist3" v-if="wenzhen"> + <span class="txt">闂瘖淇℃伅</span> + <el-form + ref="form" + :model="formobj" + label-width="100px" + :inline="true" + size="mini" + > + <el-collapse class="coll" v-model="activeName" accordion> + <el-collapse-item + class="coll" + title="鍩烘湰淇℃伅" + name="1" + style="width: 100%; font-weight: 600" + > + <div style="width: 100%"> + <el-form-item label="濮撳悕" prop="cusName"> + <el-input + disabled + v-model="formobj.cusName" + placeholder="璇疯緭鍏ュ鍚�" + /> + </el-form-item> + <el-form-item label="鑱屼笟" prop="work"> + <el-select + filterable + v-model="formobj.work" + placeholder="璇烽�夋嫨鑱屼笟" + clearable + style="width: 150px" + disabled + > + <el-option + v-for="dict in dict.type.tj_work" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="宸ヤ綔鐘舵��" prop="workStatus"> + <el-select + disabled + filterable + v-model="formobj.workStatus" + placeholder="璇烽�夋嫨宸ヤ綔鐘舵��" + clearable + style="width: 150px" + > + <el-option + v-for="dict in dict.type.tj_work_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison"> + <el-input + disabled + type="textarea" + rows="4" + v-model="formobj.contactPoison" + placeholder="璇疯緭鍏ユ帴瑙︽瘨鐗�" + style="width: 700px" + /> + </el-form-item> + <el-form-item label="鏃㈠線鐥呭彶" prop="medicalHistory"> + <el-input + disabled + type="textarea" + rows="4" + v-model="formobj.medicalHistory" + placeholder="璇疯緭鍏ユ棦寰�鐥呭彶" + style="width: 700px" + /> + </el-form-item> + </div> + </el-collapse-item> + <el-collapse-item title="鏈堢粡鍙�" name="2" v-show="sex"> + <div style="width: 100%"> + <el-form-item label="鍒濇疆(宀�)" prop="chuchao"> + <el-input + v-model="formobj.chuchao" + style="width: 70px" + disabled + /> + </el-form-item> + <el-form-item label="缁忔湡" prop="jingqi"> + <el-input + v-model="formobj.jingqi" + disabled + style="width: 70px" + />澶� + </el-form-item> + <el-form-item label="鍛ㄦ湡" prop="zhouqi"> + <el-input + v-model="formobj.zhouqi" + disabled + style="width: 70px" + />澶� + </el-form-item> + <el-form-item label="鏈鏈堢粡" prop="mociage"> + <el-input + v-model="formobj.mociage" + disabled + style="width: 100px" + /> + </el-form-item> + </div> + </el-collapse-item> + <el-collapse-item title="鐢熻偛鍙�" name="3" v-show="sex"> + <div style="width: 100%"> + <el-form-item label="鐜版湁瀛愬コ(浜�)" prop="zinv"> + <el-input + v-model="formobj.zinv" + style="width: 70px" + disabled + /> + </el-form-item> + <el-form-item label="娴佷骇(娆�)" prop="liuchan"> + <el-input + v-model="formobj.liuchan" + style="width: 70px" + disabled + /> + </el-form-item> + <el-form-item label="鏃╀骇(娆�)" prop="zaochan"> + <el-input + v-model="formobj.zaochan" + style="width: 70px" + disabled + /> + </el-form-item> + <el-form-item label="姝讳骇(娆�)" prop="sichan"> + <el-input + v-model="formobj.sichan" + style="width: 70px" + disabled + /> + </el-form-item> + <el-form-item label="寮傚父鑳�(娆�)" prop="yichangtai"> + <el-input + v-model="formobj.yichangtai" + style="width: 70px" + disabled + /> + </el-form-item> + </div> + </el-collapse-item> + <el-collapse-item title="鐑熼厭鍙�" name="4"> + <div style="width: 100%"> + <el-form-item label="鏄惁鍚哥儫" prop="xiyan"> + <!-- <el-input v-model="form.xiyanpinlv" placeholder="璇疯緭鍏ュ惛鐑熼鐜�" /> --> + <el-select + disabled + filterable + v-model="formobj.xiyan" + placeholder="璇烽�夋嫨鏄惁鍚哥儫" + clearable + style="width: 150px" + > + <el-option + v-for="dict in dict.type.tj_smoking_pinlv" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="鍚哥儫棰戠巼" prop="xiyanpinlv"> + <el-input + v-model="formobj.xiyanpinlv" + disabled + style="width: 70px" + />鏀�/澶� + </el-form-item> + <el-form-item label="鍚哥儫鏃堕棿" prop="xiyanyear"> + <el-input + v-model="formobj.xiyanyear" + disabled + style="width: 70px" + />骞� </el-form-item + ><br /> + <el-form-item label="鏄惁楗厭" prop="yinjiu"> + <!-- <el-input v-model="form.yinjiupinlv" placeholder="璇疯緭鍏ラギ閰掗鐜�" /> --> + <el-select + filterable + v-model="formobj.yinjiu" + disabled + placeholder="璇烽�夋嫨鏄惁楗厭" + clearable + style="width: 150px" + > + <el-option + v-for="dict in dict.type.tj_smoking_pinlv" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="楗厭棰戠巼" prop="yinjiupinlv"> + <el-input + v-model="formobj.yinjiupinlv" + disabled + style="width: 70px" + />ml/澶� + </el-form-item> + <el-form-item label="楗厭鏃堕棿" prop="yinjiuyear"> + <el-input + v-model="formobj.yinjiuyear" + disabled + style="width: 70px" + />骞� + </el-form-item> + <el-form-item label="鍏朵粬" prop="qita"> + <el-input + v-model="formobj.qita" + placeholder="璇疯緭鍏ュ叾浠�" + disabled + type="textarea" + style="width: 600px" + rows="2" + /> + </el-form-item> + </div> + </el-collapse-item> + <el-collapse-item title="鎬ユ參鎬ц亴涓氱梾鍙蹭俊鎭�" name="5"> + <div style="width: 100%"> + <el-table + border + :data="formobj.tjAskHistorysList" + ref="tjAskHistorys" + style="width: 98%" + > + <el-table-column + type="selection" + width="40" + align="center" + /> + <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName"> + <template slot-scope="scope"> + <el-input + size="mini" + disabled + v-model="scope.row.diseaseName" + placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" + /> + </template> + </el-table-column> + <el-table-column label="璇婃柇鏃ユ湡" prop="diseaseData"> + <template slot-scope="scope"> + <el-date-picker + size="mini" + v-model="scope.row.diseaseData" + align="right" + type="date" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" + style="width: 130px" + value-format="yyyy-MM-dd" + > + </el-date-picker> + </template> + </el-table-column> + <el-table-column label="璇婃柇鍗曚綅" prop="diseaseCompany"> + <template slot-scope="scope"> + <el-input + size="mini" + disabled + v-model="scope.row.diseaseCompany" + placeholder="璇疯緭鍏ヨ瘖鏂崟浣�" + /> + </template> + </el-table-column> + <el-table-column label="鏄惁鐥婃剤" prop="isOk"> + <template slot-scope="scope"> + <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> --> + <el-select + disabled + filterable + size="mini" + v-model="scope.row.isOk" + placeholder="璇烽�夋嫨鏄惁鐥婃剤" + clearable + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </template> + </el-table-column> + <el-table-column label="澶囨敞" prop="remark"> + <template slot-scope="scope"> + <el-input + disabled + size="mini" + v-model="scope.row.remark" + placeholder="璇疯緭鍏ュ娉�" + /> + </template> + </el-table-column> + </el-table> + </div> + </el-collapse-item> + + <el-collapse-item title="鑱屼笟鍙�" name="7"> + <div style="width: 100%"> + <el-table + border + :data="formobj.workLogs" + style="width: 98%" + > + <el-table-column + type="selection" + width="40" + align="center" + /> + <el-table-column label="寮�濮嬫椂闂�" prop="beginTime"> + <template slot-scope="scope"> + <el-date-picker + size="mini" + v-model="scope.row.beginTime" + align="right" + type="date" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" + style="width: 130px" + value-format="yyyy-MM-dd" + > + </el-date-picker> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃堕棿" prop="endTime"> + <template slot-scope="scope"> + <el-date-picker + size="mini" + disabled + v-model="scope.row.endTime" + align="right" + type="date" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" + style="width: 130px" + value-format="yyyy-MM-dd" + > + </el-date-picker> + </template> + </el-table-column> + <el-table-column label="宸ヤ綔鍗曚綅" prop="workCompany"> + <template slot-scope="scope"> + <el-input + size="mini" + disabled + v-model="scope.row.workCompany" + placeholder="璇疯緭鍏ュ伐浣滃崟浣�" + /> + </template> + </el-table-column> + <el-table-column label="閮ㄩ棬" prop="workDept"> + <template slot-scope="scope"> + <el-input + disabled + size="mini" + v-model="scope.row.workDept" + placeholder="璇疯緭鍏ラ儴闂�" + /> + </template> + </el-table-column> + <el-table-column label="宸ョ" prop="workType"> + <template slot-scope="scope"> + <el-input + disabled + size="mini" + v-model="scope.row.workType" + placeholder="璇疯緭鍏ュ伐绉�" + /> + </template> + </el-table-column> + <el-table-column label="鏈夊鍥犵礌" prop="harmTypeLogs"> + <template slot-scope="scope"> + <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> --> + <el-select + filterable + disabled + size="mini" + v-model="scope.row.harmTypeLogs" + multiple + placeholder="璇烽�夋嫨鏈夊鍥犵礌" + clearable + > + <el-option + v-for="dict in harmTypeList" + :key="dict.aid" + :label="dict.harmtype" + :value="dict.aid" + /> + </el-select> + </template> + </el-table-column> + <el-table-column label="闃叉姢鎺柦" prop="fangHu"> + <template slot-scope="scope"> + <el-input + disabled + size="mini" + v-model="scope.row.fangHu" + placeholder="璇疯緭鍏ラ槻鎶ゆ帾鏂�" + /> + </template> + </el-table-column> + </el-table> + </div> + </el-collapse-item> + </el-collapse> + </el-form> + </div> + </el-col> + </el-row> </el-drawer> <el-dialog @@ -445,38 +1032,101 @@ ></iframe> </div> </el-dialog> + <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> + <Packages ref="bbb" :baogao="baogao" /> + <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" /> + <createproposal ref="createproposal" :creatobj="creatobj" /> + + <el-dialog + title="甯哥敤寤鸿缁存姢" + :visible.sync="propdialog" + width="500px" + append-to-body + > + </el-dialog> </div> </template> <script> +import jianqianwenzhen from "@/components/jianqianwenzhen"; +import Packages from "@/components/Packages"; +import proposal from "@/components/proposal"; +import createproposal from "@/components/createproposal"; import { getcheckList, getTjdetailList, getupdateCheckType, + getupdateCheckTypeHuaYan, getModifiedState, getfiedState, getState, getforceIn, gettoPdf, getModified, + isPdfOrJimu, } from "@/api/doctor/checkAll"; +import { getInfoById } from "@/api/hosp/history"; import { getInfo } from "@/api/login"; import { getCompany, queryCompany } from "@/api/team/tuanti"; -// import { getDeptAdvice } from "@/api/doctor/check"; +import { reportHistory } from "@/api/doctor/check"; import { getPdf, revoke } from "@/api/hosp/order"; import ViewPdf from "@/components/ViewPdf"; - +import Historicalreport from "@/components/Historicalreport"; +import { getDicts } from "@/api/system/dict/data"; +import { getTjYxjcList } from "@/api/system/package"; +import { getNewDateList } from "@/api/hosp/order"; +import moment from "moment"; export default { components: { ViewPdf, + Historicalreport, + jianqianwenzhen, + Packages, + proposal, + createproposal, }, + dicts: [ + "dict_tjtype", + "sys_user_sex", + "sys_yes_no", + "tj_result_type", + "lj_positive", + "tj_work", + "tj_work_status", + "tj_smoking_pinlv", + "tj_work", + ], name: "checkAll", data() { return { + baogao: [], + flags: false, + jianqianwenzhendata: [], + jianqians: false, + sex: true, + activeName: "1", + wenzhen: false, + hosproy: true, remarks: "", remark: "", + creatobj:{}, + propdialog: false, proIds: "", + cusobj: {}, xiaojie: "", isdisabled: false, dialogVisible: false, @@ -486,6 +1136,7 @@ flag: true, bill: null, numberList: [], + reportHistorydata: [], dialogVisible: false, pickerOptions: { shortcuts: [ @@ -522,9 +1173,10 @@ checkList: [], // 缁戝畾鍗曢�夋寜閽� tjStatus: "0", + tjproject: "0", total: 0, - value2: [], CompanyList: [], + Testitems: [], CheckBox: {}, startTime: [], textarea1: "", @@ -541,6 +1193,7 @@ Deptobj: "", // 鐐瑰嚮鍙傛暟 changedate: [], + dataText: [], status: {}, // 鏌ヨ鍙傛暟 queryParams: { @@ -551,9 +1204,9 @@ endTime: null, compId: null, name: null, - checkStatus:null, + checkStatus: null, }, - + formobj: {}, // 鏌ヨ鍙傛暟 queryParam: { pageNum: 1, @@ -583,8 +1236,9 @@ }, created() { - this.getNowTime(); - this.getList(); + // this.getNowTime(); + + this.getdate(); }, mounted() { @@ -593,6 +1247,15 @@ }); }, methods: { + getdate() { + getNewDateList().then((res) => { + this.startTime = [ + moment(res.data).format("YYYY-MM-DD 00:00:00"), + moment(res.data).format("YYYY-MM-DD 23:59:00"), + ]; + this.getList(); + }); + }, // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡 getNowTime() { var curDate = new Date().getTime(); @@ -624,6 +1287,12 @@ this.add0(mm) ); }, + jianqian() { + this.flags = true; + this.jianqians = true; + let tjNumber = this.tableAll.tjNumber; + this.jianqianwenzhendata.push(tjNumber); + }, getList() { this.loading = true; this.queryParams.compId = this.CheckBox.drugManufacturerId; @@ -638,16 +1307,19 @@ // 椤甸潰鏁版嵁 getcheckList(this.queryParams).then((response) => { - if (response.data) { - if (response.data.date) { - this.checkList = response.data.date; - } else { - this.checkList = response.data.customers; - } + if (response.code == 200) { this.loading = false; - this.total = response.data.total; - } else { - this.checkList = []; + if (response.data) { + if (response.data.date) { + this.checkList = response.data.date; + } else { + this.checkList = response.data.customers; + } + + this.total = response.data.total; + } else { + this.checkList = []; + } } }), // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 @@ -659,24 +1331,121 @@ viewReport(row) { 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.error("鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�"); - + isPdfOrJimu(tjNumber).then((response) => { + if (response.data.flag == "0") { + 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 + } + }); } else { - this.dialogVisible = true; - - this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + let url = response.data.url; + const params = { url }; + this.$tab.openPage( + "鍋ュ悍璇佹鏌ヨ〃", + "/report/zongjianjiankangzheng", + params + ); + } + }); + }, + + Graphicreport() { + let dictType = "dict_ageunit"; + getDicts(dictType).then((res) => { + if (res.code == 200) { + res.data.forEach((item) => { + if (this.tableAll.age_unit == item.dictValue) { + this.tableAll.age_unit = item.dictLabel; + } + }); + let dictTypes = "sys_user_sex"; + getDicts(dictTypes).then((res) => { + if (res.code == 200) { + res.data.forEach((item) => { + if (this.tableAll.cusSex == item.dictValue) { + this.tableAll.cusSex = item.dictLabel; + } + }); + let data = { + patname: this.tableAll.cusName, + sex: this.tableAll.cusSex, + patage: this.tableAll.age, + patagename: this.tableAll.age_unit, + patbirth: this.tableAll.cusBrithday, + }; + // let data = { + // patname: "鑴辫兘濞�", + // sex: "濂�", + // patage: "60", + // patagename: "宀�", + // patbirth: "1963-01-01" + // } + getTjYxjcList(data).then((res) => { + this.baogao = res.data; + }); + this.$refs.bbb.open = true; + this.$refs.bbb.title = "鎶ュ憡瀛楀吀"; + } + }); + } + }); + }, + + historicalreport() { + this.loading = true; + this.wenzhen = false; + this.hosproy = true; + let data = { + cusId: this.tableAll.cusId, + }; + reportHistory(data).then((res) => { + this.loading = false; + if (res.data[0] != null) { + this.reportHistorydata = res.data; + } else { + this.reportHistorydata = []; + } + }); + }, + + medicalhistory() { + this.wenzhen = true; + this.hosproy = false; + let tjNumber = this.tableAll.tjNumber; + getInfoById(tjNumber).then((response) => { + this.formobj = response.data; + if (this.formobj.xiyan == null) { + this.formobj.xiyan = "1"; + } + if (this.formobj.xiyanpinlv == null) { + this.formobj.xiyanpinlv = "0"; + } + if (this.formobj.xiyanyear == null) { + this.formobj.xiyanyear = "0"; + } + if (this.formobj.yinjiu == null) { + this.formobj.yinjiu = "1"; + } + if (this.formobj.yinjiupinlv == null) { + this.formobj.yinjiupinlv = "0"; + } + if (this.formobj.yinjiuyear == null) { + this.formobj.yinjiuyear = "0"; } }); }, @@ -714,6 +1483,94 @@ this.loading = false; }); }, + propoChange() { + this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 }; + this.$refs.proposal.open = true; + this.$refs.proposal.title = "寤鸿鏂规"; + // this.$refs.proposal.getList(); + }, + eventchange(data) { + this.dataText = data + data.forEach((item) => { + this.textarea1 += item.advice; + }); + }, + proposalChange() { + if (this.textarea1) { + this.creatobj = {proParentList:this.textarea1, isZj: 0} + this.$refs.createproposal.open = true; + this.$refs.createproposal.title = "甯哥敤寤鸿缁存姢"; + }else{ + this.$message({ + type: "warning ", + message: "璇峰厛濉啓鎬绘寤鸿", + }); + } + }, + radiotjprojectChange() { + if (this.tjproject == "0") { + getupdateCheckType(this.tjNumber).then((response) => { + this.changedate = response.data; + this.changedate.forEach((item) => { + this.textarea1 = item.checkAdvice; + }); + if (this.changedate) { + for (let i = 0; i < this.changedate.length; i++) { + this.remark = this.changedate[i].remark; + } + this.changedate.forEach((item) => { + // this.remark = item.remark; + item.sons.forEach((item3) => { + if (item3.standard.tjStandardGtValue === null) { + item3.standard.tjStandardGtValue = ""; + } + if (item3.standard.tjStandardLtValue === null) { + item3.standard.tjStandardLtValue = ""; + } + }); + // item.remark = ""; + }); + } else { + this.$message({ + type: "warning ", + message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", + }); + } + }); + } else if (this.tjproject == "1") { + getupdateCheckTypeHuaYan(this.tjNumber).then((res) => { + if (res.data) { + // this.Testitems = res.data + this.changedate = res.data; + this.changedate.forEach((item) => { + this.textarea1 = item.checkAdvice; + }); + if (this.changedate) { + for (let i = 0; i < this.changedate.length; i++) { + this.remark = this.changedate[i].remark; + } + this.changedate.forEach((item) => { + // this.remark = item.remark; + item.sons.forEach((item3) => { + if (item3.standard.tjStandardGtValue === null) { + item3.standard.tjStandardGtValue = ""; + } + if (item3.standard.tjStandardLtValue === null) { + item3.standard.tjStandardLtValue = ""; + } + }); + // item.remark = ""; + }); + } + } else { + this.$message({ + type: "warning ", + message: "璇ュ鎴锋病鏈夊寲楠岄」鐩暟鎹�", + }); + } + }); + } + }, // 浣撴鍏徃鎷奸煶鎼滅储 getRemoteData(query) { @@ -735,8 +1592,15 @@ this.startTime = val; }, + hb() { + if (this.queryParams.tjNumber != "") { + this.submitForm(); + } + }, + // 鎼滅储 submitForm() { + this.loading = true; this.queryParams.compId = this.CheckBox.drugManufacturerId; this.queryParams.checkStatus = this.tjStatus; if (this.startTime) { @@ -749,20 +1613,24 @@ // 椤甸潰鏁版嵁 getcheckList(this.queryParams).then((response) => { - if (response.data.customers != null) { - this.checkList = response.data.customers; - this.checkList.forEach((item) => { - this.tjStatus = item.tjStatus.toString(); - }); + if (response.code == 200) { this.loading = false; - this.total = response.data.total; - } else { - this.checkList = []; + if (response.data.customers != null) { + this.checkList = response.data.customers; + this.checkList.forEach((item) => { + this.tjStatus = item.tjStatus.toString(); + }); + + this.total = response.data.total; + } else { + this.checkList = []; + } } }); }, // 閲嶇疆 resetQuery() { + this.startTime = []; this.resetForm("tableList"); this.submitForm(); }, @@ -770,12 +1638,16 @@ // 鐐瑰嚮璇︽儏 handleClick(row) { this.tableAll = row; - if (this.tableAll.cusSex === 0) { - this.tableAll.cusSex = "鐢�"; - } - if (this.tableAll.cusSex === 1) { - this.tableAll.cusSex = "濂�"; - } + this.tjproject = "0"; + // 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 = this.tableAll.tjNumber; getState(this.tjNumber).then((res) => { this.status = res.data; @@ -793,10 +1665,10 @@ this.drawer = true; getupdateCheckType(this.tjNumber).then((response) => { this.changedate = response.data; - this.changedate.forEach((item) => { - this.textarea1 = item.checkAdvice; - }); if (this.changedate) { + this.changedate.forEach((item) => { + this.textarea1 = item.checkAdvice; + }); for (let i = 0; i < this.changedate.length; i++) { this.remark = this.changedate[i].remark; } @@ -894,10 +1766,19 @@ }, // 鎾ら攢 getRevoke(row) { + this.loading = true; const tjNumber = row.tjNumber; revoke(tjNumber).then((response) => { this.$modal.msgSuccess("鎾ゅ洖鎴愬姛"); + if (response.code == 200) { + this.loading = false; + this.getList(); + } }); + }, + + cancel() { + this.propdialog = false; }, // 鏄惁鍏抽棴寮圭獥 @@ -928,7 +1809,9 @@ getfiedState(data).then((res) => {}); }); }, - + handleClose1() { + this.jianqians = false; + }, // 鐢熸垚鎶ュ憡 // generate(row) { // const tjNumber = row.tjNumber; @@ -972,7 +1855,7 @@ id: this.MsgId, }; gettoPdf(tjNumber).then((res) => { - this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�浣撴璁板綍椤甸潰鏌ョ湅锛�"); + this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"); }); getfiedState(data).then((res) => { this.drawer = false; @@ -992,8 +1875,8 @@ ]; getModified(updateOrderRemarkVos).then((response) => {}); } - this.submitForm() - this.$forceUpdate() + this.submitForm(); + this.$forceUpdate(); // this.changedate.forEach((item) => { // this.proIds = item.parentId; // // this.remark = item.remark; -- Gitblit v1.8.0