From 8d0f7fcc4a961a6a2cd969171066f652cc8e736f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 18 四月 2025 16:56:52 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/patient/outpatient.vue | 489 +++++++++++++++++++++++------------------------------ 1 files changed, 213 insertions(+), 276 deletions(-) diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue index db1a877..47e7136 100644 --- a/src/views/patient/patient/outpatient.vue +++ b/src/views/patient/patient/outpatient.vue @@ -11,66 +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.name" + 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="telcode"> - <el-input - v-model="queryParams.telcode" - placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" - clearable - style="width: 280px" - @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" @@ -79,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 @@ -99,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 @@ -121,7 +111,7 @@ v-hasPermi="['system:user:edit']" >淇敼</el-button > - </el-col> + </el-col> --> <el-col :span="1.5"> <el-button type="danger" @@ -162,26 +152,73 @@ </el-col> <!-- <el-col :span="1.5"> </el-col> --> </el-row> + <el-table v-loading="loading" :data="userList" @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="灏辫瘖鏃堕棿" + align="center" + key="admitdate" + prop="admitdate" + width="160" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.admitdate) }}</span> + </template> + </el-table-column> + <el-table-column + label="鐥呮鍙�" + align="center" + key="patno" + prop="patno" /> <el-table-column - label="鎮h�呯紪鍙�" + label="闂ㄨ瘖鍙�" align="center" - key="Patientnumber" - prop="Patientnumber" + key="outhospno" + prop="outhospno" /> - <el-table-column label="濮撳悕" align="center" key="name" prop="name" /> - <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> @@ -196,12 +233,12 @@ <el-table-column label="鑱旂郴鐢佃瘽" align="center" - key="telephone" - prop="telephone" + key="telcode" + prop="telcode" width="120" /> - <el-table-column - label="鎮h�呮爣绛�" + <!-- <el-table-column + label="鎮h�呮爣绛撅紙缂猴級" align="center" key="tagList" prop="tagList" @@ -211,66 +248,40 @@ <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" - key="idcardno" - prop="idcardno" + key="diagname" + prop="diagname" width="190" + /> + <!-- <el-table-column + label="涓昏堪" + align="center" + key="mainsuit" + prop="mainsuit" + width="120" + /> --> + <el-table-column + label="灏辫瘖绉戝" + align="center" + key="deptname" + prop="deptname" + width="120" + /> + <el-table-column + 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="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鐘舵��" - align="center" - 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" - prop="updateTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" + fixed="right" align="center" width="160" class-name="small-padding fixed-width" @@ -290,15 +301,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> @@ -312,125 +314,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 @@ -481,8 +364,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="璇佷欢鍙风爜"> @@ -527,18 +412,18 @@ import { delUser } from "@/api/system/user"; import { - messagelistpatient, - alterpatient, - addpatient, - particularpatient, - deletepatient, - Exporterrorpatient, - toleadpatient, -} from "@/api/patient/homepage"; + listPatouthosp, + getPatouthosp, + addPatouthosp, + 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", @@ -602,7 +487,7 @@ Patientrange: [ { name: "鍏ㄩ儴", - id: 1, + id: 999, }, { name: "褰撳墠绉戝", @@ -613,6 +498,22 @@ children: "children", label: "label", }, + sourcetype: [ + { + value: 1, + label: "绉戝", + children: [], + }, + { + value: 2, + label: "鐥呭尯", + children: [], + }, + { + value: 3, + label: "鍏ㄩ儴", + }, + ], // 鐢ㄦ埛瀵煎叆鍙傛暟 upload: { // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� @@ -632,11 +533,10 @@ queryParams: { pageNum: 1, pageSize: 10, - idcardno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, + searchscope: 2, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }, // 琛ㄥ崟鏍¢獙 rules: { @@ -693,6 +593,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(); }, @@ -700,8 +612,16 @@ /** 鏌ヨ鎮h�呭垪琛� */ getList() { this.loading = true; - messagelistpatient(this.queryParams).then((response) => { - console.log(response); + 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) => { this.userList = response.rows; this.total = response.total; this.loading = false; @@ -720,6 +640,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() { @@ -770,8 +709,11 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); + (this.queryParams = { + pageNum: 1, + pageSize: 10, + }), + this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { @@ -801,24 +743,19 @@ //淇敼/鏂板鎮h�� submitForm() { if (this.amendtag) { - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); + console.log(22); + this.form.isoperation = 2; } else { - addpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); + this.form.isoperation = 1; } + alterpatient(this.form) + .then((response) => { + console.log(response); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("淇濆瓨鎴愬姛"); + }); this.reset(); // this.idds = ""; this.Labelchange = false; @@ -856,7 +793,7 @@ /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { this.download( - "system/user/importTemplate", + "smartor/import/getImportPatTemplate", {}, `user_template_${new Date().getTime()}.xlsx` ); -- Gitblit v1.9.3