From 8d0db599c3d851d905319778d01662e7b556fc42 Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期四, 10 四月 2025 16:38:41 +0800 Subject: [PATCH] 优化搜索 --- src/views/doctor/checkAll/index.vue | 1160 ++++++++++++++++----------------------------------------- 1 files changed, 321 insertions(+), 839 deletions(-) diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index 68f6865..90cd4f7 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -35,12 +35,10 @@ <template> <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" /> <el-table-column label="濮撳悕" align="center" prop="cusName" :show-overflow-tooltip="true" width="100px" fixed="left" /> - <el-table-column label="鎬у埆" align="center" prop="cusSex" :show-overflow-tooltip="true" width="55px"> <template slot-scope="scope"> <span v-if="scope.row.cusSex == '0'">鐢�</span> @@ -51,14 +49,6 @@ </el-table-column> <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="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="120px"> @@ -78,7 +68,6 @@ icon="el-icon-edit-outline"></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 type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">鐢熸垚</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="鎾ら攢" @@ -104,47 +93,19 @@ <caption style="background-color: #f8f8f9; font-size: 18px"> {{ tableAll.cusName }}鐨勪綋妫�璧勬枡 </caption> - <tr style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - height: 36px; - "> + <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;"> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">濮撳悕锛�</td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">鎬у埆锛�</td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 濮撳悕锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - {{ tableAll.cusName }} - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 鎬у埆锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - {{ - tableAll.cusSex == 0 - ? "鐢�" - : tableAll.cusSex == 1 - ? "濂�" - : "鏈煡" - }} + {{ tableAll.cusSex == 0 ? "鐢�" : tableAll.cusSex == 1 ? "濂�" : "鏈煡" }} </td> </tr> - <tr style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - height: 36px; - "> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 浣撴鍗曞彿锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - {{ tableAll.tjNumber }} - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 浣撴鏃堕棿锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - {{ tableAll.tjTime }} - </td> + <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;"> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">浣撴鍗曞彿锛�</td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjNumber }}</td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">浣撴鏃堕棿锛�</td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjTime }}</td> </tr> </table> <i class="el-icon-close" @click="guanbi"></i> @@ -165,7 +126,6 @@ <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'"> <el-button @click="jianqian()" type="primary"><span class="vertical-text">妫�鍓嶉棶璇�</span></el-button> </div> - <div class="btn1"> <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">椤圭洰鎯呭喌</span></el-button> </div> @@ -177,11 +137,7 @@ <div class="left-container"> <div class="left"> <div v-for="(item, index) in changedate" :key="index"> - <div style=" - text-align: center; - background-color: #aad8df; - margin-top: 10px; - "> + <div style="text-align: center; background-color: #aad8df; margin-top: 10px;"> {{ item.parent || "" }} </div> <div v-if="item.xmlb == '0'"> @@ -192,13 +148,10 @@ <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="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-if="scope.row.project != null">{{ scope.row.standard.company || "" }}</div> <div v-else>{{ scope.row.proAdvice }}</div> </template> </el-table-column> @@ -206,11 +159,7 @@ <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 || - "/" - }} + {{ scope.row.standard.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue || "/" }} </div> <div v-else>{{ scope.row.stanId || "/" }}</div> </template> @@ -218,50 +167,26 @@ </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 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 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; - "> + <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> --> + v-on:input="change" style="width: 100%"></el-input> </td> </tr> </table> @@ -269,54 +194,23 @@ <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 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> --> + <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.jgbx" style="width: 100%"></el-input> </td> </tr> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 15%; - "> + <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> --> + <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.remark" style="width: 100%"></el-input> </td> </tr> - <tr style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 200px; - "> - <td style=" - border: 1px solid #dfe6ec; - border-collapse: collapse; - width: 15%; - "> + <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"> @@ -334,8 +228,7 @@ <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-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"> @@ -352,11 +245,7 @@ <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; - "> + <div style="text-align: center; background-color: #67c23a; margin-top: 10px;"> {{ item.proName || "" }} </div> <template v-if="item.jyjc == '0'"> @@ -367,8 +256,7 @@ <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 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 @@ -381,7 +269,6 @@ </div> </div> </div> - <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> <div v-else> <div> @@ -395,28 +282,20 @@ @blur="handleAdviceBlur(props.row, -1)"></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="妫�娴嬮」鐩�" :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-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'"> @@ -427,8 +306,7 @@ <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 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 @@ -441,7 +319,6 @@ </div> </div> </div> - <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> <div v-else> <div> @@ -455,41 +332,31 @@ @blur="handleAdviceBlur(props.row, -1)"></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-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 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 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> @@ -578,7 +445,6 @@ <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" @@ -589,9 +455,9 @@ <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-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" @@ -634,7 +500,6 @@ </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" @@ -650,7 +515,6 @@ </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%"> @@ -688,7 +552,6 @@ </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" @@ -741,20 +604,18 @@ <el-form-item label="鍗曚綅" prop="dw"> <el-input v-model="newItem.dw" placeholder="璇疯緭鍏ュ崟浣�" clearable></el-input> </el-form-item> - <!-- 鍔ㄦ�佸缓璁粍 --> <div v-for="(advice, index) in newItem.map" :key="index" class="advice-group"> <el-form-item label="寤鸿鏍囬" :prop="'map.' + index + '.bt'"> - <el-input v-model="advice.bt" placeholder="璇疯緭鍏ュ缓璁爣棰�" clearable @focus="tan"></el-input> + <el-input v-model="advice.bt" placeholder="璇疯緭鍏ュ缓璁爣棰�" clearable @focus="tan($event)"></el-input> </el-form-item> <el-form-item label="寤鸿鍐呭" :prop="'map.' + index + '.nr'"> <el-input v-model="advice.nr" type="textarea" rows="3" placeholder="璇疯緭鍏ュ缓璁唴瀹�" resize="none" - @focus="tan"></el-input> + @focus="tan($event)"></el-input> </el-form-item> <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)" style="margin-left: 100px; margin-bottom: 10px;">鍒犻櫎</el-button> </div> - <el-form-item> <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">娣诲姞寤鸿</el-button> </el-form-item> @@ -764,25 +625,28 @@ <el-button type="primary" @click="submitNewItem">纭畾</el-button> </span> </el-dialog> - <el-dialog title="蹇嵎寤鸿閫夋嫨" :visible.sync="showjianyi" width="1000px" class="custom-dialog"> - <!-- 鏇挎崲涓鸿緭鍏ユ --> + <el-dialog title="蹇嵎寤鸿閫夋嫨" :visible.sync="showjianyi" width="1000px" class="custom-dialog" + :before-close="handleCloseAdviceDialog"> + <!-- 鎼滅储鍖哄煙 --> <div style="margin-bottom: 15px;"> <el-form :inline="true"> <el-form-item label="寤鸿鍚嶇О"> <el-input v-model="queryParams1.zyzd" placeholder="璇疯緭鍏ュ缓璁悕绉拌繘琛岀瓫閫�" clearable style="width: 200px" - @input="filterAdvices(true)" onkeydown="if(event.keyCode === 32 || event.keyCode === 13) return false;" /> + @input="filterAdvices(true)" @keyup.enter.native="filterAdvices(true)" /> </el-form-item> </el-form> </div> - <el-table :data="advicerulesList" ref="adviceTable" border highlight-current-row - @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;"> + <!-- 寤鸿琛ㄦ牸 --> + <el-table v-loading="adviceLoading" :data="advicerulesList" ref="adviceTable" border highlight-current-row + @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;" + :empty-text="adviceEmptyText"> <el-table-column label="绉戝" prop="ks" width="100" align="center" /> <el-table-column label="寤鸿鍚嶇О" prop="jymc" align="center" /> <el-table-column label="寤鸿鍐呭" prop="jynr" align="center" /> </el-table> - <!-- 鍒嗛〉缁勪欢 --> + <!-- 鍒嗛〉 --> <div class="pag"> <div class="pag2"> <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParams1.pageNum" @@ -790,8 +654,9 @@ </div> </div> + <!-- 搴曢儴鎸夐挳 --> <span slot="footer" class="dialog-footer"> - <el-button @click="showjianyi = false">鍙栨秷</el-button> + <el-button @click="cancelAdviceDialog">鍙栨秷</el-button> <el-button type="primary" @click="applySelectedAdvice" :disabled="!selectedAdvice">纭畾</el-button> </span> </el-dialog> @@ -799,13 +664,9 @@ <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> + <el-dialog title="甯哥敤寤鸿缁存姢" :visible.sync="propdialog" width="500px" append-to-body></el-dialog> </div> </template> - - <script> import _ from 'lodash'; import jianqianwenzhen from "@/components/jianqianwenzhen"; @@ -841,10 +702,8 @@ import { getNewDateList } from "@/api/hosp/order"; import { getconfigKey } from "@/api/login"; import moment from "moment"; -import { get } from "sortablejs"; -import { - listAdvicerules, -} from "@/api/hosp/advicerules"; +import { listAdvicerules } from "@/api/hosp/advicerules"; + export default { components: { ViewPdf, @@ -873,20 +732,25 @@ activeAdviceIndex: 0, advicerulesList: [], showjianyi: false, + adviceLoading: false, // 鎺у埗琛ㄦ牸鍔犺浇鐘舵�� + adviceEmptyText: '鏆傛棤鏁版嵁', // 鑷畾涔夌┖鏁版嵁鎻愮ず + total1: 0, + queryParams1: { + pageNum: 1, + pageSize: 10, + zyzd: '', // 寤鸿鍚嶇О + }, + adviceCache: new Map(), // 缂撳瓨寤鸿鏁版嵁 addNewDialogVisible: false, newItem: { - parentName: '', // 椤圭洰鍒嗙被锛屽搴旀ā鏉夸腑鐨� parentName - jcxm: '', // 妫�娴嬮」鐩紝瀵瑰簲妯℃澘涓殑 jcxm - jcjg: '', // 妫�娴嬬粨鏋滐紝瀵瑰簲妯℃澘涓殑 jcjg - ckfw: '', // 鍙傝�冭寖鍥达紝瀵瑰簲妯℃澘涓殑 ckfw - dw: '', // 鍗曚綅锛屽搴旀ā鏉夸腑鐨� dw - map: [{ // 寤鸿鍒楄〃锛屽搴旀ā鏉夸腑鐨勫姩鎬佸缓璁粍 map - bt: '', // 寤鸿鏍囬锛屽搴旀ā鏉夸腑鐨� map[index].bt - nr: '' // 寤鸿鍐呭锛屽搴旀ā鏉夸腑鐨� map[index].nr - }] + parentName: '', + jcxm: '', + jcjg: '', + ckfw: '', + dw: '', + map: [{ bt: '', nr: '' }] }, projectCategories: [], - // 鏇存柊鎬绘寤鸿 emptyAdvice: { bt: "", nr: "", @@ -952,9 +816,7 @@ msgtuwen: "", msgjianqian: "", msgkcf: "", - // 椤甸潰鍏ㄩ儴鏁版嵁 checkList: [], - // 缁戝畾鍗曢�夋寜閽� tjStatus: "0", tjproject: "0", total: 0, @@ -964,21 +826,16 @@ startTime: [], textarea1: "", loading: true, - // 褰撳墠鐢ㄦ埛閫変腑鐨勫�� selectLettercurrent: " ", - // 鎶藉眽鎵撳紑鏂瑰紡 drawer: false, tableAll: {}, tjNumber: "", - // 鍏ㄩ儴灏忕粨 DeptadviceAll: [], MsgId: "", Deptobj: "", - // 鐐瑰嚮鍙傛暟 changedate: [], dataText: [], status: {}, - // 鏌ヨ鍙傛暟 queryParams: { page: 1, pageSize: 10, @@ -990,7 +847,6 @@ checkStatus: null, }, formobj: {}, - // 鏌ヨ鍙傛暟 yichangList: [], statusList: [], queryParam: { @@ -1017,20 +873,13 @@ tjCategory: undefined, payType: undefined, }, - total1: 0, - queryParams1: { - pageNum: 1, - pageSize: 10, - zyzd: '' - }, - status1: 0, // 0灞曠ず寮傚父1灞曠ず椤圭洰鎯呭喌 + status1: 0, viewportHeight: 0, expends: [], }; }, created() { - // this.getNowTime(); this.getConfigKey(); this.getdate(); }, @@ -1038,33 +887,138 @@ mounted() { this.$nextTick(() => { this.$refs.inputName.focus(); - this.viewportHeight = - window.innerHeight || document.documentElement.clientHeight; + this.viewportHeight = window.innerHeight || document.documentElement.clientHeight; }); }, + methods: { + // 鎵撳紑寤鸿閫夋嫨寮圭獥 + tan(event) { + this.activeAdviceIndex = event.target.closest('.advice-group') + ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group')) + .indexOf(event.target.closest('.advice-group')) + : 0; + this.queryParams1.pageNum = 1; + this.queryParams1.pageSize = 10; + this.queryParams1.zyzd = ''; + this.selectedAdvice = null; // 閲嶇疆閫変腑寤鸿 + this.advicerulesList = []; // 娓呯┖寤鸿鍒楄〃 + this.total1 = 0; + this.adviceCache.clear(); // 娓呯┖缂撳瓨 + this.filterAdvices(); + this.showjianyi = true; + }, - handleAdviceBlur(row, index) { - // 鏋勯�� advices 鏁版嵁 - let advicesToSubmit = []; - - if (index === -1) { - // advices 涓虹┖锛屼娇鐢� emptyAdvice 鐨勫�� - if (this.emptyAdvice.bt || this.emptyAdvice.nr) { - advicesToSubmit = [{ bt: this.emptyAdvice.bt || '', nr: this.emptyAdvice.nr || '' }]; - // 灏� emptyAdvice 鐨勫�艰祴鍊肩粰 row.advices - this.$set(row, 'advices', advicesToSubmit); - } - } else { - // advices 涓嶄负绌猴紝鐩存帴浣跨敤 row.advices - advicesToSubmit = row.advices; + // 绛涢�夊揩鎹峰缓璁紙闃叉姈 800ms锛屽甫缂撳瓨鍜屽姞杞界姸鎬侊級 + filterAdvices: _.debounce(function (resetPage = false) { + if (resetPage) { + this.queryParams1.pageNum = 1; } - // 濡傛灉 advicesToSubmit 涓虹┖鎴栨病鏈夋湁鏁堟暟鎹紝涓嶆彁浜� - if (!advicesToSubmit || advicesToSubmit.length === 0) { + // 鐢熸垚缂撳瓨 key锛屼粎浣跨敤 zyzd 鍜屽垎椤靛弬鏁� + const cacheKey = `${this.queryParams1.zyzd || ''}_${this.queryParams1.pageNum}_${this.queryParams1.pageSize}`; + + // 妫�鏌ョ紦瀛� + if (this.adviceCache.has(cacheKey)) { + const cachedData = this.adviceCache.get(cacheKey); + this.advicerulesList = cachedData.rows; + this.total1 = cachedData.total; + this.adviceEmptyText = this.advicerulesList.length === 0 ? '鏆傛棤鍖归厤鐨勫缓璁�' : '鏆傛棤鏁版嵁'; return; } + // 鏄剧ず鍔犺浇鐘舵�� + this.adviceLoading = true; + this.adviceEmptyText = '鍔犺浇涓�...'; + + listAdvicerules(this.queryParams1) + .then((response) => { + this.advicerulesList = response.rows || []; + this.total1 = response.total || 0; + + // 瀛樺叆缂撳瓨 + this.adviceCache.set(cacheKey, { + rows: this.advicerulesList, + total: this.total1, + }); + + // 鏇存柊绌烘暟鎹彁绀� + this.adviceEmptyText = this.advicerulesList.length === 0 ? '鏆傛棤鍖归厤鐨勫缓璁�' : '鏆傛棤鏁版嵁'; + }) + .catch((error) => { + console.error('绛涢�夊揩鎹峰缓璁け璐�:', error); + this.advicerulesList = []; + this.total1 = 0; + this.adviceEmptyText = '鍔犺浇澶辫触锛岃绋嶅悗閲嶈瘯'; + this.$message.error('鍔犺浇寤鸿澶辫触锛岃妫�鏌ョ綉缁滃悗閲嶈瘯'); + }) + .finally(() => { + this.adviceLoading = false; + }); + }, 800), // 闃叉姈鏃堕棿涓� 800ms + + handleCurrentChangeAdvice(currentRow) { + this.selectedAdvice = currentRow; + }, + + applySelectedAdvice() { + if (this.selectedAdvice) { + this.$set(this.newItem.map, this.activeAdviceIndex, { + bt: this.selectedAdvice.jymc, + nr: this.selectedAdvice.jynr, + }); + this.showjianyi = false; + this.selectedAdvice = null; + } else { + this.$message.warning('璇峰厛閫夋嫨涓�鏉″缓璁�'); + } + }, + + // 鍙栨秷閫夋嫨骞跺叧闂璇濇 + cancelAdviceDialog() { + this.showjianyi = false; + this.selectedAdvice = null; + this.queryParams1.zyzd = ''; + this.queryParams1.pageNum = 1; + this.advicerulesList = []; + this.total1 = 0; + this.adviceCache.clear(); + }, + + // 鍏抽棴瀵硅瘽妗嗗墠鐨勭‘璁� + handleCloseAdviceDialog(done) { + if (this.selectedAdvice) { + this.$confirm('鎮ㄥ凡閫夋嫨涓�鏉″缓璁紝纭畾瑕佸叧闂悧锛�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(() => { + this.cancelAdviceDialog(); + done(); + }) + .catch(() => {}); + } else { + this.cancelAdviceDialog(); + done(); + } + }, + + handleAdviceBlur(row, index) { + let advicesToSubmit = []; + + if (index === -1) { + if (this.emptyAdvice.bt || this.emptyAdvice.nr) { + advicesToSubmit = [{ bt: this.emptyAdvice.bt || '', nr: this.emptyAdvice.nr || '' }]; + this.$set(row, 'advices', advicesToSubmit); + } + } else { + advicesToSubmit = row.advices; + } + + if (!advicesToSubmit || advicesToSubmit.length === 0) { + return; + } const parentItem = this.yichangList.find(item => item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId) @@ -1076,20 +1030,20 @@ } const data = { - tjh: this.tableAll.tjNumber, // 浣撴鍙� - parentName: parentItem.proName, // 鐖剁骇椤圭洰鍚嶇О - jcxm: row.proName, // 妫�娴嬮」鐩� - jcjg: row.proResult, // 妫�娴嬬粨鏋� - ckfw: row.stanId, // 鍙傝�冭寖鍥� - dw: row.proAdvice, // 鍗曚綅 - map: advicesToSubmit, // 寤鸿鍒楄〃 - jyjc: parentItem.jyjc, // 妫�鏌ョ被鍨嬶紙0 鎴� 1锛� - id: row.orderDetailId, // 褰撳墠椤圭殑 orderDetailId + tjh: this.tableAll.tjNumber, + parentName: parentItem.proName, + jcxm: row.proName, + jcjg: row.proResult, + ckfw: row.stanId, + dw: row.proAdvice, + map: advicesToSubmit, + jyjc: parentItem.jyjc, + id: row.orderDetailId, }; addOrder1(data).then((res) => { if (res.code === 200) { - + // 鎴愬姛鏇存柊寤鸿 } else { this.$message.error('寤鸿鏇存柊澶辫触锛�' + (res.msg || '鏈煡閿欒')); } @@ -1098,60 +1052,14 @@ this.$message.error('寤鸿鏇存柊澶辫触锛�' + error.message); }); }, - handleCurrentChangeAdvice(currentRow) { - this.selectedAdvice = currentRow; // 瀛樺偍閫変腑鐨勫缓璁」 - }, - applySelectedAdvice() { - if (this.selectedAdvice) { - this.$set(this.newItem.map, this.activeAdviceIndex, { - bt: this.selectedAdvice.jymc, // 寤鸿鍚嶇О璧嬪�肩粰鏍囬 - nr: this.selectedAdvice.jynr // 寤鸿鍐呭璧嬪�肩粰鍐呭 - }); - this.showjianyi = false; // 鍏抽棴寮圭獥 - this.selectedAdvice = null; // 娓呯┖閫変腑椤� - } else { - this.$message.warning('璇峰厛閫夋嫨涓�鏉″缓璁�'); - } - }, + handleSelectionChange(selection) { console.log(selection); - - }, - tan(event) { - // 鑾峰彇褰撳墠寤鸿缁勭殑绱㈠紩 - this.activeAdviceIndex = event.target.closest('.advice-group') - ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group')) - .indexOf(event.target.closest('.advice-group')) - : 0; - - // 閲嶇疆鍒嗛〉鍙傛暟鍜岀瓫閫夋潯浠� - this.queryParams1.pageNum = 1; - this.queryParams1.pageSize = 10; - this.queryParams1.zyzd = ''; // 娓呯┖寤鸿鍚嶇О杈撳叆妗� - // 绉婚櫎绉戝绛涢�夋潯浠� - delete this.queryParams1.ks; // 纭繚涓嶆惡甯� ks 鍙傛暟 - - // 鍔犺浇鎵�鏈夊揩鎹峰缓璁垪琛� - this.filterAdvices(); - this.showjianyi = true; }, - // 涓嬫媺妗嗙瓫閫夊揩鎹峰缓璁紙鍖呭惈鍒嗛〉閫昏緫锛� - filterAdvices: _.debounce(function (resetPage = false) { - if (resetPage) { - this.queryParams1.pageNum = 1; - } - listAdvicerules(this.queryParams1).then((response) => { - this.advicerulesList = response.rows; - this.total1 = response.total; - }).catch((error) => { - console.error('绛涢�夊揩鎹峰缓璁け璐�:', error); - this.$message.error('绛涢�夊揩鎹峰缓璁け璐�'); - }); - }, 300), submitNewItem() { const data = { - tjh: this.tableAll.tjNumber, // 浣撴鍙凤紝浠� tableAll 涓幏鍙� + tjh: this.tableAll.tjNumber, parentName: this.newItem.parentName, jcxm: this.newItem.jcxm, jcjg: this.newItem.jcjg, @@ -1162,7 +1070,6 @@ }; addOrder1(data).then((res) => { - console.log(res); if (res.code === 200) { this.$message.success('鏂板寮傚父缁撴灉鎴愬姛'); this.addNewDialogVisible = false; @@ -1175,6 +1082,7 @@ this.$message.error('鏂板寮傚父缁撴灉澶辫触'); }); }, + addnew() { this.newItem = { parentName: '', @@ -1187,7 +1095,6 @@ this.addNewDialogVisible = true; cSWebGetPro(this.tjNumber).then((res) => { - console.log(res); if (res.data && Array.isArray(res.data)) { this.projectCategories = res.data; } else { @@ -1203,11 +1110,10 @@ handleCategoryChange(value) { if (value) { - this.newItem.jcxm = value; // 灏嗛�夋嫨鐨勯」鐩垎绫昏祴鍊肩粰妫�娴嬮」鐩� + this.newItem.jcxm = value; } }, - // 娣诲姞鏂扮殑寤鸿缁� addAdvice() { this.newItem.map.push({ bt: '', nr: '' }); }, @@ -1221,26 +1127,21 @@ }, shanchu(row) { - // 绂佺敤鍒犻櫎鎸夐挳锛岄槻姝㈤噸澶嶇偣鍑� this.isdisabled = true; - // 璋冪敤鍚庣鎺ュ彛鍒犻櫎鏁版嵁 shanchu({ id: row.orderDetailId, }).then((res) => { - if (res.code === 200) { // 鍚庣鍒犻櫎鎴愬姛 - // 鎵惧埌瑕佸垹闄ら」鎵�鍦ㄧ殑鐖剁骇鏁扮粍 + if (res.code === 200) { const parentItem = this.yichangList.find(item => item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId) ); if (parentItem) { - // 浠庣埗绾х殑 sone 鏁扮粍涓垹闄よ椤� const index = parentItem.sone.findIndex(item => item.orderDetailId === row.orderDetailId); if (index > -1) { parentItem.sone.splice(index, 1); - // 濡傛灉鍒犻櫎鍚� sone 鏁扮粍涓虹┖锛屽垯鍒犻櫎鏁翠釜鐖剁骇椤� if (parentItem.sone.length === 0) { const parentIndex = this.yichangList.indexOf(parentItem); if (parentIndex > -1) { @@ -1248,16 +1149,9 @@ } } - // 鏇存柊 expends 鏁扮粍锛岀‘淇濆睍寮�鐘舵�佹纭� this.getExpends(); - - // 寮哄埗鍒锋柊琛ㄦ牸 this.$forceUpdate(); - this.$message.success('鍒犻櫎鎴愬姛'); - - // 鍙�夛細璋冪敤 yichangjieguo 鍒锋柊鏁版嵁锛堝鏋滈渶瑕佷笌鍚庣鍚屾锛� - // this.yichangjieguo(); } else { this.$message.error('鏈壘鍒拌鍒犻櫎鐨勫瓙椤�'); } @@ -1271,18 +1165,16 @@ console.error('鍒犻櫎澶辫触:', error); this.$message.error('鍒犻櫎鎿嶄綔澶辫触锛�' + error.message); }).finally(() => { - // 鎭㈠鍒犻櫎鎸夐挳鐘舵�� this.isdisabled = false; }); }, - // 纭繚 getExpends 鏂规硶瀛樺湪锛岀敤浜庢洿鏂板睍寮�鐘舵�� getExpends() { this.expends = this.yichangList.flatMap(item => item.sone.map(soneItem => soneItem.orderDetailId) ); - console.log('Updated expends:', this.expends); }, + getConfigKey() { getconfigKey("sfkqtwbg").then((res) => { this.msgtuwen = res.msg; @@ -1294,26 +1186,26 @@ this.msgkcf = res.msg; }); }, - //璁剧疆table涓殑鎵╁睍椤癸紝灞曞紑鐨刬d锛屾澶勬垜闇�瑕佸叏閮ㄥ睍寮� - getRowKeys(row) { return row.orderDetailId; }, - // 椤圭洰鎯呭喌 + xiangmuqingkuang() { cSWebGetPro(this.tjNumber).then((res) => { this.status1 = 1; this.statusList = res.data; if (this.statusList.length == 0) { - _this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌"); + this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌"); } }); }, + guanbi() { this.drawer = false; }, + yichangjieguo() { this.status1 = 0; let _this = this; @@ -1322,43 +1214,29 @@ }).then((res) => { this.yichangList = res.data; - - this.yichangList.forEach((item) => { item.sone.forEach((soneItem) => { - if ( - !Array.isArray(soneItem.advices) || - soneItem.advices.length === 0 - ) { - // 濡傛灉 advices 鏄┖锛岃缃粯璁ゅ�� - soneItem.advices = [ - { - bt: "", - nr: "", - }, - ]; + if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) { + soneItem.advices = [{ bt: "", nr: "" }]; } }); }); if (!this.yichangList) { _this.$message({ - type: "warning ", + type: "warning", message: "鏆傛棤寮傚父鎶ュ憡", }); } }); }, + 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(); var dayNum = 7 * 24 * 3600 * 1000; @@ -1367,9 +1245,11 @@ var end = this.getLocalTime(curDate); this.startTime = [sDay, end]; }, + add0(m) { return m < 10 ? "0" + m : m; }, + getLocalTime(nS) { var time = new Date(nS); var y = time.getFullYear(); @@ -1389,6 +1269,7 @@ this.add0(mm) ); }, + jianqian() { this.flags = true; this.jianqians = true; @@ -1408,7 +1289,6 @@ this.queryParams.endTime = null; } - // 椤甸潰鏁版嵁 getcheckList(this.queryParams).then((response) => { if (response.code == 200) { this.loading = false; @@ -1418,18 +1298,17 @@ } else { this.checkList = response.data.customers; } - this.total = response.data.total; } else { this.checkList = []; } } - }), - // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 - getCompany(this.queryParam).then((response) => { - this.CompanyList = response.data; - this.loading = false; - }); + }); + + getCompany(this.queryParam).then((response) => { + this.CompanyList = response.data; + this.loading = false; + }); }, viewReport(row) { @@ -1454,18 +1333,13 @@ }); } else { this.dialogVisible = true; - - this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + this.url = window.webkitURL.createObjectURL(response); } }); } else { let url = response.data.url; const params = { url }; - this.$tab.openPage( - "鍋ュ悍璇佹鏌ヨ〃", - "/report/zongjianjiankangzheng", - params - ); + this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/zongjianjiankangzheng", params); } }); }, @@ -1494,13 +1368,6 @@ 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; }); @@ -1555,23 +1422,12 @@ } }); }, - // viewReport(row) { - // const tjNumber = row.tjNumber; - // const viewNum = "792997692059705344"; - // const params = { viewNum, tjNumber }; - // hasReportEnd(tjNumber).then((res) => { - // if (res == 1) { - // this.$tab.openPage("浣撴鎶ュ憡", "/report/viewReport", params); - // } else { - // this.$message.error("璇ョ敤鎴蜂綋妫�鏆傛湭瀹屾垚锛屾棤娉曟墦鍗颁綋妫�鎶ュ憡锛�"); - // } - // }); - // }, + downLoadFileImg(row) { const tjNumber = row.tjNumber; const flag = true; getPdf(tjNumber, flag).then((response) => { - this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + this.url = window.webkitURL.createObjectURL(response); }); }, @@ -1585,7 +1441,6 @@ this.$refs.Pre.title = "澶勬柟"; }, - // 鍗曢�夋寜閽� radioChange(value) { this.loading = true; this.queryParams.checkStatus = value; @@ -1601,27 +1456,27 @@ 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 = ""; } - console.log(data) data.forEach((item) => { - if(item.advice){ + if (item.advice) { this.textarea1 += item.advice; - }else{ + } else { this.textarea1 += item.jynr; } - }); }, + proposalChange() { if (this.textarea1) { this.creatobj = { proParentList: this.textarea1, isZj: 0 }; @@ -1629,16 +1484,16 @@ this.$refs.createproposal.title = "甯哥敤寤鸿缁存姢"; } else { this.$message({ - type: "warning ", + 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; }); @@ -1646,21 +1501,9 @@ 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 ", + type: "warning", message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", }); } @@ -1668,7 +1511,6 @@ } 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; @@ -1677,22 +1519,10 @@ 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 ", + type: "warning", message: "璇ュ鎴锋病鏈夊寲楠岄」鐩暟鎹�", }); } @@ -1700,7 +1530,6 @@ } }, - // 浣撴鍏徃鎷奸煶鎼滅储 getRemoteData(query) { if (query) { let compName = query; @@ -1710,12 +1539,10 @@ } }, - // 閫夋鏁版嵁 searchSelect(val) { this.CheckBox = val; }, - // 鏃堕棿 dateChangebirthday1(val) { this.startTime = val; }, @@ -1726,9 +1553,7 @@ } }, - // 鎼滅储 submitForm() { - console.log(this.tjStatus); this.loading = true; this.queryParams.compId = this.CheckBox.drugManufacturerId; this.queryParams.checkStatus = this.tjStatus; @@ -1740,7 +1565,6 @@ this.queryParams.endTime = null; } - // 椤甸潰鏁版嵁 getcheckList(this.queryParams).then((response) => { if (response.code == 200) { this.loading = false; @@ -1749,7 +1573,6 @@ this.checkList.forEach((item) => { this.tjStatus = item.tjStatus.toString(); }); - this.total = response.data.total; } else { this.checkList = []; @@ -1757,61 +1580,45 @@ } }); }, - // 閲嶇疆 + resetQuery() { this.startTime = []; this.resetForm("tableList"); this.submitForm(); }, + changRed({ row }) { if (row.ycbz != "" && row.ycbz != null) { - // 鍙橀鑹茬殑鏉′欢 return { - color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor + color: "red", }; } }, + red() { return { color: "red", }; }, + redxiangmu({ row }) { if (row.type != 1) { - // 鍙橀鑹茬殑鏉′欢 return { - backgroundColor: "#AAD8DF !important", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor - // color: "#AAD8DF ", + backgroundColor: "#AAD8DF !important", }; } }, - /* 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"; - this.tjNumber = this.tableAll.tjNumber; getState(this.tjNumber).then((res) => { @@ -1836,32 +1643,14 @@ this.changedate.forEach((item) => { this.textarea1 = item.checkAdvice || ""; }); - - // 杩欓噷璁剧疆鍒濆鍊� - this.initialTotalCheckAdvice = this.textarea1; // 淇濆瓨鎬绘寤鸿 - - // 淇濆瓨鍒濆鐘舵�� - this.initialState = JSON.parse( - JSON.stringify(this.changedate) - ); - + 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 ", + type: "warning", message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", }); } @@ -1870,20 +1659,15 @@ } }); } else { - this.$confirm( - "" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", - "鎻愮ず", - { - confirmButtonText: "鏄�", - cancelButtonText: "鍚�", - type: "warning", - } - ) + 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, @@ -1899,32 +1683,13 @@ for (let i = 0; i < this.changedate.length; i++) { this.remark = this.changedate[i].remark; } - this.initialState = JSON.parse( - JSON.stringify(this.changedate) - ); - + 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 ", + type: "warning", message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", }); } @@ -1939,377 +1704,94 @@ 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, - }; - 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: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", - }); - } - }); - }); - } - }); - } - }); - - // 鑾峰彇灏忕粨 - // getDeptAdvice().then((response) => { - // response.data.forEach((item) => { - // this.DeptadviceAll = item; - // }); - // }); - }, - // 鎾ら攢 - 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; - }, - - // 鏄惁鍏抽棴寮圭獥 handleClose(done) { - if (this.loading) { - return; - } - - // 妫�鏌ユ槸鍚︽湁淇敼 - 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("妫�娴嬪唴瀹规湁淇敼锛岀‘瀹氳鎻愪氦鍚楋紵") + if (JSON.stringify(this.initialState) !== JSON.stringify(this.changedate) || this.initialTotalCheckAdvice !== this.textarea1) { + this.$confirm("鎮ㄦ湁鏈繚瀛樼殑鏇存敼锛岀‘瀹氳鍏抽棴鍚楋紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) .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(); - }); + getfiedState(data).then((res) => { + this.drawer = false; + done(); + }); + }) + .catch(() => {}); } else { - // 濡傛灉娌℃湁淇敼锛岀洿鎺ュ叧闂� - done(); + let data = { + userId: this.userId, + tjNumber: this.tjNumber, + state: 1, + }; + getfiedState(data).then((res) => { + this.drawer = false; + done(); + }); } }, - handleClose1() { + + handleClose1(done) { this.jianqians = false; + this.wenzhen = false; + this.flags = false; + done(); }, - // 鐢熸垚鎶ュ憡 - // generate(row) { - // const tjNumber = row.tjNumber; - // getGenerate(tjNumber).then((response) => { - // this.$modal.msgSuccess("鐢熸垚鎴愬姛"); - // }); - // }, - // xiAoJieChange(event) { - // if (event) { - // this.changedate.forEach((item) => { - // item.remark = ""; - // item.parentAdvice.forEach((item1) => { - // event.forEach((item2) => { - // if (item2 == item1.id) { - // item.remark = item.remark + item1.advice + "銆�"; - // } - // }); - // }); - // }); - // } - // }, - 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, + checkAdvice: this.textarea1, + proIds: this.changedate.map(item => item.proId), + remarks: this.changedate.map(item => item.remark), + jgbxs: this.changedate.map(item => item.jgbx), + tjNumber: this.tjNumber, }; - console.log(this.yichangList, 6644); + addOrder(data).then((res) => { + if (res.code === 200) { + this.$message.success('鎻愪氦鎴愬姛'); + this.drawer = false; + this.submitForm(); + } else { + this.$message.error('鎻愪氦澶辫触'); + } + }).catch((error) => { + console.error('鎻愪氦澶辫触:', error); + this.$message.error('鎻愪氦澶辫触'); + }); + }, - 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, - })); + getRevoke(row) { + this.$confirm("纭鎾ら攢璇ユ姤鍛婂悧锛�", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + revoke(row.tjNumber).then((response) => { + if (response.code === 200) { + this.submitForm(); + this.$message.success("鎾ら攢鎴愬姛"); + } else { + this.$message.error("鎾ら攢澶辫触"); + } + }); }) - .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); + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑堟挙閿�", + }); }); }, }, -- Gitblit v1.8.0