From 4c9eab7cd2f92e6ebee76f38f1616cb3e5855697 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 10 四月 2025 10:46:27 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/patient/behospitalized.vue | 539 +++++++++++++++++++++++++---------------------------------- 1 files changed, 228 insertions(+), 311 deletions(-) diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue index de55f9c..529717a 100644 --- a/src/views/patient/patient/behospitalized.vue +++ b/src/views/patient/patient/behospitalized.vue @@ -13,69 +13,58 @@ > <el-form-item label="鎮h�呭鍚�" prop="name"> <el-input - v-model="queryParams.name" + v-model="queryParams.patname" placeholder="璇疯緭鍏ュ鍚�" clearable - style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鎮h�呬綇闄㈠彿" prop="idno"> + <el-form-item label="涓绘不鍖荤敓" prop="name"> <el-input - v-model="queryParams.idno" + v-model="queryParams.drname" + placeholder="璇疯緭鍏ュ鍚�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="璐d换鎶ゅ+" prop="name"> + <el-input + v-model="queryParams.nurseName" + placeholder="璇疯緭鍏ュ鍚�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="浣忛櫌鍙�" prop="patid"> + <el-input + v-model="queryParams.patid" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" clearable - style="width: 250px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鎶ょ悊绛夌骇" prop="tagId"> - <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨"> - <el-option - v-for="dict in dict.type.nursinggrade" - :key="dict.value" - :label="dict.label" - :value="dict.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="绉戝/鐥呭尯" prop="tagId"> - <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨"> - <el-option - v-for="dict in dict.type.nursinggrade" - :key="dict.value" - :label="dict.label" - :value="dict.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鍏ラ櫌鏃堕棿" prop="entrytime"> + <el-form-item label="鎮h�呰寖鍥�" prop="status"> + <el-cascader + v-model="queryParams.scopetype" + placeholder="榛樿鍏ㄩ儴" + :options="sourcetype" + :props="{ expandTrigger: 'hover' }" + @change="handleChange" + ></el-cascader> + </el-form-item> + <el-form-item label=" 鍏ラ櫌鏃ユ湡 " prop="createTime"> <el-date-picker - v-model="queryParams.entrytime" + v-model="dateRange" + style="width: 240px" + value-format="yyyy-MM-dd" type="daterange" - range-separator="鑷�" + range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" - > - </el-date-picker> + ></el-date-picker> </el-form-item> - <el-form-item - label="鍑洪櫌鏃堕棿" - prop="departuretime -" - > - <el-date-picker - v-model="queryParams.departuretime" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - > - </el-date-picker> - </el-form-item> + <el-row> <el-form-item> <el-button @@ -96,7 +85,7 @@ </el-form> <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <el-button type="primary" plain @@ -106,8 +95,8 @@ v-hasPermi="['system:user:add']" >鏂板</el-button > - </el-col> - <el-col :span="1.5"> + </el-col> --> + <!-- <el-col :span="1.5"> <el-button type="success" plain @@ -118,7 +107,7 @@ v-hasPermi="['system:user:edit']" >淇敼</el-button > - </el-col> + </el-col> --> <el-col :span="1.5"> <el-button type="danger" @@ -131,65 +120,67 @@ >鍒犻櫎</el-button > </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> + <!-- <el-col :span="1.5"> </el-col> --> </el-row> <el-table v-loading="loading" :data="userList" + height="808" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column + <!-- <el-table-column label="搴忓彿" + fixed align="center" - key="patid" - prop="patid" - /> + key="id" + prop="id" + /> --> <el-table-column - label="搴婁綅鍙�" + label="鍏ラ櫌鏃ユ湡" align="center" - key="Patientnumber" - prop="Patientnumber" - /> + key="starttime" + prop="starttime" + width="160" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.starttime) }}</span> + </template> + </el-table-column> + <el-table-column label="浣忛櫌鍙�" align="center" - key="Patientnumber" - prop="Patientnumber" + key="inhospno" + prop="inhospno" + width="120" /> + <el-table-column - label="鎮h�呭鍚�" + label="濮撳悕" + width="100" align="center" - key="name" - prop="name" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> + key="patname" + prop="patname" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click=" + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) + " + ><span class="button-textsc">{{ + scope.row.patname + }}</span></el-button + > + </template> + </el-table-column> + <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex"> <template slot-scope="scope"> <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> </template> @@ -202,96 +193,61 @@ width="120" /> <el-table-column - label="璐圭敤" + label="鑱旂郴鐢佃瘽" align="center" - key="telephone" - prop="telephone" + key="telcode" + prop="telcode" width="120" /> - <el-table-column - label="鍏ョ鏃堕棿" - align="center" - key="archivetime" - prop="archivetime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鍑洪櫌鏃堕棿" - align="center" - key="archivetime" - prop="archivetime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> <el-table-column - label="鎶ょ悊绛夌骇" + label="鍏ラ櫌璇婃柇" align="center" - key="idtype" - prop="idtype" - width="120" - /> - <el-table-column - label="鐥呮儏鐘舵��" - align="center" - key="idno" - prop="idno" + key="diagname" + prop="diagname" width="190" /> <el-table-column - label="涓讳换鍖诲笀" + label="绉戝" align="center" - key="telcode" - prop="telcode" + key="deptname" + prop="deptname" + width="180" + /> + <el-table-column + label="鐥呭尯" + align="center" + key="leavehospitaldistrictname" + prop="leavehospitaldistrictname" + width="180" + /> + <!-- <el-table-column + label="搴婁綅鍙�" + align="center" + key="bedNo" + prop="bedNo" width="120" /> <el-table-column - label="涓绘不鍖诲笀" + label="涓绘不鍖荤敓" align="center" - key="telcode" - prop="telcode" + key="drname" + prop="drname" width="120" /> <el-table-column - label="浣忛櫌鍖诲笀" + label="璐d换鎶ゅ+" align="center" - key="telcode" - prop="telcode" + key="nurseName" + prop="nurseName" width="120" - /> - <el-table-column - label="浣忛櫌鐥呭尯" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鍏ラ櫌璇婃柇" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鍑洪櫌灏忕粨" - align="center" - key="telcode" - prop="telcode" - width="120" - /> + /> --> + <el-table-column label="鎿嶄綔" + fixed="right" align="center" - width="160" class-name="small-padding fixed-width" > <template slot-scope="scope"> @@ -304,18 +260,8 @@ query: { id: scope.row.patid }, }) " - v-hasPermi="['system:user:edit']" ><span class="button-textsc" ><i class="el-icon-zoom-in"></i>鏌ョ湅</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-edit"></i>淇敼</span ></el-button > </template> @@ -331,125 +277,6 @@ /> </el-col> </el-row> - - <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog - :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'" - :visible.sync="Labelchange" - width="900px" - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="12"> - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="form.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎬у埆" prop="sex"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> - <el-option - v-for="dict in dict.type.sys_user_sex" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="璇佷欢绫诲瀷" prop="idtype"> - <el-select v-model="form.idtype" placeholder="璇烽�夋嫨鎬у埆"> - <el-option - v-for="item in paperstypes" - :key="item.papersname" - :label="item.papersname" - :value="item.papersname" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璇佷欢鍙�" prop="idno"> - <el-input - v-model="form.idno" - placeholder="璇疯緭鍏ヨ瘉浠跺彿" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鏈汉鎵嬫満鍙�" prop="telcode"> - <el-input - v-model="form.telcode" - placeholder="璇疯緭鍏ユ墜鏈哄彿" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浜插睘鎵嬫満鍙�" prop="relativetelcode"> - <el-input - v-model="form.relativetelcode" - placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿" - type="password" - maxlength="20" - show-password - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="骞撮緞" prop="age"> - <el-input - v-model="form.age" - placeholder="璇疯緭鍏ュ勾榫�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎮h�呮爣绛�"> - <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> --> - <el-select v-model="form.tagList" multiple placeholder="璇烽�夋嫨"> - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> - <!-- </el-select> --> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> <el-dialog @@ -500,8 +327,9 @@ <div class="uploading" v-else-if="dractive == 2"> <el-table :data="uploadingData" style="width: 100%"> <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> + <el-table-column prop="name" label="濮撳悕" + width="100"> </el-table-column> + <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column> <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> </el-table-column> <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> @@ -544,13 +372,11 @@ <script> import { delUser } from "@/api/system/user"; +import formatTime from "@/filters/index"; + import { - listpat_archive, - getpat_archive, - addpat_archive, - updatepat_archive, - delpat_archive, -} from "@/api/smartorpor/pat_archive"; + listpatient, +} from "@/api/patient/record"; import { messagelistpatient, alterpatient, @@ -560,10 +386,13 @@ Exporterrorpatient, toleadpatient, } from "@/api/patient/homepage"; + import { listtag } from "@/api/system/label"; import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; +import { listDept } from "@/api/system/dept"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +import store from "@/store"; export default { name: "behospitalized", @@ -604,15 +433,45 @@ { papersname: "涓浗娓境灞呮皯韬唤璇�" }, { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, ], + source: [ + { + value: 0, + label: "鎵�灞炴偅鑰�", + }, + { + value: 1, + label: "绉戝鎮h��", + }, + { + value: 2, + label: "鐥呭尯鎮h��", + }, + ], + sourcetype: [ + { + value: 1, + label: "绉戝", + children: [], + }, + { + value: 2, + label: "鐥呭尯", + children: [], + }, + { + value: 3, + label: "鍏ㄩ儴", + }, + ], // 琛ㄥ崟鍙傛暟 form: { name: "", age: "", sex: "", tagList: [], - idno: "", + idcardno: "", telcode: "", - idtype: "", + idcardtype: "", relativetelcode: "", }, //瀵煎叆杩涘害 @@ -626,8 +485,8 @@ optionstag: [], //鏍囩鍒楄〃 Patientrange: [ { - name: "鍏ㄩ儴", - id: 1, + name: "鍏ㄩ儴绉戝", + id: 999, }, { name: "褰撳墠绉戝", @@ -657,11 +516,11 @@ queryParams: { pageNum: 1, pageSize: 10, - idno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, + cry: 0, + searchscope: 2, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }, // 琛ㄥ崟鏍¢獙 rules: { @@ -719,23 +578,74 @@ }, created() { this.getList(); + this.listDept(); this.gettabList(); + this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { + return { + label: dept.deptName, + value: dept.deptCode, + }; + }); + this.sourcetype[1].children = store.getters.belongWards.map((dept) => { + return { + label: dept.districtName, + value: dept.districtCode, + }; + }); }, methods: { /** 鏌ヨ鎮h�呭垪琛� */ getList() { this.loading = true; - messagelistpatient(this.queryParams).then((response) => { + if (this.queryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + listpatient(this.queryParams).then((response) => { console.log(response); this.userList = response.rows; this.total = response.total; this.loading = false; }); }, + listDept() { + listDept(this.queryParams).then((res) => { + this.deptList = res.data; + console.log(this.deptList, "this.deptList"); + }); + }, + // 鎮h�呰寖鍥村鐞� + handleChange(value) { + let type = value[0]; + let code = value.slice(-1)[0]; + this.queryParams.leavehospitaldistrictcodes = []; + this.queryParams.leaveldeptcodes = []; + + if (type == 1) { + this.queryParams.leaveldeptcodes.push(code); + this.queryParams.leavehospitaldistrictcodes = []; + this.queryParams.searchscope = 1; + } else if (type == 2) { + this.queryParams.leavehospitaldistrictcodes.push(code); + this.queryParams.leaveldeptcodes = []; + this.queryParams.searchscope = 2; + } else { + this.queryParams.searchscope = 3; + } + }, /** 鏌ヨ鏍囩鍒楄〃 */ gettabList() { - const queryParams = {}; - listtag().then((response) => { + const tagqueryParams = { + pageNum: 1, + pageSize: 1000, + tagname: undefined, + tagdescription: undefined, + tagcategoryid: "0", + }; + listtag(tagqueryParams).then((response) => { console.log(response); this.optionstag = response.rows; }); @@ -773,15 +683,17 @@ age: "", sex: "", tagList: [], - idno: "", + idcardno: "", telcode: "", - idtype: "", + idcardtype: "", relativetelcode: "", }; // this.resetForm("form"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { + this.queryParams.startInHospTime = this.dateRange[0]; + this.queryParams.endInHospTime = this.dateRange[1]; this.queryParams.pageNum = 1; this.getList(); }, @@ -789,7 +701,12 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); + this.queryParams= { + pageNum: 1, + pageSize: 10, + cry: 0, + searchscope: 2, + }, this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 @@ -875,7 +792,7 @@ /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { this.download( - "system/user/importTemplate", + "smartor/import/getImportPatTemplate", {}, `user_template_${new Date().getTime()}.xlsx` ); -- Gitblit v1.9.3