From b5a56d53e44c426fa188ba3e4e1db3eb779e2fd9 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 11 九月 2024 21:49:21 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/patient/profile/index.vue | 445 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 312 insertions(+), 133 deletions(-) diff --git a/src/views/patient/patient/profile/index.vue b/src/views/patient/patient/profile/index.vue index 9427432..e917a31 100644 --- a/src/views/patient/patient/profile/index.vue +++ b/src/views/patient/patient/profile/index.vue @@ -42,7 +42,7 @@ <span class="mulsz" slot="label" ><i class="el-icon-s-management"></i> 鍖荤枟妗f</span > - <el-tabs v-model="sonactiveName" @tab-click="handleClick"> + <el-tabs v-model="sonactiveName" @tab-click="handleClickson"> <el-tab-pane name="outpatient" ><span class="mulsz" slot="label" >闂ㄨ瘖({{ mznumber }})</span @@ -50,12 +50,12 @@ > <el-tab-pane name="inhospital" ><span class="mulsz" slot="label" - >浣忛櫌({{ zynumber }}) + >鍦ㄩ櫌({{ zynumber }}) </span></el-tab-pane > <el-tab-pane name="checkout" ><span class="mulsz" slot="label" - >浣撴({{ jynumber }}) + >鍑洪櫌({{ jynumber }}) </span></el-tab-pane > </el-tabs> @@ -113,81 +113,101 @@ <el-button type="primary" @click="savefile">淇濆瓨鎮h�呮。妗�</el-button> </div> <div class="detailed"> - <el-row :gutter="20"> - <el-col :span="12" - ><div class="grid-content bg-purple"> - 鎮h�呭鍚嶏細<span class="spanvalue">{{ userform.name }}</span> - </div></el-col - > - <el-col :span="12" - ><div class="grid-content bg-purple"> - 鑱旂郴鐢佃瘽锛�<span class="spanvalue">{{ userform.telcode }}</span> - </div></el-col - > - </el-row> - <el-row :gutter="20"> - <el-col :span="24" - ><div class="grid-content bg-purple"> - 鍑虹敓鍦帮細<span class="spanvalue">{{ userform.birthplace }}</span> - </div></el-col - > - </el-row> - <el-row :gutter="20"> - <el-col :span="24" - ><div class="grid-content bg-purple"> - 灞呬綇鍦帮細<span class="spanvalue">{{ - userform.placeOfResidence - }}</span> - </div></el-col - > - </el-row> - <el-row :gutter="20"> - <el-col :span="24" - ><div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClose(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-if="inputVisible" - v-model="inputValue" - @change="handleInputConfirm" - filterable - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - > - <el-option - v-for="item in options" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> + <el-form + ref="userform" + :model="userform" + :rules="rules" + label-width="100px" + > + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="鎮h�呭鍚�" prop="name"> + <el-input + v-model="userform.name" + placeholder="璇疯緭鍏ュ鍚�" + maxlength="30" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode"> + <el-input + v-model="userform.telcode" + placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" + maxlength="30" + /> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="24"> + <el-form-item label="鍑虹敓鍦�" prop="birthplace"> + <el-input + v-model="userform.birthplace" + placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" + maxlength="50" + /> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="24" + ><el-form-item label="灞呬綇鍦�" prop="placeOfResidence"> + <el-input + v-model="userform.placeOfResidence" + placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" + maxlength="50" + /> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="24"> + <el-form-item label="鏍囩" prop="desc"> + <div class="xinz-inf"> + <el-tag + :key="tag.tagname" + type="success" + v-for="tag in dynamicTags" + v-if="tag.isoperation != 3" + closable + :disable-transitions="false" + @close="handleClose(tag)" + > + {{ tag.tagname }} + </el-tag> + <el-select + v-if="inputVisible" + v-model="inputValue" + @change="handleInputConfirm" + filterable + allow-create + default-first-option + placeholder="璇烽�夋嫨/鏌ヨ" + > + <el-option + v-for="item in options" + :key="item.tagid" + :label="item.tagname" + :value="item.tagname" + > + </el-option> + </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div></el-col - > - </el-row> + <el-button + v-else + class="button-new-tag" + size="small" + @click="showInput" + >+ 鏂板鏍囩</el-button + > + </div> + </el-form-item> + </el-col> + </el-row> + </el-form> </div> </div> <div class="top-message"> <div class="headline">鐥呭彶</div> <div class="detailed"> - <el-form ref="form" :model="form" label-width="100px"> + <el-form :model="form" label-width="100px"> <el-row> <el-col :span="8"> <el-form-item label="杩囧線鐤剧梾" prop="name"> @@ -296,7 +316,7 @@ <!-- 鑱旂郴鐢佃瘽 --> <div class="bottom-message"> <div class="headline"> - 鍙风爜缁存姢<span style="margin-right: 60px"> </span> + 浜插睘鍙风爜缁存姢<span style="margin-right: 60px"> </span> <el-button type="primary" @click="addcompiletb">+鏂板</el-button> </div> <div class="Table-screen"> @@ -346,22 +366,71 @@ <!-- 闂ㄨ瘖 --> <div v-if="sonactiveName == 'outpatient'"> <el-table :data="serviceData" style="width: 100%"> - <el-table-column prop="daya" label="灏辫瘖鏃ユ湡" width="180"> + <el-table-column + label="灏辫瘖鏃堕棿" + align="center" + key="createTime" + prop="createTime" + width="160" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.createTime) }}</span> + </template> </el-table-column> - <el-table-column prop="administrative" label="灏辫瘖绉戝" width="180"> + + <el-table-column + label="闂ㄨ瘖鍙�" + align="center" + key="patid" + prop="patid" + /> + <el-table-column + label="濮撳悕" + align="center" + key="patname" + prop="patname" + /> + <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> + <template slot-scope="scope"> + <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> + </template> </el-table-column> - <el-table-column prop="doctor" label="鍖荤敓"> </el-table-column> - <el-table-column prop="result" label="鐤剧梾璇婃柇"> </el-table-column> - <el-table-column prop="administrative" label="妫�楠�"> - </el-table-column> - <el-table-column prop="administrative" label="妫�鏌�"> - </el-table-column> - <el-table-column prop="administrative" label="鎵嬫湳"> - </el-table-column> - <el-table-column prop="administrative" label="鐢ㄨ嵂"> - </el-table-column> - <el-table-column prop="columcz" label="鍖诲槺" width="200"> - </el-table-column> + <el-table-column + label="骞撮緞" + align="center" + key="age" + prop="age" + width="120" + /> + <el-table-column + label="鑱旂郴鐢佃瘽" + align="center" + key="telcode" + prop="telcode" + width="120" + /> + <el-table-column + label="璇婃柇" + align="center" + key="diagname" + prop="diagname" + width="190" + /> + + <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> <pagination @@ -374,30 +443,80 @@ </div> <!-- 浣忛櫌 --> <div v-if="sonactiveName == 'inhospital'"> - <el-table :data="serviceData" style="width: 100%"> - <el-table-column prop="godaya" label="鍏ラ櫌鏃ユ湡"> </el-table-column> - <el-table-column prop="hospitalname" label="鍑洪櫌鏃堕棿"> + <el-table :data="serviceDatary" style="width: 100%"> + <el-table-column + label="浣忛櫌鍙�" + align="center" + key="patid" + prop="patid" + /> + <el-table-column + label="濮撳悕" + align="center" + key="patname" + prop="patname" + /> + <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> + <template slot-scope="scope"> + <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> + </template> </el-table-column> - <el-table-column prop="administrative" label="鐥呭尯"> - </el-table-column> - <el-table-column prop="result" label="涓绘不鍖诲笀"> </el-table-column> - <el-table-column prop="bed" label="绠″簥鎶ゅ+"> </el-table-column> - <el-table-column prop="doctor" label="鍑洪櫌鐤剧梾璇婃柇"> - </el-table-column> - <el-table-column prop="today" label="妫�楠�"> </el-table-column> - <el-table-column prop="administrative" label="妫�鏌�"> - </el-table-column> - <el-table-column prop="administrative" label="鎵嬫湳"> - </el-table-column> - <el-table-column prop="administrative" label="鐢ㄨ嵂"> - </el-table-column> - <el-table-column prop="columcz" label="鍑洪櫌灏忕粨" width="200"> - </el-table-column> + <el-table-column + label="骞撮緞" + align="center" + key="age" + prop="age" + width="120" + /> + <el-table-column + label="鑱旂郴鐢佃瘽" + align="center" + key="telephone" + prop="telephone" + width="120" + /> + + <el-table-column + label="鍏ラ櫌璇婃柇" + align="center" + key="diagname" + prop="diagname" + width="190" + /> + + <el-table-column + label="鐥呭尯" + align="center" + key="deptname" + prop="deptname" + width="120" + /> + <el-table-column + label="搴婁綅鍙�" + align="center" + key="bedNo" + prop="bedNo" + width="120" + /> + <el-table-column + label="涓绘不鍖荤敓" + align="center" + key="drname" + prop="drname" + width="120" + /> + <el-table-column + label="璐d换鎶ゅ+" + align="center" + key="Sister" + prop="Sister" + width="120" + /> </el-table> </div> - <!-- 浣撴 --> + <!-- 鍑洪櫌 --> <div v-if="sonactiveName == 'checkout'"> - <el-table :data="serviceData" style="width: 100%"> + <el-table :data="serviceDatacy" style="width: 100%"> <el-table-column prop="godaya" label="浣撴绫诲瀷"> </el-table-column> <el-table-column prop="hospitalname" label="浣撴濂楅鍚嶇О"> </el-table-column> @@ -604,7 +723,7 @@ <el-input v-model="numberform.contactname"></el-input> </el-form-item> <el-form-item label="鑱旂郴鐢佃瘽"> - <el-input v-model="numberform.contactway"></el-input> + <el-input v-model="numberform.telcode"></el-input> </el-form-item> <el-form-item label="鍏崇郴"> <el-input v-model="numberform.relation"></el-input> @@ -636,7 +755,10 @@ delcontactinformation, listcontactinformation, alterpatient, + Patientclinic, } from "@/api/patient/homepage"; +import { listPatouthosp } from "@/api/smartor/patouthosp"; +import { listpatient } from "@/api/patient/record"; export default { name: "Profile", @@ -709,15 +831,9 @@ address: "89", }, ], - serviceData: [ - { - daya: "2023-12-12", - hospitalname: "鍗忓拰", - result: "闊у甫鎷変激", - administrative: "楠ㄧ", - doctor: "鍚村ぇ榫�", - }, - ], + serviceData: [], + serviceDatary: [], + serviceDatacy: [], options: [ { value: "1", @@ -764,6 +880,39 @@ { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, { label: "浣撴俯", width: "", prop: "sex" }, ], + // 琛ㄥ崟鏍¢獙 + rules: { + name: [ + { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + { + min: 2, + max: 20, + message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", + trigger: "blur", + }, + ], + + sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }], + age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }], + nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }], + telcode: [ + { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" }, + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", + trigger: "blur", + }, + ], + idcardtype: [ + { required: true, message: "璇佷欢绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }, + ], + idcardno: [ + { required: true, message: "璇佷欢鍙疯兘涓虹┖", trigger: "blur" }, + ], + placeOfResidence: [ + { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" }, + ], + }, }; }, created() { @@ -788,9 +937,29 @@ }, methods: { - // 鏌ヨ妗f鍒楄〃淇℃伅 - getList() { + // 鏌ヨ鍖荤枟妗f鍚勫垪琛ㄤ俊鎭� + getList(type) { this.loading = true; + if (type == 0) { + // 闂ㄨ瘖璁板綍 + listPatouthosp({ patid: this.id }).then((response) => { + if (response.code == 200) { + this.serviceData = response.rows; + } + }); + } else if (type == 1) { + listpatient({ patid: this.id }).then((response) => { + if (response.code == 200) { + this.serviceDatary = response.rows; + } + }); + } else if (type == 2) { + listpatient({ patid: this.id }).then((response) => { + if (response.code == 200) { + this.serviceDatacy = response.rows; + } + }); + } }, getcontactlist() { listcontactinformation({ patid: this.id }).then((response) => { @@ -825,17 +994,21 @@ }, // 淇濆瓨鎮h�呮。妗� savefile() { - // this.userform.tagList = this.dynamicTags; - this.userform.isoperation = 2; - alterpatient(this.userform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛"); - } else { - this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触"); + this.$refs["userform"].validate((valid) => { + if (valid) { + this.userform.isoperation = 2; + this.userform.tagList = this.dynamicTags; + alterpatient(this.userform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛"); + } else { + this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触"); + } + }); + // 鐥呭彶 + this.medicalhistory(); } }); - // 鐥呭彶 - this.medicalhistory(); }, // 鐥呭彶 medicalhistory() { @@ -943,7 +1116,13 @@ }, // tab鍒囨崲 handleClick(tab, event) { - console.log(tab, event); + if (tab.index == "1") { + this.getList(0); + } + }, + handleClickson(tab, event) { + console.log(tab.index, "son"); + this.getList(tab.index); }, // 鑱旂郴鏂瑰紡鏂板 Addanumber() {}, @@ -952,7 +1131,7 @@ gettabList() { const tagqueryParams = { pageNum: 1, - pageSize: 1000, + pageSize: 10000, tagcategoryid: "0", }; listtag(tagqueryParams).then((response) => { @@ -977,8 +1156,8 @@ }, handleClose(tag) { const lindex = this.dynamicTags.indexOf(tag); - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.userform.tagList[lindex].isoperation = 3; + // this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); + this.dynamicTags[lindex].isoperation = 3; }, showInput() { @@ -1006,7 +1185,7 @@ }; } console.log(tagvalue); - this.userform.tagList.push(tagvalue); + // this.userform.tagList.push(tagvalue); this.dynamicTags.push(tagvalue); console.log(this.userform.tagList); console.log(this.dynamicTags); -- Gitblit v1.9.3