From 76af820e2e11366b322705b51c351ace3d40608a Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期二, 01 七月 2025 16:46:04 +0800 Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb_region --- src/views/doctor/checkAll/index.vue | 1682 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 1,090 insertions(+), 592 deletions(-) diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index 90cd4f7..1a1b329 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -1,6 +1,7 @@ <template> <div class="mainbox"> - <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"> + <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" + v-if="tjStatus == 0"> <el-form-item label="濮撳悕" prop="name"> <el-input v-model="queryParams.name" style="width: 120px" placeholder="璇疯緭鍏ュ鍚�" clearable @keyup.enter.native="submitForm"></el-input> @@ -21,10 +22,68 @@ <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" /> </el-select> </el-form-item> + <el-form-item label="浣撴绫诲埆"> + <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨浣撴绫诲埆"> + <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + <!-- <el-input v-model="form.category" placeholder="璇疯緭鍏ヤ綋妫�绫诲埆" /> --> + </el-form-item> <el-form-item> <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> + + + <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" + v-if="tjStatus == 1"> + <el-form-item label="濮撳悕" prop="name"> + <el-input v-model="queryParams.name" style="width: 120px" placeholder="璇疯緭鍏ュ鍚�" clearable + @keyup.enter.native="submitForm"></el-input> + </el-form-item> + <el-form-item label="浣撴鍙�" prop="tjNumber"> + <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable + @keyup.enter.native="submitForm" @blur="hb"></el-input> + </el-form-item> + + <el-form-item label="鍗曚綅鍚嶇О" prop="tjCompName" style="margin-left: 20px"> + <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" + style="width: 180px" remote filterable placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @change="searchSelect"> + <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" /> + </el-select> + </el-form-item> + <el-form-item label="瀹℃牳鍖诲笀" prop="shys"> + <el-input ref="inputName" v-model="queryParams.shys" style="width: 180px" placeholder="璇疯緭鍏ュ鏍稿尰甯�" clearable + @keyup.enter.native="submitForm"></el-input> + </el-form-item> + <el-form-item label="浣撴绫诲埆"> + <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨浣撴绫诲埆"> + <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + <!-- <el-input v-model="form.category" placeholder="璇疯緭鍏ヤ綋妫�绫诲埆" /> --> + </el-form-item> + <el-form-item> + <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">鎼滅储</el-button> + <el-button size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px" + v-show="isCollapsed == 0">楂樼骇鎼滅储</el-button> + <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px" + v-show="isCollapsed == 1">楂樼骇鎼滅储</el-button> + </el-form-item> + <el-row v-show="isCollapsed == 1" :gutter="20"> + <el-col :span="8"> + <el-form-item label="浣撴鏃堕棿" prop="tjTime"> + <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions" + style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" + :default-time="['00:00:00', '23:00:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" + @change="dateChangebirthday1"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px"> @@ -49,13 +108,16 @@ </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="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"> - <template slot-scope="scope"> + <el-table-column label="瀹℃牳鏃堕棿" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 1" /> + <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 0" /> + <!-- <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" + v-if="tjStatus == 0"> + <template slot-scope="scope" v-if="tjStatus == 0"> <span>{{ scope.row.tjStatus == "1" ? "宸插鏍�" : "鏈鏍�" }}</span> </template> </el-table-column> + <el-table-column label="瀹℃牳鍖诲笀" align="center" prop="shys" width="120px" v-if="tjStatus == 1" /> <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="tjCompName" :show-overflow-tooltip="true" /> <el-table-column label="浣撴绫诲埆" align="center" prop="tjCategory"> <template slot-scope="scope"> @@ -87,489 +149,591 @@ <!-- 鐐瑰嚮寮瑰嚭妗� --> <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: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;" - cellspacing="4"> - <caption style="background-color: #f8f8f9; font-size: 18px"> - {{ tableAll.cusName }}鐨勪綋妫�璧勬枡 - </caption> - <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"> - {{ 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> - </table> - <i class="el-icon-close" @click="guanbi"></i> - </div> + <div v-loading="isLoading" element-loading-text="姝e湪鍔犺浇鏁版嵁锛岃绋嶅��..." element-loading-spinner="el-icon-loading" + element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;"> + <div class="top"> + <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;" + cellspacing="4"> + <caption style="background-color: #f8f8f9; font-size: 18px"> + {{ tableAll.cusName }}鐨勪綋妫�璧勬枡 + </caption> + <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">鎬у埆锛歿{ tableAll.cusSex == 0 ? "鐢�" : + tableAll.cusSex == 1 ? "濂�" : "鏈煡" }}</td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse">骞撮緞锛歿{ tableAll.age }}</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> + </table> + <i class="el-icon-close" @click="guanbi"></i> + </div> - <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> - <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; background-color: #aad8df; margin-top: 10px;"> - {{ 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> - </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> - </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> - </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"> - <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 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> + <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 class="btn1"> + <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">澶嶆煡椤圭洰</span></el-button> + </div> + <div class="btn1"> + <el-button @click="yichanghuifu()" type="primary"><span class="vertical-text">寮傚父鎭㈠</span></el-button> </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 class="box"> + <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;"> + {{ item.parent || "" }} </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 - @blur="handleAdviceBlur(props.row, index1)"></el-input> - </div> - <div> - 鍐呭锛� - <el-input v-model="jianyi.nr" size="small" type="textarea" autosize - @blur="handleAdviceBlur(props.row, index1)"></el-input> - </div> - </div> - </div> - <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> - <div v-else> - <div> - 鏍囬锛� - <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize - @blur="handleAdviceBlur(props.row, -1)"></el-input> - </div> - <div> - 鍐呭锛� - <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize - @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"> + <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="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="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> - </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"> + <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> + </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> + </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> + </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 v-if="tableAll && tableAll.tjCategory === '02'" class="section-title">鑱屼笟鐥呮�绘</div> + <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px" + class="demo-ruleForm"> + <el-form-item label="妫�鏌ョ粨璁�"> + <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="zhiyeJl" :rows="3" + style="width: 96%"></el-input> + </el-form-item> + <el-form-item label="浣撴缁撴灉"> + <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="zhiyeJg" :rows="3" + style="width: 96%"></el-input> + </el-form-item> + </el-form> + <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"> + <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> + </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" + v-loading="loading"> + <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 + @blur="handleAdviceBlur(props.row, index1)"></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="jianyi.nr" size="small" type="textarea" autosize + @blur="handleAdviceBlur(props.row, index1)"></el-input> + </div> + </div> + </div> + <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> + <div v-else> <div> 鏍囬锛� - <el-input v-model="jianyi.bt" size="small" type="textarea" autosize - @blur="handleAdviceBlur(props.row, index1)"></el-input> + <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize + @blur="handleAdviceBlur(props.row, -1)"></el-input> </div> <div> 鍐呭锛� - <el-input v-model="jianyi.nr" size="small" type="textarea" autosize - @blur="handleAdviceBlur(props.row, index1)"></el-input> + <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize + @blur="handleAdviceBlur(props.row, -1)"></el-input> </div> </div> - </div> - <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> - <div v-else> - <div> - 鏍囬锛� - <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize - @blur="handleAdviceBlur(props.row, -1)"></el-input> - </div> - <div> - 鍐呭锛� - <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize - @blur="handleAdviceBlur(props.row, -1)"></el-input> + <div style="margin-top: 10px;"> + <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button> </div> </div> - <div style="margin-top: 10px;"> - <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button> + </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 + @blur="handleAdviceBlur(props.row, index1)"></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="jianyi.nr" size="small" type="textarea" autosize + @blur="handleAdviceBlur(props.row, index1)"></el-input> + </div> + </div> + </div> + <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> + <div v-else> + <div> + 鏍囬锛� + <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize + @blur="handleAdviceBlur(props.row, -1)"></el-input> + </div> + <div> + 鍐呭锛� + <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize + @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> - </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;"> - 椤圭洰妫�鏌ユ儏鍐� + </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> - <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> - <el-button type="primary" @click="addnew" :disabled="isdisabled">鏂板</el-button> + </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-column label="鎿嶄綔" align="center" width="130px"> + <template slot-scope="scope"> + <el-button type="primary" size="mini" @click="huifu" v-if="scope.row.type == '2'">鎭㈠</el-button> + </template> + </el-table-column> + </el-table> + </div> + </template> + + <template v-if="status1 == 2"> + <div> + <div style="text-align: center; margin-top: 10px;"> + 澶嶆煡椤圭洰 + </div> + <div style="display: flex;margin:15px ;"> + <span slot="label" style="display: inline-block; border-bottom: 2px solid blue;font-size: 0.8vw;" + @click="handleQuery"> + 椤圭洰閫夋嫨 + </span> + <div v-if="xmChange.length > 0" style="display: flex;"> + <div style="margin:0 40px;font-size: 0.8vw;">椤圭洰鍚嶇О锛歿{ xmChange[0].proName || "" }}</div> + <div style="margin:0 80px ;font-size: 0.8vw;">浠锋牸锛歿{ xmChange[0].price || "" }}</div> + </div> + <div v-else style="display: flex;"> + <div style="margin:0 40px;font-size: 0.8vw;">椤圭洰鍚嶇О锛歿{ }}</div> + <div style="margin:0 80px ;font-size: 0.8vw;">浠锋牸锛歿{ }}</div> + </div> + <el-button type="primary" size="mini" @click="handleaddClick()">娣诲姞</el-button> + </div> + + <el-table :row-style="redxiangmu" :data="fcList" style="width: 100%" border> + <el-table-column type="selection" width="40" align="center" /> + <el-table-column label="搴忓彿" align="center" prop="newID" /> + <el-table-column label="鍚嶇О" align="center" prop="proName" width="100px" /> + <el-table-column label="浠锋牸" align="center" prop="price" /> + <el-table-column label="绉戝" align="center" prop="deptName" /> + <el-table-column label="鎿嶄綔" align="center" width="130px"> + <template slot-scope="scope"> + <el-button type="primary" size="mini" @click="handledeleteClick(scope.row)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </div> + </template> + <template v-if="status1 == 3"> + <div class="hist3"> + <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-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-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-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-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> + </template> + <template v-if="status1 == 4"> + <div> + <el-table + :data="ychfList" + style="width: 100%" + :header-cell-style="{ background: '#e6a23c' }" + > + <el-table-column + align="center" + prop="jcxm" + label="椤圭洰鍚�" + width="260" + ></el-table-column> + <el-table-column + label="缁撴灉" + align="center" + prop="jcjg" + width="160" + /> + <el-table-column label="鎿嶄綔" align="center" width="130px"> + <template v-slot="scope"> + <el-button + type="primary" + size="mini" + @click="hfyc(scope.row.id)" + >鎭㈠</el-button + > + </template> + </el-table-column> + </el-table> + </div> + </template> + <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">鏂板</el-button> + </div> </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-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-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-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-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 title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false" width="50%"> @@ -660,6 +824,23 @@ <el-button type="primary" @click="applySelectedAdvice" :disabled="!selectedAdvice">纭畾</el-button> </span> </el-dialog> + + <el-dialog :visible.sync="xmopen" width="800px" append-to-body> + <div style="margin: 20px;"> + <el-table :data="datasList" ref="elTable" v-loading="loading" @selection-change="handlexmChange" border + height="320px"> + <el-table-column type="selection" width="40" align="center" /> + <el-table-column label="鍚嶇О" align="center" prop="proName" width="100px" /> + <el-table-column label="浠锋牸" align="center" prop="price" /> + <el-table-column label="绉戝" align="center" prop="deptName" /> + </el-table> + </div> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFormxm">纭� 瀹�</el-button> + <el-button @click="cancels">鍙� 娑�</el-button> + </div> + </el-dialog> <Packages ref="bbb" :baogao="baogao" /> <Prescription ref="Pre" :preObj="preObj" /> <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" /> @@ -687,14 +868,18 @@ getModified, isPdfOrJimu, addOrder, - addOrder1 + addOrder1, + getFcList, + UpdFcPro, + huiFuyichangxiangmu, + hfbt, } from "@/api/doctor/checkAll"; import { getInfoById } from "@/api/hosp/history"; import { getInfo } from "@/api/login"; import { getCompany, queryCompany } from "@/api/team/tuanti"; import { reportHistory, yichang, shanchu } from "@/api/doctor/check"; import { getPdf, revoke } from "@/api/hosp/order"; -import { cSWebGetPro } from "@/api/doctor/examination"; +import { cSWebGetPro,huifu,} from "@/api/doctor/examination"; import ViewPdf from "@/components/ViewPdf"; import Historicalreport from "@/components/Historicalreport"; import { getDicts } from "@/api/system/dict/data"; @@ -715,6 +900,7 @@ Prescription, }, dicts: [ + "dict_team", "dict_tjtype", "sys_user_sex", "sys_yes_no", @@ -728,19 +914,28 @@ name: "checkAll", data() { return { + zhiyeJl: '', // 鍒濆鍖栨鏌ョ粨璁轰负绌� + zhiyeJg: '', // 鍒濆鍖栦綋妫�缁撴灉涓洪粯璁ゅ�� selectedAdvice: null, activeAdviceIndex: 0, advicerulesList: [], + xmChange: [], showjianyi: false, - adviceLoading: false, // 鎺у埗琛ㄦ牸鍔犺浇鐘舵�� - adviceEmptyText: '鏆傛棤鏁版嵁', // 鑷畾涔夌┖鏁版嵁鎻愮ず + isLoading: false, + adviceLoading: false, + adviceEmptyText: '鏆傛棤鏁版嵁', total1: 0, + forms: { + pacName: "" + }, + xmopen: false, + datasList: [], queryParams1: { pageNum: 1, pageSize: 10, - zyzd: '', // 寤鸿鍚嶇О + zyzd: '', }, - adviceCache: new Map(), // 缂撳瓨寤鸿鏁版嵁 + adviceCache: new Map(), addNewDialogVisible: false, newItem: { parentName: '', @@ -764,7 +959,6 @@ jianqians: false, sex: true, activeName: "1", - wenzhen: false, hosproy: true, remarks: "", remark: "", @@ -824,6 +1018,7 @@ Testitems: [], CheckBox: {}, startTime: [], + isCollapsed: 0, textarea1: "", loading: true, selectLettercurrent: " ", @@ -845,9 +1040,12 @@ compId: null, name: null, checkStatus: null, + shys: null, + tjCategory: null }, formobj: {}, yichangList: [], + fcList: [], statusList: [], queryParam: { pageNum: 1, @@ -880,10 +1078,10 @@ }, created() { + console.log(this.dict.type.dict_tjtype, "鑱屼笟浣撴"); this.getConfigKey(); this.getdate(); }, - mounted() { this.$nextTick(() => { this.$refs.inputName.focus(); @@ -901,10 +1099,10 @@ this.queryParams1.pageNum = 1; this.queryParams1.pageSize = 10; this.queryParams1.zyzd = ''; - this.selectedAdvice = null; // 閲嶇疆閫変腑寤鸿 - this.advicerulesList = []; // 娓呯┖寤鸿鍒楄〃 + this.selectedAdvice = null; + this.advicerulesList = []; this.total1 = 0; - this.adviceCache.clear(); // 娓呯┖缂撳瓨 + this.adviceCache.clear(); this.filterAdvices(); this.showjianyi = true; }, @@ -915,10 +1113,8 @@ this.queryParams1.pageNum = 1; } - // 鐢熸垚缂撳瓨 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; @@ -927,7 +1123,6 @@ return; } - // 鏄剧ず鍔犺浇鐘舵�� this.adviceLoading = true; this.adviceEmptyText = '鍔犺浇涓�...'; @@ -936,13 +1131,11 @@ 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) => { @@ -955,10 +1148,18 @@ .finally(() => { this.adviceLoading = false; }); - }, 800), // 闃叉姈鏃堕棿涓� 800ms + }, 800), handleCurrentChangeAdvice(currentRow) { this.selectedAdvice = currentRow; + }, + + + toggleCollapse3() { + this.isCollapsed = 0; + }, + toggleCollapse() { + this.isCollapsed = 1; }, applySelectedAdvice() { @@ -974,7 +1175,6 @@ } }, - // 鍙栨秷閫夋嫨骞跺叧闂璇濇 cancelAdviceDialog() { this.showjianyi = false; this.selectedAdvice = null; @@ -985,7 +1185,6 @@ this.adviceCache.clear(); }, - // 鍏抽棴瀵硅瘽妗嗗墠鐨勭‘璁� handleCloseAdviceDialog(done) { if (this.selectedAdvice) { this.$confirm('鎮ㄥ凡閫夋嫨涓�鏉″缓璁紝纭畾瑕佸叧闂悧锛�', '鎻愮ず', { @@ -997,7 +1196,7 @@ this.cancelAdviceDialog(); done(); }) - .catch(() => {}); + .catch(() => { }); } else { this.cancelAdviceDialog(); done(); @@ -1114,6 +1313,10 @@ } }, + change(val) { + console.log('閫変腑鐨勫�兼槸锛�', val); + }, + addAdvice() { this.newItem.map.push({ bt: '', nr: '' }); }, @@ -1132,6 +1335,8 @@ shanchu({ id: row.orderDetailId, }).then((res) => { + console.log(res, 1111); + if (res.code === 200) { const parentItem = this.yichangList.find(item => item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId) @@ -1169,6 +1374,51 @@ }); }, + handleQuery() { + this.xmopen = true; + let data = { + tjNum: this.tjNumber, + type: 0 + }; + getFcList(data).then(res => { + this.datasList = res.data; + }); + }, + + handleaddClick() { + console.log(this.xmChange); + let data = { + orderId: this.xmChange[0].orderId, + data: [{ + proId: this.xmChange[0].proId, + type: 1 + }] + }; + UpdFcPro(data).then(res => { }); + }, + + handledeleteClick() { + UpdFcPro(data).then(res => { }); + }, + + handlexmChange(selection) { + this.xmChange = []; + this.xmChange = selection; + if (selection.length > 1) { + let del_row = selection.shift(); + this.$refs.elTable.toggleRowSelection(del_row, false); + } + }, + + submitFormxm() { + this.xmopen = false; + }, + + cancels() { + this.xmopen = false; + this.xmChange = []; + }, + getExpends() { this.expends = this.yichangList.flatMap(item => item.sone.map(soneItem => soneItem.orderDetailId) @@ -1192,14 +1442,22 @@ }, xiangmuqingkuang() { - cSWebGetPro(this.tjNumber).then((res) => { - this.status1 = 1; - this.statusList = res.data; - - if (this.statusList.length == 0) { - this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌"); - } - }); + this.loading = true; + cSWebGetPro(this.tjNumber) + .then((res) => { + this.status1 = 1; + this.statusList = res.data; + if (this.statusList.length == 0) { + this.$message.success("鏆傛棤椤圭洰鎯呭喌"); + } + }) + .catch((error) => { + console.error('鑾峰彇椤圭洰鎯呭喌澶辫触:', error); + this.$message.error('鑾峰彇椤圭洰鎯呭喌澶辫触'); + }) + .finally(() => { + this.loading = false; + }); }, guanbi() { @@ -1207,28 +1465,55 @@ }, yichangjieguo() { + this.isLoading = true this.status1 = 0; - let _this = this; + this.yichangList = [] yichang({ tjNum: this.tjNumber, - }).then((res) => { - this.yichangList = res.data; - - this.yichangList.forEach((item) => { - item.sone.forEach((soneItem) => { - if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) { - soneItem.advices = [{ bt: "", nr: "" }]; - } + }) + .then((res) => { + this.isLoading = false + this.yichangList = res.data; + this.yichangList.forEach((item) => { + item.sone.forEach((soneItem) => { + if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) { + soneItem.advices = [{ bt: "", nr: "" }]; + } + }); }); + if (!this.yichangList) { + this.$message.warning("鏆傛棤寮傚父鎶ュ憡"); + } + }) + .catch((error) => { + this.isLoading = false + console.error('鑾峰彇寮傚父缁撴灉澶辫触:', error); + this.$message.error('鑾峰彇寮傚父缁撴灉澶辫触'); + }) + .finally(() => { + this.isLoading = false + this.loading = false; }); + }, - if (!this.yichangList) { - _this.$message({ - type: "warning", - message: "鏆傛棤寮傚父鎶ュ憡", - }); - } - }); + fuchaxiangmu() { + this.loading = true; + this.status1 = 2; + let data = { + tjNum: this.tjNumber, + type: 1 + }; + getFcList(data) + .then((res) => { + this.fcList = res.data; + }) + .catch((error) => { + console.error('鑾峰彇澶嶆煡椤圭洰澶辫触:', error); + this.$message.error('鑾峰彇澶嶆煡椤圭洰澶辫触'); + }) + .finally(() => { + this.loading = false; + }); }, getdate() { @@ -1345,82 +1630,110 @@ }, Graphicreport() { + this.loading = true; let dictType = "dict_ageunit"; - getDicts(dictType).then((res) => { - if (res.code == 200) { - res.data.forEach((item) => { - if (this.tableAll.age_unit == item.dictValue) { - this.tableAll.age_unit = item.dictLabel; - } - }); - let dictTypes = "sys_user_sex"; - getDicts(dictTypes).then((res) => { - if (res.code == 200) { - res.data.forEach((item) => { - if (this.tableAll.cusSex == item.dictValue) { - this.tableAll.cusSex = item.dictLabel; - } - }); - let data = { - patname: this.tableAll.cusName, - sex: this.tableAll.cusSex, - patage: this.tableAll.age, - patagename: this.tableAll.age_unit, - patbirth: this.tableAll.cusBrithday, - }; - getTjYxjcList(data).then((res) => { - this.baogao = res.data; - }); - this.$refs.bbb.open = true; - this.$refs.bbb.title = "鎶ュ憡瀛楀吀"; - } - }); - } - }); + getDicts(dictType) + .then((res) => { + if (res.code == 200) { + res.data.forEach((item) => { + if (this.tableAll.age_unit == item.dictValue) { + this.tableAll.age_unit = item.dictLabel; + } + }); + let dictTypes = "sys_user_sex"; + return getDicts(dictTypes); + } else { + throw new Error('鑾峰彇骞撮緞鍗曚綅瀛楀吀澶辫触'); + } + }) + .then((res) => { + if (res.code == 200) { + res.data.forEach((item) => { + if (this.tableAll.cusSex == item.dictValue) { + this.tableAll.cusSex = item.dictLabel; + } + }); + let data = { + patname: this.tableAll.cusName, + sex: this.tableAll.cusSex, + patage: this.tableAll.age, + patagename: this.tableAll.age_unit, + patbirth: this.tableAll.cusBrithday, + }; + return getTjYxjcList(data); + } else { + throw new Error('鑾峰彇鎬у埆瀛楀吀澶辫触'); + } + }) + .then((res) => { + this.baogao = res.data; + this.$refs.bbb.open = true; + this.$refs.bbb.title = "鎶ュ憡瀛楀吀"; + }) + .catch((error) => { + console.error('鐢熸垚鍥炬枃鎶ュ憡澶辫触:', error); + this.$message.error('鐢熸垚鍥炬枃鎶ュ憡澶辫触'); + }) + .finally(() => { + this.loading = false; + }); }, historicalreport() { this.loading = true; - this.wenzhen = false; - this.hosproy = true; let data = { cusId: this.tableAll.cusId, }; - reportHistory(data).then((res) => { - this.loading = false; - if (res.data[0] != null) { - this.reportHistorydata = res.data; - } else { - this.reportHistorydata = []; - } - }); + reportHistory(data) + .then((res) => { + if (res.data[0] != null) { + this.reportHistorydata = res.data; + } else { + this.reportHistorydata = []; + } + }) + .catch((error) => { + console.error('鑾峰彇鍘嗗彶鎶ュ憡澶辫触:', error); + this.$message.error('鑾峰彇鍘嗗彶鎶ュ憡澶辫触'); + }) + .finally(() => { + this.loading = false; + }); }, medicalhistory() { - this.wenzhen = true; - this.hosproy = false; + this.loading = true; + this.status1 = 3; let tjNumber = this.tableAll.tjNumber; - getInfoById(tjNumber).then((response) => { - this.formobj = response.data; - if (this.formobj.xiyan == null) { - this.formobj.xiyan = "1"; - } - if (this.formobj.xiyanpinlv == null) { - this.formobj.xiyanpinlv = "0"; - } - if (this.formobj.xiyanyear == null) { - this.formobj.xiyanyear = "0"; - } - if (this.formobj.yinjiu == null) { - this.formobj.yinjiu = "1"; - } - if (this.formobj.yinjiupinlv == null) { - this.formobj.yinjiupinlv = "0"; - } - if (this.formobj.yinjiuyear == null) { - this.formobj.yinjiuyear = "0"; - } - }); + getInfoById(tjNumber) + .then((response) => { + this.formobj = response.data; + if (this.formobj.xiyan == null) { + this.formobj.xiyan = "1"; + } + if (this.formobj.xiyanpinlv == null) { + this.formobj.xiyanpinlv = "0"; + } + if (this.formobj.xiyanyear == null) { + this.formobj.xiyanyear = "0"; + } + if (this.formobj.yinjiu == null) { + this.formobj.yinjiu = "1"; + } + if (this.formobj.yinjiupinlv == null) { + this.formobj.yinjiupinlv = "0"; + } + if (this.formobj.yinjiuyear == null) { + this.formobj.yinjiuyear = "0"; + } + }) + .catch((error) => { + console.error('鑾峰彇鑱屼笟鐥呭彶澶辫触:', error); + this.$message.error('鑾峰彇鑱屼笟鐥呭彶澶辫触'); + }) + .finally(() => { + this.loading = false; + }); }, downLoadFileImg(row) { @@ -1581,9 +1894,75 @@ }); }, + huifu(row){ + const tjNUm = this.tjNumber; + const proId = row.proId; + huifu(tjNUm, proId).then((res) => { + if (res.code == 200) { + this.xiangmuqingkuang() + } + }); + }, + + yichanghuifu() { + this.loading = true; + let tjNum = this.tjNumber; + huiFuyichangxiangmu(tjNum).then((res) => { + this.status1 = 4; + this.ychfList = res.data; + if(this.ychfList.length == 0){ + this.message.success("鏆傛棤寮傚父鎭㈠椤圭洰") + } + }) + .catch((error)=>{ + console.error("鑾峰彇椤圭洰澶辫触锛�",error); + + this.$message.error("鑾峰彇椤圭洰澶辫触") + }) + .finally(()=>{ + this.loading = false; + }) + }, + + hfyc(id) { + this.$confirm("纭瑕佹仮澶嶈椤瑰悧锛�", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + // 鐢ㄦ埛纭鍚庢墽琛屾帴鍙� + hfbt({ id }) + .then((res) => { + this.$message.success("鎭㈠鎴愬姛"); + this.yichanghuifu(); // 鎭㈠鍚庡埛鏂板垪琛� + }) + .catch((err) => { + console.error(err); + this.$message.error("鎭㈠澶辫触"); + }); + }) + .catch(() => { + // 鐢ㄦ埛鍙栨秷浜嗘搷浣� + this.$message.info("宸插彇娑堟仮澶�"); + }); + }, + resetQuery() { this.startTime = []; - this.resetForm("tableList"); + this.queryParams = { + page: 1, + pageSize: 10, + tjNumber: "", + beginTime: null, + endTime: null, + compId: null, + name: null, + checkStatus: null, + shys: null, + tjCategory: null + }, + this.resetForm("tableList"); this.submitForm(); }, @@ -1614,8 +1993,18 @@ this.handleClick(val); } }, + qingkong() { + this.tableAll = {} + this.changedate = [] + this.yichangList = [] + this.statusList = [] + this.xmChange = [] + this.fcList = [] + this.formobj = {} + }, handleClick(row) { + this.qingkong() this.$refs.Pre.open = false; this.tableAll = row; this.tjproject = "0"; @@ -1636,8 +2025,10 @@ }; getModifiedState(data).then((res) => { this.MsgId = res.msg; + this.isLoading = true this.drawer = true; getupdateCheckType(this.tjNumber).then((response) => { + this.isLoading = false this.changedate = response.data; if (this.changedate) { this.changedate.forEach((item) => { @@ -1648,16 +2039,23 @@ for (let i = 0; i < this.changedate.length; i++) { this.remark = this.changedate[i].remark; } + // 鍥炴樉 zhiyeJl 鍜� zhiyeJg + this.zhiyeJl = this.changedate[0].zhiyejl || ''; + this.zhiyeJg = this.changedate[0].zhiyejg || '鏈彂鐜扮洰鏍囨�х柧鐥�'; } else { this.$message({ type: "warning", message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", }); + // 濡傛灉娌℃湁鏁版嵁锛屾竻绌哄瓧娈� + this.zhiyeJl = ''; + this.zhiyeJg = '鏈彂鐜扮洰鏍囨�х柧鐥�'; } }); }); } }); + } else { this.$confirm("" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", "鎻愮ず", { confirmButtonText: "鏄�", @@ -1676,8 +2074,10 @@ }; getforceIn(data).then((res) => { this.MsgId = res.msg; + this.isLoading = true this.drawer = true; getupdateCheckType(this.tjNumber).then((response) => { + this.isLoading = false this.changedate = response.data; if (this.changedate) { for (let i = 0; i < this.changedate.length; i++) { @@ -1687,16 +2087,23 @@ this.changedate.forEach((item) => { this.textarea1 = item.checkAdvice || ""; }); + // 鍥炴樉 zhiyeJl 鍜� zhiyeJg + this.zhiyeJl = this.changedate[0].zhiyejl || ''; + this.zhiyeJg = this.changedate[0].zhiyejg || '鏈彂鐜扮洰鏍囨�х柧鐥�'; } else { this.$message({ type: "warning", message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁", }); + // 濡傛灉娌℃湁鏁版嵁锛屾竻绌哄瓧娈� + this.zhiyeJl = ''; + this.zhiyeJg = '鏈彂鐜扮洰鏍囨�х柧鐥�'; } }); }); } }); + }) .catch(() => { this.$message({ @@ -1727,7 +2134,7 @@ done(); }); }) - .catch(() => {}); + .catch(() => { }); } else { let data = { userId: this.userId, @@ -1743,32 +2150,110 @@ handleClose1(done) { this.jianqians = false; - this.wenzhen = false; this.flags = false; done(); }, determine() { + let tjNumber = this.tableAll.tjNumber; + let tjh = this.tableAll.tjNumber; + let advice = this.textarea1; let data = { - 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, + tjNumber, + advice, + checkStatus: 1, + zhiyeJl: this.zhiyeJl, // 娣诲姞妫�鏌ョ粨璁� + zhiyeJg: this.zhiyeJg // 娣诲姞浣撴缁撴灉 }; + 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(); - 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('鎻愪氦澶辫触'); - }); + this.loading = true; + getTjdetailList(data) + .then((response) => { + if (response.code === 200) { + this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + // 娓呯┖瀛楁 + this.zhiyeJl = ''; + this.zhiyeJg = ''; + + let reportData = { + userId: this.userId, + tjNumber: tjNumber, + state: 1, + id: this.MsgId, + }; + + addOrder(dataList) + .then((res) => { + 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.all([statePromise, ...updatePromises]) + .then(() => { + 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) => { + this.loading = false; + console.error("addOrderPromise 澶辫触:", error); + }); + } else { + this.loading = false; + this.$modal.msgError("鎻愪氦澶辫触"); + } + }) + .catch((error) => { + this.loading = false; + console.error("鎻愪氦璇锋眰澶辫触:", error); + this.$modal.msgError("鎻愪氦璇锋眰澶辫触"); + }); }, getRevoke(row) { @@ -2148,6 +2633,19 @@ } } +.section-title { + font-size: 20px; + font-weight: bold; + color: #303133; + background-color: #f5f7fa; + padding: 10px 15px; + border-left: 4px solid #409eff; + /* 宸︿晶钃濊壊杈规潯锛屽寮鸿瑙夋晥鏋� */ + margin-bottom: 15px; + margin-top: 15px; + border-radius: 4px; +} + .dialog-pager { display: flex; justify-content: center; -- Gitblit v1.8.0