From 273e2fadd6a348f75d2ee1c414eb898b5f245052 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 16 四月 2025 20:25:24 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/patient/outpatient.vue | 395 ++++++++++++++++++++++++-------------------------------- 1 files changed, 169 insertions(+), 226 deletions(-) diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue index e17325d..304afdf 100644 --- a/src/views/patient/patient/outpatient.vue +++ b/src/views/patient/patient/outpatient.vue @@ -11,58 +11,36 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="濮撳悕" prop="name"> + <el-form-item label="濮撳悕" width="100" prop="name"> <el-input - v-model="queryParams.hospname" + v-model="queryParams.patname" placeholder="璇疯緭鍏ュ鍚�" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鎮h�呯紪鍙�" prop="idcardno"> + <el-form-item label="闂ㄨ瘖鍙�" prop="outhospno"> <el-input - v-model="queryParams.idcardno" - placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" + v-model="queryParams.outhospno" + placeholder="璇疯緭鍏ラ棬璇婂彿" clearable style="width: 250px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鎮h�呰寖鍥�" prop="tagId"> - <el-select - v-model="queryParams.Patientid" - multiple - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in Patientrange" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> + <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-row> - <el-form-item label="鎮h�呮爣绛�" prop="tagId"> - <el-select - v-model="queryParams.tagIds" - multiple - filterable - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate"> + <!-- <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate"> <el-date-picker clearable v-model="queryParams.admitdate" @@ -71,6 +49,26 @@ placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 " > </el-date-picker> + </el-form-item> --> + <el-form-item label="灏辫瘖鏃ユ湡"> + <el-date-picker + v-model="dateRange" + style="width: 240px" + value-format="yyyy-MM-dd" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + ></el-date-picker> + <!-- <el-date-picker + v-model="dateRange" + type="datetimerange" + value-format="yyyy-MM-dd HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + :default-time="['12:00:00']" + > + </el-date-picker> --> </el-form-item> <el-form-item> <el-button @@ -91,7 +89,7 @@ </el-form> <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <el-button type="primary" plain @@ -113,7 +111,7 @@ v-hasPermi="['system:user:edit']" >淇敼</el-button > - </el-col> + </el-col> --> <el-col :span="1.5"> <el-button type="danger" @@ -161,46 +159,80 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column + <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" - /> + /> --> <el-table-column - label="濮撳悕" - fixed + label="灏辫瘖鏃堕棿" align="center" - key="patname" - prop="patname" - /> + key="admitdate" + prop="admitdate" + width="160" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.admitdate) }}</span> + </template> + </el-table-column> + <el-table-column - label="闂ㄨ瘖缂栧彿" + label="闂ㄨ瘖鍙�" align="center" key="outhospno" prop="outhospno" /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> + <el-table-column + label="濮撳悕" + width="100" + align="center" + 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> </el-table-column> <el-table-column - label="骞撮緞锛堢己锛�" + label="骞撮緞" align="center" key="age" prop="age" width="120" /> <el-table-column - label="鑱旂郴鐢佃瘽锛堢己锛�" + label="鑱旂郴鐢佃瘽" align="center" - key="telephone" - prop="telephone" + key="telcode" + prop="telcode" width="120" /> - <el-table-column + <!-- <el-table-column label="鎮h�呮爣绛撅紙缂猴級" align="center" key="tagList" @@ -211,14 +243,8 @@ <template slot-scope="scope"> <span v-for="item in scope.row.tagList">{{ item }} </span> </template> - </el-table-column> - <el-table-column - label="灏辫瘖绫诲埆锛堟湭瀹氾級" - align="center" - key="idcardtype" - prop="idcardtype" - width="120" - /> + </el-table-column> --> + <el-table-column label="璇婃柇" align="center" @@ -226,49 +252,28 @@ prop="diagname" width="190" /> - + <!-- <el-table-column + label="涓昏堪" + align="center" + key="mainsuit" + prop="mainsuit" + width="120" + /> --> <el-table-column - label="绉戝" + label="灏辫瘖绉戝" align="center" key="deptname" prop="deptname" width="120" /> <el-table-column - label="鍖荤敓" + label="鎺ヨ瘖鍖荤敓" align="center" key="drname" prop="drname" width="120" /> - <el-table-column - label="鐘舵�侊紙鏈畾锛�" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="灏辫瘖鏃堕棿" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="澶嶈瘖鏃堕棿" - align="center" - prop="updateTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.updateTime) }}</span> - </template> - </el-table-column> + <el-table-column label="鎿嶄綔" fixed="right" @@ -291,15 +296,6 @@ ><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> </el-table-column> </el-table> @@ -313,125 +309,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="idcardtype"> - <el-select v-model="form.idcardtype" 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="idcardno"> - <el-input - v-model="form.idcardno" - 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 @@ -482,8 +359,10 @@ <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="璇佷欢鍙风爜"> @@ -534,10 +413,12 @@ updatePatouthosp, delPatouthosp, } from "@/api/smartor/patouthosp"; +import { particularpatient } from "@/api/patient/homepage"; import { listtag } from "@/api/system/label"; import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +import store from "@/store"; export default { name: "Userhuanze", @@ -601,7 +482,7 @@ Patientrange: [ { name: "鍏ㄩ儴", - id: 1, + id: 999, }, { name: "褰撳墠绉戝", @@ -612,6 +493,22 @@ children: "children", label: "label", }, + sourcetype: [ + { + value: 1, + label: "绉戝", + children: [], + }, + { + value: 2, + label: "鐥呭尯", + children: [], + }, + { + value: 3, + label: "鍏ㄩ儴", + }, + ], // 鐢ㄦ埛瀵煎叆鍙傛暟 upload: { // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� @@ -631,6 +528,10 @@ queryParams: { pageNum: 1, pageSize: 10, + searchscope: 2, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }, // 琛ㄥ崟鏍¢獙 rules: { @@ -687,6 +588,18 @@ }, }, created() { + 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, + }; + }); this.getList(); this.gettabList(); }, @@ -694,8 +607,16 @@ /** 鏌ヨ鎮h�呭垪琛� */ getList() { this.loading = true; + if (this.queryParams.searchscope == 3) { + this.queryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.queryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + this.queryParams.beginTime = this.dateRange[0]; + this.queryParams.endTime = this.dateRange[1]; listPatouthosp(this.queryParams).then((response) => { - console.log(response); this.userList = response.rows; this.total = response.total; this.loading = false; @@ -714,6 +635,25 @@ console.log(response); this.optionstag = response.rows; }); + }, + // 鎮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; + } }, // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 geterryList() { @@ -764,8 +704,11 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); + (this.queryParams = { + pageNum: 1, + pageSize: 10, + }), + this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { @@ -845,7 +788,7 @@ /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { this.download( - "system/user/importTemplate", + "smartor/import/getImportPatTemplate", {}, `user_template_${new Date().getTime()}.xlsx` ); -- Gitblit v1.9.3