From cb1f69717eed3b6a61b6c61a8934bac752782b2d Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期三, 05 三月 2025 17:00:38 +0800 Subject: [PATCH] 1 --- src/views/doctor/checkAll/index.vue | 2163 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 1,530 insertions(+), 633 deletions(-) diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index 8092a2f..b05ef0b 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -1,5 +1,5 @@ <template> - <div> + <div class="mainbox"> <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 @@ -22,7 +22,7 @@ </el-select> </el-form-item> <el-form-item> - <el-button type="primary" size="mini" @click="submitForm">鎼滅储</el-button> + <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">鎼滅储</el-button> <el-button size="mini" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> @@ -33,7 +33,8 @@ </el-radio-group> <template> - <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%"> + <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%" + @current-change="handleCurrentChange"> <!-- <template slot="empty">鏁版嵁姝e湪鍔犺浇涓�</template> --> <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" fixed="left" /> @@ -51,11 +52,18 @@ <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" /> <el-table-column label="鐢佃瘽" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" /> - <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" :show-overflow-tooltip="true" width="110px" /> + <!-- <el-table-column + label="浣撴鏃堕棿" + align="center" + prop="tjTime" + :show-overflow-tooltip="true" + width="110px" + /> --> + <el-table-column label="瀹℃牳鏃堕棿" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" /> <el-table-column label="瀹屾垚鏃堕棿" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" /> - <el-table-column label="鐘舵��" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="50px"> + <el-table-column label="鐘舵��" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px"> <template slot-scope="scope"> - <span>{{ scope.row.tjStatus == "1" ? "宸叉" : "鏈" }}</span> + <span>{{ scope.row.tjStatus == "1" ? "宸插鏍�" : "鏈鏍�" }}</span> </template> </el-table-column> <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="tjCompName" :show-overflow-tooltip="true" /> @@ -64,15 +72,20 @@ <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"> + <el-table-column label="鎿嶄綔" align="center" width="120px" fixed="right"> <template slot-scope="scope"> - <el-button fixed="right" title="璇︽儏" type="text" size="mini" @click="handleClick(scope.row)" - icon="el-icon-document-copy"></el-button> + <el-button fixed="right" title="璇︽儏" type="text" size="mini" @click.stop="handleClick(scope.row)" + icon="el-icon-document-copy"></el-button> + <el-button fixed="right" title="鍚屾" type="text" size="mini" @click.stop="tongbu(scope.row)" + icon="el-icon-upload2"></el-button> + <el-button fixed="right" title="澶勬柟" type="text" size="mini" @click.stop="rowClick(scope.row)" + icon="el-icon-edit-outline"></el-button> + <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">鐢熸垚</el-button> --> - <el-button type="text" size="mini" @click="viewReport(scope.row)" v-if="scope.row.tjStatus == '1'" title="棰勮" - icon="el-icon-view"></el-button> - <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="鎾ら攢" @click="getRevoke(scope.row)" - icon="el-icon-refresh-left"></el-button> + <el-button type="text" size="mini" @click.stop="viewReport(scope.row)" v-if="scope.row.tjStatus == '1'" + title="棰勮" icon="el-icon-view"></el-button> + <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="鎾ら攢" + @click.stop="getRevoke(scope.row)" icon="el-icon-refresh-left"></el-button> </template> </el-table-column> </el-table> @@ -80,16 +93,17 @@ <div class="pag"> <div class="pag1"> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" - @pagination="getList" /> + @pagination="submitForm" /> </div> </div> </template> <!-- 鐐瑰嚮寮瑰嚭妗� --> - <el-drawer title="" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="80%"> - <div style="font-size: 14px"> + <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%" + show-close="true"> + <div class="top"> <table style=" - width: 96%; + width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; @@ -99,7 +113,11 @@ tableAll.cusName }}鐨勪綋妫�璧勬枡 </caption> - <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <tr style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + height: 36px; + "> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> 濮撳悕锛� </td> @@ -110,10 +128,20 @@ 鎬у埆锛� </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"> + <tr style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + height: 36px; + "> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> 浣撴鍗曞彿锛� </td> @@ -128,421 +156,562 @@ </td> </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> + <i class="el-icon-close" @click="guanbi"></i> </div> - <el-row> - <el-col :span="18"> - <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"> - <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> + <div style="margin-right: 10px; display: flex" class="btnbox"> + <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'"> + <el-button @click="Graphicreport()" type="primary"> + <span class="vertical-text">鍥炬枃鎶ュ憡</span> + </el-button> + </div> + <div class="btn1"> + <el-button @click="historicalreport()" type="primary"><span class="vertical-text">鍘嗗彶鎶ュ憡</span></el-button> + </div> + <div v-if="tableAll.tjCategory == '02'" class="btn1"> + <el-button @click="medicalhistory()" type="primary"><span class="vertical-text">鑱屼笟鐥呭彶</span></el-button> + </div> + <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'"> + <el-button @click="jianqian()" type="primary"><span class="vertical-text">妫�鍓嶉棶璇�</span></el-button> + </div> - <tr style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - height: 35px; + <div class="btn1"> + <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">椤圭洰鎯呭喌</span></el-button> + </div> + <div class="btn1"> + <el-button @click="yichangjieguo()" type="primary"><span class="vertical-text">寮傚父缁撴灉</span></el-button> + </div> + </div> + <div class="box"> + <div class="left-container"> + <div class="left"> + <div v-for="(item, index) in changedate" :key="index"> + <div style=" 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; + background-color: #aad8df; + margin-top: 10px; "> - <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 > - </el-input> --> - </td> - </tr> - </table> - <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm"> + {{ item.parent || "" }} + </div> + <div v-if="item.xmlb == '0'"> + <el-table :data="item.sons" border style="width: 100%" :row-style="changRed" + :header-cell-style="{ background: '#aad8df' }"> + <el-table-column align="center" label="妫�娴嬮」鐩�" width="464"> + <template slot-scope="scope"> + <div>{{ scope.row.proName }}</div> + </template> + </el-table-column> + <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="180"> + </el-table-column> + <el-table-column align="center" prop="" label="鍗曚綅"> + <template slot-scope="scope"> + <div v-if="scope.row.project != null"> + {{ scope.row.standard.company || "" }} + </div> + <div v-else>{{ scope.row.proAdvice }}</div> + </template> + </el-table-column> + <el-table-column align="center" prop="conclusion" label="寮傚父" width="180"></el-table-column> + <el-table-column align="center" prop="" label=" 鍙傝�冭寖鍥�"> + <template slot-scope="scope"> + <div v-if="scope.row.project != null"> + {{ + scope.row.standard.tjStandardGtValue || + "/" + "-" + scope.row.standard.tjStandardLtValue || + "/" + }} + </div> + <div v-else>{{ scope.row.stanId || "/" }}</div> + </template> + </el-table-column> + </el-table> + <table style="width: 100%" v-if="tjproject != '1'"> + <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <td style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 7%; + "> + 灏忕粨锛� + </td> + <td style="border: 1px solid #dfe6ec; width: 45%"> + <el-input v-model="item.remark" disabled></el-input> + </td> + <td style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 15%; + "> + 涓绘鍖诲笀锛� + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> + {{ 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: 240px; + "> + 澶囨敞锛� + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3"> + <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="changedate[index].remark" + v-on:input="change" style="width: 100%"> + </el-input> + <!-- <textarea + placeholder="璇疯緭鍏ュ唴瀹�" + :autosize="{ minRows: 2 }" + style="width: 100%; height: 240px; resize: none" + v-model="changedate[index].remark" + v-on:input="change" + ></textarea> --> + </td> + </tr> + </table> + </div> + <div v-else> + <table style="width: 100%" v-if="tjproject != '1'"> + <tr style="border: 1px solid #dfe6ec"> + <td style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 15%; + height: auto; + "> + 妫�鏌ユ墍瑙侊細 + </td> + <td style="border: 1px solid #dfe6ec; height: auto" colspan="2"> + <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.jgbx" style="width: 100%"> + </el-input> + <!-- <textarea + placeholder="璇疯緭鍏ュ唴瀹�" + :autosize="{ minRows: 3}" + style="width: 100%; height: auto; resize: none" + v-model="item.jgbx" + ></textarea> --> + </td> + </tr> + <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <td style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 15%; + "> + 妫�鏌ユ彁绀猴細 + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> + <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.remark" style="width: 100%"> + </el-input> + <!-- <textarea + + placeholder="璇疯緭鍏ュ唴瀹�" + style="width: 100%; resize: none" + v-model="item.remark" + ></textarea> --> + </td> + </tr> + <tr style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 200px; + "> + <td style=" + border: 1px solid #dfe6ec; + border-collapse: collapse; + width: 15%; + "> + 涓绘鍖诲笀锛� + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> + {{ item.doctorName }} + </td> + </tr> + </table> + </div> + </div> + + <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'"> + <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" v-if="tjproject != '1'"> <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 slot="footer" class="dialog-footers"> + <el-button type="primary" @click.stop="guanbi">鍙栨秷</el-button> + <el-button v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary" + @click.stop="rowClick" icon="el-icon-edit-outline">寮�澶勬柟</el-button> + <div v-if="tjproject == '0'"> + <el-button type="primary" @click="determine" :disabled="isdisabled">鎻愪氦骞剁敓鎴愭姤鍛�</el-button> + </div> </div> </div> - </el-col> - <el-col :span="6"> - <div v-if="hosproy"> - <Historicalreport :reportHistorydata="reportHistorydata"></Historicalreport> - </div> + </div> + <div class="rightbox"> + <div class="right"> + <template v-if="status1 == 0"> + <div v-for="(item, index) in yichangList" :key="index"> + <div style=" + text-align: center; + background-color: #67c23a; + margin-top: 10px; + "> + {{ item.proName || "" }} + </div> + <template v-if="item.jyjc == '0'"> + <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%" + :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"> + <el-table-column type="expand"> + <template slot-scope="props"> + <div style="padding: 10px;"> + <!-- 鍐呭鍖哄煙 --> + <div v-if="props.row.advices && props.row.advices.length > 0"> + <div v-for="(jianyi, index1) in props.row.advices" :key="index1" + style="margin-bottom: 10px"> + <div> + 鏍囬锛� + <el-input v-model="jianyi.bt" size="small" type="textarea" autosize></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="jianyi.nr" size="small" type="textarea" autosize></el-input> + </div> + </div> + </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> + <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> + <div v-else> + <div> + 鏍囬锛� + <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize></el-input> + </div> + </div> - <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 style="margin-top: 10px;"> + <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button> + </div> + </div> + </template> + </el-table-column> + + <el-table-column align="center" label="妫�娴嬮」鐩�" :show-overflow-tooltip="true" width="353"> + <template slot-scope="scope"> + <div>{{ scope.row.proName }}</div> + </template> + </el-table-column> + <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="85"> + </el-table-column> + + <el-table-column align="center" prop="stanId" label=" 鍙傝�冭寖鍥�" width="117"> + </el-table-column> + + <el-table-column align="center" prop="proAdvice" label="鍗曚綅" width="78"> + </el-table-column> + + </el-table> + </template> + <template v-if="item.jyjc == '1'"> + <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%" + :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"> + <el-table-column type="expand"> + <template slot-scope="props"> + <div style="padding: 10px;"> + <!-- 鍐呭鍖哄煙 --> + <div v-if="props.row.advices && props.row.advices.length > 0"> + <div v-for="(jianyi, index1) in props.row.advices" :key="index1" + style="margin-bottom: 10px"> + <div> + 鏍囬锛� + <el-input v-model="jianyi.bt" size="small" type="textarea" autosize></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="jianyi.nr" size="small" type="textarea" autosize></el-input> + </div> + </div> + </div> + + <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> + <div v-else> + <div> + 鏍囬锛� + <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize></el-input> + </div> + </div> + + + <div style="margin-top: 10px;"> + <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button> + </div> + </div> + </template> + </el-table-column> + + <el-table-column align="center" label="妫�娴嬮」鐩�" width="232" :show-overflow-tooltip="true"> + <template slot-scope="scope"> + <div>{{ scope.row.proName }}</div> + </template> + </el-table-column> + <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="403"> + </el-table-column> + </el-table> + </template> + </div> + </template> + <template v-if="status1 == 1"> + <div> + <div style=" + text-align: center; + background-color: #e6a23c; + margin-top: 10px; + "> + 椤圭洰妫�鏌ユ儏鍐� + </div> + <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%" + :header-cell-style="{ background: '#e6a23c' }"> + <el-table-column align="center" label="閮ㄩ棬" width="144" prop="deptName"> + </el-table-column> + <el-table-column align="center" prop="proName" label="椤圭洰" width="260"> + </el-table-column> + + <el-table-column label="鐘舵��" align="center" prop="type" :show-overflow-tooltip="true" width="120"> + <template slot-scope="scope"> + <span v-if="scope.row.type == '0'">鏈鏍�</span> + <span v-if="scope.row.type == '1'">宸插鏍�</span> + <span v-if="scope.row.type == '2'">寮冩</span> + <span v-if="scope.row.type == '3'">寤舵湡</span> + </template> + </el-table-column> + <el-table-column label="妫�鏌ユ椂闂�" align="center" prop="bcupdateTime" width="160" /> + </el-table> + </div> + </template> </div> - </el-col> - </el-row> + </div> + </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-drawer> - <el-dialog class="dia" title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false"> + <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false" width="50%"> <div class="main"> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> </div> @@ -554,14 +723,22 @@ </span> </el-dialog> <Packages ref="bbb" :baogao="baogao" /> + <Prescription ref="Pre" :preObj="preObj" /> + <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 Prescription from "@/components/Prescription"; +import proposal from "@/components/proposal"; +import createproposal from "@/components/createproposal"; import { getcheckList, getTjdetailList, @@ -572,27 +749,34 @@ getState, getforceIn, gettoPdf, - getModified, isPdfOrJimu + getModified, + isPdfOrJimu, + addOrder, } from "@/api/doctor/checkAll"; import { getInfoById } from "@/api/hosp/history"; import { getInfo } from "@/api/login"; import { getCompany, queryCompany } from "@/api/team/tuanti"; -import { reportHistory } from "@/api/doctor/check"; +import { reportHistory, yichang, shanchu } from "@/api/doctor/check"; import { getPdf, revoke } from "@/api/hosp/order"; +import { cSWebGetPro,dataSynchronization } from "@/api/doctor/examination"; import ViewPdf from "@/components/ViewPdf"; import Historicalreport from "@/components/Historicalreport"; import { getDicts } from "@/api/system/dict/data"; -import { - getTjYxjcList -} from "@/api/system/package"; +import { getTjYxjcList } from "@/api/system/package"; import { getNewDateList } from "@/api/hosp/order"; +import { getconfigKey } from "@/api/login"; import moment from "moment"; +import { get } from "sortablejs"; + export default { components: { ViewPdf, Historicalreport, jianqianwenzhen, - Packages + Packages, + proposal, + createproposal, + Prescription, }, dicts: [ "dict_tjtype", @@ -608,6 +792,14 @@ name: "checkAll", data() { return { + // 鏇存柊鎬绘寤鸿 + emptyAdvice: { + bt: "", + nr: "", + }, + initialTotalCheckAdvice: "", + initialState: "", + preObj: {}, baogao: [], flags: false, jianqianwenzhendata: [], @@ -618,10 +810,12 @@ hosproy: true, remarks: "", remark: "", + creatobj: {}, + propdialog: false, proIds: "", + cusobj: {}, xiaojie: "", isdisabled: false, - dialogVisible: false, src: "", url: "", userId: "", @@ -661,6 +855,9 @@ }, ], }, + msgtuwen: "", + msgjianqian: "", + msgkcf: "", // 椤甸潰鍏ㄩ儴鏁版嵁 checkList: [], // 缁戝畾鍗曢�夋寜閽� @@ -685,6 +882,7 @@ Deptobj: "", // 鐐瑰嚮鍙傛暟 changedate: [], + dataText: [], status: {}, // 鏌ヨ鍙傛暟 queryParams: { @@ -699,6 +897,8 @@ }, formobj: {}, // 鏌ヨ鍙傛暟 + yichangList: [], + statusList: [], queryParam: { pageNum: 1, pageSize: 10, @@ -723,27 +923,165 @@ tjCategory: undefined, payType: undefined, }, + status1: 0, // 0灞曠ず寮傚父1灞曠ず椤圭洰鎯呭喌 + viewportHeight: 0, + expends: [], + clearTimeSet: null, }; }, created() { // this.getNowTime(); - this.getList(); + this.getConfigKey(); this.getdate(); }, mounted() { this.$nextTick(() => { this.$refs.inputName.focus(); + this.viewportHeight = + window.innerHeight || document.documentElement.clientHeight; }); }, methods: { + setTime() { + //璁剧疆瀹氭椂鍣� + this.clearTimeSet = setInterval(() => { + this.$modal.closeLoading(); + }, 300000); + }, + tongbu(row) { + this.$modal.loading("姝e湪鍚屾锛岃绋嶅��..."); + this.setTime(); + let tjNumber = row.tjNumber; + dataSynchronization(tjNumber) + .then((res, error) => { + if (res.code == 200) { + + this.clearTimeSet = null; + this.$modal.closeLoading(); + this.$modal.msgSuccess("鍚屾鎴愬姛锛�"); + } + }) + .catch((error) => { + + this.clearTimeSet = null; + this.$modal.closeLoading(); + }); + }, + shanchu(row) { + console.log(row) + shanchu({ + id: row.orderDetailId, + }).then((res) => { + console.log(res); + // 鎵惧埌瑕佸垹闄ら」鎵�鍦ㄧ殑鐖剁骇鏁扮粍 + const parentItem = this.yichangList.find(item => + item.sone.some(soneItem => soneItem.proId === row.proId) + ); + + if (parentItem) { + // 浠庣埗绾х殑 sone 鏁扮粍涓垹闄よ椤� + const index = parentItem.sone.findIndex(item => item.proId === row.proId); + if (index > -1) { + parentItem.sone.splice(index, 1); + + // 濡傛灉鍒犻櫎鍚� sone 鏁扮粍涓虹┖,鍒欏垹闄ゆ暣涓埗绾ч」 + if (parentItem.sone.length === 0) { + const parentIndex = this.yichangList.indexOf(parentItem); + if (parentIndex > -1) { + this.yichangList.splice(parentIndex, 1); + } + } + + // 鏇存柊 expends 鏁扮粍 + this.getExpends(); + + this.$message.success('鍒犻櫎鎴愬姛'); + } + } + }) + + }, + getConfigKey() { + getconfigKey("sfkqtwbg").then((res) => { + this.msgtuwen = res.msg; + }); + getconfigKey("sfkqjqwz").then((res) => { + this.msgjianqian = res.msg; + }); + getconfigKey("kcf").then((res) => { + this.msgkcf = res.msg; + }); + }, + //璁剧疆table涓殑鎵╁睍椤癸紝灞曞紑鐨刬d锛屾澶勬垜闇�瑕佸叏閮ㄥ睍寮� + getExpends() { + // 閫氳繃flatMap灏嗘瘡涓猻one鏁扮粍涓殑ID鎻愬彇鍑烘潵锛屽苟杩斿洖涓�涓墎骞冲寲鐨処D鏁扮粍 + this.expends = this.yichangList.flatMap((item) => + item.sone.map((subItem) => subItem.proId) + ); + }, + + getRowKeys(row) { + return row.proId; + }, + // 椤圭洰鎯呭喌 + xiangmuqingkuang() { + cSWebGetPro(this.tjNumber).then((res) => { + this.status1 = 1; + this.statusList = res.data; + + if (this.statusList.length == 0) { + _this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌"); + } + }); + }, + guanbi() { + this.drawer = false; + }, + yichangjieguo() { + this.status1 = 0; + let _this = this; + yichang({ + tjNum: this.tjNumber, + }).then((res) => { + this.yichangList = res.data; + + console.log(this.yichangList, 3232); + this.getExpends(); + + this.yichangList.forEach((item) => { + item.sone.forEach((soneItem) => { + if ( + !Array.isArray(soneItem.advices) || + soneItem.advices.length === 0 + ) { + // 濡傛灉 advices 鏄┖锛岃缃粯璁ゅ�� + soneItem.advices = [ + { + bt: "", + nr: "", + }, + ]; + } + }); + }); + + if (!this.yichangList) { + _this.$message({ + type: "warning ", + message: "鏆傛棤寮傚父鎶ュ憡", + }); + } + }); + }, getdate() { getNewDateList().then((res) => { - this.startTime = [ + /* this.startTime = [ moment(res.data).format("YYYY-MM-DD 00:00:00"), moment(res.data).format("YYYY-MM-DD 23:59:00"), - ]; + ]; */ + this.getList(); }); }, // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡 @@ -783,6 +1121,7 @@ let tjNumber = this.tableAll.tjNumber; this.jianqianwenzhendata.push(tjNumber); }, + getList() { this.loading = true; this.queryParams.compId = this.CheckBox.drugManufacturerId; @@ -835,7 +1174,10 @@ setTimeout(() => { loading.close(); }, 3000); - this.$message.msgSuccess("鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�"); + this.$message({ + message: "鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�", + type: "error" + }); } else { this.dialogVisible = true; @@ -843,38 +1185,41 @@ } }); } else { - let url = response.data.url + let url = response.data.url; const params = { url }; - this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/zongjianjiankangzheng", params); + this.$tab.openPage( + "鍋ュ悍璇佹鏌ヨ〃", + "/report/zongjianjiankangzheng", + params + ); } - }) - + }); }, Graphicreport() { - let dictType = "dict_ageunit" - getDicts(dictType).then(res => { + let dictType = "dict_ageunit"; + getDicts(dictType).then((res) => { if (res.code == 200) { - res.data.forEach(item => { + res.data.forEach((item) => { if (this.tableAll.age_unit == item.dictValue) { - this.tableAll.age_unit = item.dictLabel + this.tableAll.age_unit = item.dictLabel; } - }) - let dictTypes = "sys_user_sex" - getDicts(dictTypes).then(res => { + }); + let dictTypes = "sys_user_sex"; + getDicts(dictTypes).then((res) => { if (res.code == 200) { - res.data.forEach(item => { + res.data.forEach((item) => { if (this.tableAll.cusSex == item.dictValue) { - this.tableAll.cusSex = item.dictLabel + 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 - } + patbirth: this.tableAll.cusBrithday, + }; // let data = { // patname: "鑴辫兘濞�", // sex: "濂�", @@ -882,16 +1227,15 @@ // patagename: "宀�", // patbirth: "1963-01-01" // } - getTjYxjcList(data).then(res => { - this.baogao = res.data - }) + getTjYxjcList(data).then((res) => { + this.baogao = res.data; + }); this.$refs.bbb.open = true; - // this.$refs.bbb.getAllList(); this.$refs.bbb.title = "鎶ュ憡瀛楀吀"; } - }) + }); } - }) + }); }, historicalreport() { @@ -957,10 +1301,22 @@ }); }, + rowClick(row) { + if (row.tjNumber) { + this.preObj = row; + } else { + this.preObj = this.tableAll; + } + this.$refs.Pre.open = true; + this.$refs.Pre.title = "澶勬柟"; + }, + // 鍗曢�夋寜閽� radioChange(value) { this.loading = true; this.queryParams.checkStatus = value; + this.queryParams.page = 1; + this.queryParams.pageSize = 10; getcheckList(this.queryParams).then((response) => { if (response.data) { this.checkList = response.data.customers; @@ -971,10 +1327,38 @@ 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; + if (this.textarea1 == null) { + this.textarea1 = ""; + } + 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; }); @@ -984,14 +1368,14 @@ } 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.sons.forEach((item3) => { + // if (item3.standard.tjStandardGtValue === null) { + // item3.standard.tjStandardGtValue = ""; + // } + // if (item3.standard.tjStandardLtValue === null) { + // item3.standard.tjStandardLtValue = ""; + // } + // }); // item.remark = ""; }); } else { @@ -1002,7 +1386,7 @@ } }); } else if (this.tjproject == "1") { - getupdateCheckTypeHuaYan(this.tjNumber).then(res => { + getupdateCheckTypeHuaYan(this.tjNumber).then((res) => { if (res.data) { // this.Testitems = res.data this.changedate = res.data; @@ -1016,12 +1400,12 @@ 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 = ""; - } + // if (item3.standard.tjStandardGtValue === null) { + // item3.standard.tjStandardGtValue = ""; + // } + // if (item3.standard.tjStandardLtValue === null) { + // item3.standard.tjStandardLtValue = ""; + // } }); // item.remark = ""; }); @@ -1032,8 +1416,7 @@ message: "璇ュ鎴锋病鏈夊寲楠岄」鐩暟鎹�", }); } - - }) + }); } }, @@ -1065,6 +1448,7 @@ // 鎼滅储 submitForm() { + console.log(this.tjStatus); this.loading = true; this.queryParams.compId = this.CheckBox.drugManufacturerId; this.queryParams.checkStatus = this.tjStatus; @@ -1095,60 +1479,233 @@ }, // 閲嶇疆 resetQuery() { + this.startTime = []; this.resetForm("tableList"); this.submitForm(); + }, + changRed({ row }) { + if (row.ycbz != "" && row.ycbz != null) { + // 鍙橀鑹茬殑鏉′欢 + return { + color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor + }; + } + }, + red() { + return { + color: "red", + }; + }, + redxiangmu({ row }) { + if (row.type != 1) { + // 鍙橀鑹茬殑鏉′欢 + return { + backgroundColor: "#AAD8DF !important", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor + // color: "#AAD8DF ", + }; + } + }, + /* changRed(row) { + if (row.label === "鈫�") { + return { + color: "green", // 璁剧疆涓婄澶翠负缁胯壊 + }; + } else if (row.label === "鈫�") { + return { + color: "red", // 璁剧疆涓嬬澶翠负绾㈣壊 + }; + } + // 榛樿棰滆壊 + return { + color: "black", + }; + }, */ + handleCurrentChange(val) { + if (val != null) { + this.handleClick(val); + } }, // 鐐瑰嚮璇︽儏 handleClick(row) { - + this.$refs.Pre.open = false; this.tableAll = row; - 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.tjproject = "0"; + this.tjNumber = this.tableAll.tjNumber; + getState(this.tjNumber).then((res) => { this.status = res.data; - if (this.status.status === "1") { + if (this.status) { + if (this.status.status === "1") { + this.yichangjieguo(); + getInfo().then((response) => { + this.userId = response.user.userId; + if (this.userId) { + let data = { + userId: this.userId, + tjNumber: this.tjNumber, + state: 0, + }; + getModifiedState(data).then((res) => { + this.MsgId = res.msg; + this.drawer = true; + getupdateCheckType(this.tjNumber).then((response) => { + this.changedate = response.data; + if (this.changedate) { + this.changedate.forEach((item) => { + this.textarea1 = item.checkAdvice || ""; + }); + + // 杩欓噷璁剧疆鍒濆鍊� + this.initialTotalCheckAdvice = this.textarea1; // 淇濆瓨鎬绘寤鸿 + + // 淇濆瓨鍒濆鐘舵�� + this.initialState = JSON.parse( + JSON.stringify(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 = ""; + // } + // }); + }); + } else { + this.$message({ + type: "warning ", + message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", + }); + } + }); + }); + } + }); + } else { + this.$confirm( + "" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", + "鎻愮ず", + { + confirmButtonText: "鏄�", + cancelButtonText: "鍚�", + type: "warning", + } + ) + .then(() => { + this.yichangjieguo(); + getInfo().then((response) => { + this.userId = response.user.userId; + + if (this.userId) { + let data = { + userId: this.userId, + tjNumber: this.tjNumber, + state: 0, + }; + getforceIn(data).then((res) => { + this.MsgId = res.msg; + this.drawer = true; + getupdateCheckType(this.tjNumber).then((response) => { + this.changedate = response.data; + if (this.changedate) { + for (let i = 0; i < this.changedate.length; i++) { + this.remark = this.changedate[i].remark; + } + this.initialState = JSON.parse( + JSON.stringify(this.changedate) + ); + + this.changedate.forEach((item) => { + this.textarea1 = item.checkAdvice || ""; + + // 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 = ""; + }); + + // 淇濆瓨鎬绘寤鸿 + this.totalCheckAdvice = this.changedate.map( + (item) => item.totalCheckAdvice + ); + } else { + this.$message({ + type: "warning ", + message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", + }); + } + }); + }); + } + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑堣繘鍏�", + }); + }); + + this.drawer = false; + } + } else { + this.drawer = true; + this.yichangjieguo(); getInfo().then((response) => { this.userId = response.user.userId; + if (this.userId) { let data = { userId: this.userId, tjNumber: this.tjNumber, state: 0, }; - getModifiedState(data).then((res) => { + getforceIn(data).then((res) => { this.MsgId = res.msg; this.drawer = true; getupdateCheckType(this.tjNumber).then((response) => { this.changedate = response.data; 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; } + this.initialState = JSON.parse( + JSON.stringify(this.changedate) + ); + this.changedate.forEach((item) => { + this.textarea1 = item.checkAdvice || ""; + // 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.sons.forEach((item3) => { + // if (item3.standard.tjStandardGtValue === null) { + // item3.standard.tjStandardGtValue = ""; + // } + // if (item3.standard.tjStandardLtValue === null) { + // item3.standard.tjStandardLtValue = ""; + // } + // }); // item.remark = ""; }); + + // 淇濆瓨鎬绘寤鸿 + this.totalCheckAdvice = this.changedate.map( + (item) => item.totalCheckAdvice + ); } else { this.$message({ type: "warning ", @@ -1159,67 +1716,6 @@ }); } }); - } else { - this.$confirm( - "" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", - "鎻愮ず", - { - confirmButtonText: "鏄�", - cancelButtonText: "鍚�", - type: "warning", - } - ) - .then(() => { - getInfo().then((response) => { - this.userId = response.user.userId; - if (this.userId) { - let data = { - userId: this.userId, - tjNumber: this.tjNumber, - state: 0, - }; - getforceIn(data).then((res) => { - this.MsgId = res.msg; - this.drawer = true; - getupdateCheckType(this.tjNumber).then((response) => { - this.changedate = response.data; - if (this.changedate) { - for (let i = 0; i < this.changedate.length; i++) { - this.remark = this.changedate[i].remark; - } - this.changedate.forEach((item) => { - this.textarea1 = item.checkAdvice; - - // 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: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", - }); - } - }); - }); - } - }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑堣繘鍏�", - }); - }); - this.drawer = false; - } }); @@ -1243,33 +1739,53 @@ }); }, + cancel() { + this.propdialog = false; + }, + // 鏄惁鍏抽棴寮圭獥 handleClose(done) { if (this.loading) { return; } - this.$confirm("纭畾瑕佹彁浜ゅ悧锛�") - .then((_) => { - this.loading = true; - this.timer = setTimeout(() => { - done(); - this.determine(); - // 鍔ㄧ敾鍏抽棴闇�瑕佷竴瀹氱殑鏃堕棿 - setTimeout(() => { - this.loading = false; - }, 400); - }, 2000); - }) - .catch((_) => { - this.drawer = false; - let data = { - userId: this.userId, - tjNumber: this.tjNumber, - state: 1, - id: this.MsgId, - }; - getfiedState(data).then((res) => { }); - }); + + // 妫�鏌ユ槸鍚︽湁淇敼 + let isModified = + JSON.stringify(this.changedate) !== JSON.stringify(this.initialState) || + (this.textarea1 !== this.initialTotalCheckAdvice && + this.textarea1 !== null); + console.log("Initial Total Check Advice:", this.initialTotalCheckAdvice); + + console.log("Current textarea1:", this.textarea1); + if (isModified) { + // 濡傛灉鏈変慨鏀癸紝寮瑰嚭纭妗� + this.$confirm("妫�娴嬪唴瀹规湁淇敼锛岀‘瀹氳鎻愪氦鍚楋紵") + .then(() => { + this.loading = true; + this.timer = setTimeout(() => { + done(); + this.determine(); + setTimeout(() => { + this.loading = false; + }, 400); + }, 2000); + }) + .catch(() => { + // 鐢ㄦ埛鍙栨秷鎿嶄綔 + this.drawer = false; + let data = { + userId: this.userId, + tjNumber: this.tjNumber, + state: 1, + id: this.MsgId, + }; + getfiedState(data).then((res) => { }); + this.submitForm(); + }); + } else { + // 濡傛灉娌℃湁淇敼锛岀洿鎺ュ叧闂� + done(); + } }, handleClose1() { this.jianqians = false; @@ -1295,86 +1811,359 @@ // }); // } // }, - change(vale) { - // console.log(this.changedate[index].remark); - }, + change(vale) { }, + + // determine() { + // let tjNumber = this.tableAll.tjNumber; + // let tjh = this.tableAll.tjNumber; + // // let jyjc = this.yichangList.map(item => item.jyjc || null); + // let advice = this.textarea1; + // let data = { + // tjNumber, + // advice, + // checkStatus: 1, + // }; + + // console.log(this.yichangList, 66); + + // let dataList = this.yichangList + // .map((item) => { + // return item.sone.map((soneItem) => ({ + // tjh, + // parentName: item.proName, + // jcxm: soneItem.proName, + // map: soneItem.advices, + // jyjc: item.jyjc, // assuming jyjc belongs to the outer item, not soneItem + // jcjg: soneItem.proResult, + // ckfw: soneItem.stanId, + // dw: soneItem.proAdvice, + // })); + // }) + // .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞� + // console.log(dataList, 777); + + // /* addOrder(dataList).then((res) => { + // console.log(res, 999); + // }); */ + // getTjdetailList(data) + // .then((response) => { + // if (response.code === 200) { + // this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + + // // 鍑嗗鐢熸垚鎶ュ憡鐨勮姹傛暟鎹� + // let reportData = { + // userId: this.userId, + // tjNumber: tjNumber, + // state: 1, + // id: this.MsgId, + // }; + + // // 鐢熸垚鎶ュ憡骞朵繚鎸� loading 鎵撳紑 + // const reportPromise = gettoPdf(tjNumber) + // .then((res) => { + // this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"); + // }) + // .catch((error) => { + // this.$modal.msgError( + // "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�" + // ); + // }); + + // // 鏇存柊鐘舵�佸苟鎻愪氦淇敼璇锋眰 + // const statePromise = getfiedState(reportData).then((res) => { + // this.drawer = false; + // }); + + // // const addOrderPromise = addOrder(dataList).then((res) => { + // // console.log(res, 999); + // // }); + + // // 澶勭悊鍏朵粬淇敼鎿嶄綔 + // const updatePromises = this.changedate.map((item) => { + // this.proIds = item.parentId; + // let remarks = item.remark; + // let updateOrderRemarkVos = [ + // { + // tjNumber, + // proId: this.proIds.toString(), + // remarks, + // }, + // ]; + // return getModified(updateOrderRemarkVos); // 杩斿洖 Promise + // }); + + // // 绛夊緟鎵�鏈夎姹傚畬鎴� + // Promise.all([ + // reportPromise, + // statePromise, + // // addOrderPromise, + // ...updatePromises, + // ]) + // .then(() => { + // // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading + // this.loading = false; + // // 鏇存柊鍒嗛〉淇℃伅 + // this.queryParams.page = 1; + // this.queryParams.pageSize = 10; + // this.submitForm(); + // this.$forceUpdate(); + // }) + // .catch((error) => { + // // 澶勭悊閿欒鎯呭喌 + // this.loading = false; + // console.error("鍙戠敓閿欒:", error); + // }); + // } else { + // // 鎻愪氦澶辫触锛屽叧闂� loading + // this.loading = false; + // } + // }) + // .catch((error) => { + // // 鎻愪氦璇锋眰澶辫触锛屽叧闂� loading + // this.loading = false; + // console.error("鎻愪氦璇锋眰澶辫触:", error); + // }); + // }, determine() { let tjNumber = this.tableAll.tjNumber; + let tjh = this.tableAll.tjNumber; let advice = this.textarea1; let data = { tjNumber, advice, checkStatus: 1, }; - getTjdetailList(data).then((response) => { - if (response.code === 200) { - this.$modal.msgSuccess("鎻愪氦鎴愬姛"); - let tjNumber = this.tjNumber; - let data = { - userId: this.userId, - tjNumber: tjNumber, - state: 1, - id: this.MsgId, - }; - gettoPdf(tjNumber).then((res) => { - this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"); - }); - getfiedState(data).then((res) => { - this.drawer = false; - }); - } - }); - for (let i = 0; i < this.changedate.length; i++) { - this.proIds = this.changedate[i].parentId; - let remarks = this.changedate[i].remark; - let updateOrderRemarkVos = [ - { - tjNumber, - proId: this.proIds.toString(), - remarks, - }, - ]; - getModified(updateOrderRemarkVos).then((response) => { }); - } - this.submitForm(); - this.$forceUpdate(); - // this.changedate.forEach((item) => { - // this.proIds = item.parentId; - // // this.remark = item.remark; - // }); + console.log(this.yichangList, 6644); + + let dataList = this.yichangList + .map((item) => { + return item.sone.map((soneItem) => ({ + tjh, + parentName: item.proName, + jcxm: soneItem.proName, + map: soneItem.advices, + jyjc: item.jyjc, + jcjg: soneItem.proResult, + ckfw: soneItem.stanId, + dw: soneItem.proAdvice, + })); + }) + .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞� + + getTjdetailList(data) + .then((response) => { + if (response.code === 200) { + this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + + // 鍑嗗鐢熸垚鎶ュ憡鐨勮姹傛暟鎹� + let reportData = { + userId: this.userId, + tjNumber: tjNumber, + state: 1, + id: this.MsgId, + }; + + // 璋冪敤 addOrderPromise + console.log(dataList, 5555); + + addOrder(dataList) + .then((res) => { + console.log(res, 999); + if (res.code == 200) { + gettoPdf(tjNumber) + .then((res) => { + this.$modal.msgSuccess( + "宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�" + ); + }) + .catch(() => { + this.$modal.msgError( + "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�" + ); + }); + const statePromise = getfiedState(reportData).then(() => { + this.drawer = false; + }); + const updatePromises = this.changedate.map((item) => { + this.proIds = item.parentId; + let remarks = item.remark; + let updateOrderRemarkVos = [ + { + tjNumber, + proId: this.proIds.toString(), + remarks, + }, + ]; + return getModified(updateOrderRemarkVos); // 杩斿洖 Promise + }); + + // 绛夊緟鎵�鏈夎姹傚畬鎴� + Promise.all([statePromise, ...updatePromises]) + .then(() => { + // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading + this.loading = false; + // 鏇存柊鍒嗛〉淇℃伅 + this.queryParams.page = 1; + this.queryParams.pageSize = 10; + this.submitForm(); + this.$forceUpdate(); + }) + .catch((error) => { + // 澶勭悊閿欒鎯呭喌 + this.loading = false; + console.error("鍙戠敓閿欒:", error); + }); + } + }) + .catch((error) => { + // 濡傛灉 addOrderPromise 澶辫触锛屽鐞嗛敊璇� + this.loading = false; + console.error("addOrderPromise 澶辫触:", error); + }); + } else { + // 鎻愪氦澶辫触锛屽叧闂� loading + this.loading = false; + } + }) + .catch((error) => { + // 鎻愪氦璇锋眰澶辫触锛屽叧闂� loading + this.loading = false; + console.error("鎻愪氦璇锋眰澶辫触:", error); + }); }, }, }; </script> -<style scoped> +<style scoped lang="scss"> +.mainbox { + position: relative; +} + .btn { margin: 20px 0px; } -.main { - height: 700px; - overflow: hidden; +.btnbox { + display: flex; + flex-direction: column; + gap: 10px; + /* 鎸夐挳涔嬮棿鐨勯棿璺� */ + position: fixed; + /* 浣挎暣涓寜閽尯鍩熷浐瀹氬湪椤甸潰 */ + right: 0; + /* 鍥哄畾鍦ㄩ〉闈㈠彸渚� */ + top: 20%; + /* 鍒濆浣嶇疆 */ + z-index: 10; } -#printIframe::-webkit-scrollbar { +/* 姣忎釜鎸夐挳鐨勬牱寮� */ +.btn1 { + animation: fadeInUp 0.5s ease-out forwards; + /* 鎸夐挳鍔犺浇鏃剁殑娣″叆鍔ㄧ敾 */ + cursor: pointer; + text-align: center; +} + +.vertical-text { + writing-mode: vertical-rl; + text-orientation: upright; +} + +/* 璁剧疆鍔ㄧ敾鏁堟灉 */ +@keyframes fadeInUp { + 0% { + opacity: 0; + transform: translateY(20px) scale(0.5); + /* 鍒濆鐘舵�侊細閫忔槑涓旂缉灏� */ + } + + 100% { + opacity: 1; + transform: translateY(0) scale(1); + /* 鏈�缁堢姸鎬侊細瀹屽叏鏄剧ず涓旀甯稿ぇ灏� */ + } +} + +/* 姣忎釜鎸夐挳鐨勪綅缃拰鍔ㄧ敾寤惰繜 */ +.btnbox>div:nth-child(1) { + top: 20%; + /* 绗竴涓寜閽殑浣嶇疆 */ + animation-delay: 0s; + /* 鏃犲欢杩� */ +} + +.btnbox>div:nth-child(2) { + top: 30%; + /* 绗簩涓寜閽殑浣嶇疆 */ + animation-delay: 0.2s; +} + +.btnbox>div:nth-child(3) { + top: 40%; + /* 绗笁涓寜閽殑浣嶇疆 */ + animation-delay: 0.4s; +} + +.btnbox>div:nth-child(4) { + top: 50%; + /* 绗洓涓寜閽殑浣嶇疆 */ + animation-delay: 0.6s; +} + +.btnbox>div:nth-child(5) { + top: 60%; + /* 绗簲涓寜閽殑浣嶇疆 */ + animation-delay: 0.8s; +} + +.btnbox>div:nth-child(6) { + top: 70%; + /* 绗叚涓寜閽殑浣嶇疆 */ + animation-delay: 1s; +} + +.main { + height: 80vh; // 鏀逛负浣跨敤瑙嗙獥楂樺害 + min-height: 600px; // 璁剧疆鏈�灏忛珮搴� + overflow: auto; // 鏀逛负auto鍏佽婊氬姩 +} + +// 浼樺寲婊氬姩鏉℃牱寮� +.main::-webkit-scrollbar { width: 6px; } -/* 淇敼 婊氬姩鏉$殑 涓嬮潰 鐨� 鏍峰紡 */ -#printIframe::-webkit-scrollbar-track { +.main::-webkit-scrollbar-track { background-color: white; - -webkit-border-radius: 2em; - -moz-border-radius: 2em; border-radius: 2em; } -/* 淇敼 婊戝潡 */ -#printIframe::-webkit-scrollbar-thumb { +.main::-webkit-scrollbar-thumb { background-color: #dcdfe6; - -webkit-border-radius: 2em; - -moz-border-radius: 2em; border-radius: 2em; +} + +::v-deep .el-dialog { + margin-top: 5vh !important; // 璋冩暣瀵硅瘽妗嗕綅缃� +} + +::v-deep .el-dialog__header { + padding: 8px; +} + +::v-deep .el-dialog__body { + padding: 0; +} + +::v-deep .el-button--medium { + padding: 10px; +} + +::v-deep .el-dialog__headerbtn { + // position: relative; + top: 13px; } /* .el-dialog { @@ -1403,8 +2192,23 @@ } .dialog-footers { - /* margin-top: 5px; */ - margin-left: calc(100% - 15%); + position: fixed; + bottom: 0; + left: 50%; + transform: translateX(-50%); + display: flex; + justify-content: center; + align-items: center; + z-index: 1000; + /* 纭繚鎸夐挳灞傜骇鍦ㄥ叾浠栧唴瀹逛笂鏂� */ + width: 300px; + background-color: white; + /* 鍙牴鎹渶瑕佽皟鏁磋儗鏅鑹� */ +} + +/* 纭繚鎸夐挳涔嬮棿鏈夊悎閫傜殑闂磋窛 */ +.dialog-footers .el-button { + margin: 0 5px; } textarea { @@ -1412,7 +2216,100 @@ border: none; outline: none; } -</style> - - +.box { + display: flex; + height: calc(100% - 160px); + margin-top: 20px; + overflow: hidden; +} + +.left-container { + flex: 1; + margin-right: 10px; + overflow: hidden; +} + +.left { + height: 100%; + padding: 0 10px; + overflow-y: scroll; // 鏀逛负 scroll 鑰屼笉鏄� auto + + &::-webkit-scrollbar { + width: 8px; // 澧炲姞瀹藉害浣垮叾鏇村鏄撶湅瑙� + background-color: #f5f5f5; + display: block; // 纭繚鏄剧ず + } + + &::-webkit-scrollbar-thumb { + background: #909399; + border-radius: 4px; + } + + &::-webkit-scrollbar-track { + background: #f5f5f5; + border-radius: 4px; + } +} + +.rightbox { + width: 700px; + overflow: hidden; +} + +.right { + height: 100%; + padding: 0 10px; + overflow-y: scroll; // 鏀逛负 scroll 鑰屼笉鏄� auto + + &::-webkit-scrollbar { + width: 8px; // 澧炲姞瀹藉害 + background-color: #f5f5f5; + display: block; // 纭繚鏄剧ず + } + + &::-webkit-scrollbar-thumb { + background: #909399; + border-radius: 4px; + } + + &::-webkit-scrollbar-track { + background: #f5f5f5; + border-radius: 4px; + } +} + +.top { + position: sticky; + top: 0; + z-index: 10; + background-color: #fff; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + display: flex; + + .el-icon-close { + cursor: pointer; + font-size: 30px; + position: relative; + top: 7px; + right: 4px; + color: rgb(24, 144, 255); + } +} + +.kong { + box-shadow: none; +} + +::v-deep .el-table--medium .el-table__cell { + padding: 5px 0; +} + +::-webkit-scrollbar { + display: none; +} + +::v-deep .el-drawer { + padding: 0 0 50px; +} +</style> -- Gitblit v1.8.0