From 2698387e653c6a25059c3ae9976f18b814eba892 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 12 九月 2025 15:16:46 +0800
Subject: [PATCH] 医疗权限
---
src/views/project/donatebaseinfo/index.vue | 349 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 273 insertions(+), 76 deletions(-)
diff --git a/src/views/project/donatebaseinfo/index.vue b/src/views/project/donatebaseinfo/index.vue
index 437e4e6..01e076a 100644
--- a/src/views/project/donatebaseinfo/index.vue
+++ b/src/views/project/donatebaseinfo/index.vue
@@ -47,7 +47,7 @@
</el-form-item>
</el-col>
<el-col :span="9">
- <el-form-item label="鏃ユ湡">
+ <el-form-item label="妗堜緥鏃堕棿">
<el-date-picker
style="width: 100%"
v-model="selecttime"
@@ -72,7 +72,7 @@
size="small"
>
<el-option
- v-for="dict in dict.type.sys_DonationStatus"
+ v-for="dict in dict.type.sys_donornode"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -96,6 +96,22 @@
</el-select>
</el-form-item>
</el-col>
+ <el-col :span="5">
+ <el-form-item label="鏄惁缁堟">
+ <el-select
+ v-model="queryParams.terminationCase"
+ placeholder="璇烽�夋嫨鐘舵��"
+ >
+ <el-option
+ v-for="item in terminationCaselist"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
<el-col :span="9">
<el-form-item label="绫嶈疮">
<div>
@@ -106,6 +122,8 @@
</div>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row>
<el-col :span="4">
<el-form-item>
<el-button
@@ -199,7 +217,19 @@
/>
</template>
</el-table-column>
- <el-table-column label="骞撮緞" align="center" prop="age" width="100" />
+ <el-table-column label="骞撮緞" align="center" prop="age" width="100">
+ <template slot-scope="scope">
+ {{
+ `${
+ scope.row.age && scope.row.age !== 0 ? `${scope.row.age}${scope.row.ageunit?scope.row.ageunit:''}` : ""
+ } ${
+ scope.row.age2 && scope.row.age2 !== 0
+ ? `${scope.row.age2}${scope.row.ageunit2}`
+ : ""
+ }`.trim()
+ }}
+ </template>
+ </el-table-column>
<el-table-column
label="鍖荤枟鏈烘瀯"
align="center"
@@ -233,7 +263,7 @@
prop="reportername"
width="100"
/>
- <!--
+ <!--
<el-table-column
label="鐜版墍鍦ㄥ湴甯�"
align="center"
@@ -250,7 +280,7 @@
<dict-tag
:options="dict.type.sys_DonationStatus"
:value="scope.row.recordstate"
- />
+ />
</template>
</el-table-column>
-->
@@ -267,7 +297,7 @@
:value="scope.row.workflow"
/>
</div>
- <div v-else>浠诲姟涓</div>
+ <div v-else>浠诲姟缁堟</div>
</template>
</el-table-column>
<el-table-column
@@ -294,9 +324,9 @@
v-hasPermi="['project:donatebaseinfo:remove']"
>鍒犻櫎</el-button
>
- <!--
+ <!--
<el-button v-if="scope.row.recordstate == 0 || scope.row.recordstate == 3" size="mini" type="text"
- icon="el-icon-thumb" @click="handleapproval(scope.row)">鎻愪氦</el-button>
+ icon="el-icon-thumb" @click="handleapproval(scope.row)">鎻愪氦</el-button>
-->
<el-button
size="mini"
@@ -305,9 +335,9 @@
@click="handledownload(scope.row)"
>涓嬭浇</el-button
>
- <!--
+ <!--
<el-button size="mini" type="text" icon="el-icon-edit" @click="handletermination(scope.row)"
- v-hasPermi="['project:donatebaseinfo:edit']">{{ scope.row.recordstate == 99 ? "鎭㈠": "缁堟" }}</el-button>
+ v-hasPermi="['project:donatebaseinfo:edit']">{{ scope.row.recordstate == 99 ? "鎭㈠": "缁堟" }}</el-button>
-->
</template>
</el-table-column>
@@ -439,8 +469,15 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="骞撮緞" prop="age">
- <el-input v-model="form.age" placeholder="璇疯緭鍏ュ勾榫�" />
+ <el-form-item label="瀛﹀巻" prop="education">
+ <el-select v-model="form.education" placeholder="璇烽�夋嫨瀛﹀巻">
+ <el-option
+ v-for="dict in dict.type.sys_education"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ ></el-option>
+ </el-select>
</el-form-item>
</el-col>
</el-row>
@@ -453,10 +490,19 @@
v-model="form.birthday"
type="date"
style="width: 174px"
- value-format="yyyy-MM-dd HH:mm:ss"
+ @change="calculateAge"
+ value-format="yyyy-MM-dd"
placeholder="閫夋嫨鍑虹敓鏃ユ湡"
>
</el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <!-- <el-form-item label="骞撮緞" prop="age">
+ <el-input v-model="form.age" placeholder="璇疯緭鍏ュ勾榫�" />
+ </el-form-item> -->
+ <el-form-item label="骞撮緞" prop="age">
+ <el-input v-model="form.andAge" disabled> </el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -464,18 +510,6 @@
<el-select v-model="form.occupation" placeholder="璇烽�夋嫨鑱屼笟">
<el-option
v-for="dict in dict.type.sys_occupation"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="瀛﹀巻" prop="education">
- <el-select v-model="form.education" placeholder="璇烽�夋嫨瀛﹀巻">
- <el-option
- v-for="dict in dict.type.sys_education"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -566,7 +600,7 @@
<el-radio
v-for="dict in dict.type.sys_bloodtype_rhd"
:key="dict.value"
- :label="dict.label"
+ :label="dict.value"
>{{ dict.label }}</el-radio
>
</el-radio-group>
@@ -878,7 +912,6 @@
</el-dialog>
</div>
</template>
-<style scoped></style>
<script>
import { getUserProfile } from "@/api/system/user";
import {
@@ -889,8 +922,8 @@
updateDonatebaseinfo,
exportDonatebaseinfo,
downloadbaseinfo,
+ getDonationNumber,
getdonatorno
- // exportProvincemessage,
} from "@/api/project/donatebaseinfo";
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
@@ -966,6 +999,10 @@
shi: "",
qu: ""
},
+ terminationCaselist: [
+ { name: "缁堟鐘舵��", value: 1 },
+ { name: "姝e父鐘舵��", value: 0 }
+ ],
// 閬僵灞�
loading: true,
// 瀵煎嚭閬僵灞�
@@ -1015,7 +1052,88 @@
},
// 琛ㄥ崟鍙傛暟
form: {
- rhyin:'0'
+ id: null,
+ name: null,
+ sex: null,
+ idcardtype: null,
+ idcardno: null,
+ age: null, // 骞撮緞锛堝勾锛�
+ andAge: "",
+ ageunit: "骞�", // 鍗曚綅锛岄�氬父鍥哄畾涓衡�滃勾鈥�
+ age2: null, // 骞撮緞锛堟湀鎴栧ぉ锛�
+ ageunit2: "鏈�", // 鍗曚綅锛屾牴鎹绠楀喅瀹氭槸鈥滄湀鈥濊繕鏄�滃ぉ鈥�
+ ageunit: null,
+ birthday: null,
+ phone: null,
+ residenceaddress: null,
+ nationality: "涓浗",
+ nativeplace: null,
+ residenceprovince: null,
+ nation: null,
+ residenceprovincename: null,
+ occupation: null,
+ residencecity: null,
+ education: null,
+ residencecityname: null,
+ residencetown: null,
+ residencetownname: null,
+ residencecommunity: null,
+ residencecommunityname: null,
+ residencecountycode: null,
+ residencecountyname: null,
+ registeraddress: null,
+ registerprovince: null,
+ registerprovincename: null,
+ registercity: null,
+ registercityname: null,
+ registertown: null,
+ registertownname: null,
+ registercommunity: null,
+ registercommunityname: null,
+ registercountycode: null,
+ registercountyname: null,
+ recordstate: null,
+ treatmenthospitalno: null,
+ treatmenthospitalname: null,
+ treatmentdeptname: null,
+ diagnosisno: null,
+ diagnosisname: null,
+ bloodtype: "0",
+ inpatientno: null,
+ rhyin: "0",
+ donorno: null,
+ donationcategory: null,
+ illnessoverview: null,
+ diseasetype: [],
+ infectious: [],
+ selfwill: [],
+ diseasetypeOther: null,
+ othercases: [],
+ kinshipwill: 0,
+ infosources: [],
+ kinship: [],
+ redorganno: null,
+ redorganname: null,
+ contactperson: null,
+ infectiousOther: null,
+ contactnumber: null,
+ contacttime: null,
+ reporterno: null,
+ reportername: null,
+ patientstate: [],
+ reporterphone: null,
+ infosourcesOther: null,
+ reporttime: null,
+ delFlag: null,
+ createBy: null,
+ createTime: null,
+ updateBy: null,
+ updateTime: null,
+ kinshipOther: null,
+ majorrelatives: null,
+ familyrelations: null,
+ acquisitiontissueno: "ZJOPO",
+ acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�"
},
//ads
reporters: [],
@@ -1046,7 +1164,7 @@
{ required: true, message: "璇锋纭緭鍏ヨ瘉浠跺彿鐮�", trigger: "blur" }
],
sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
- age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
+ // age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
treatmenthospitalno: [
{ required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
],
@@ -1125,7 +1243,12 @@
]
};
},
- created() {},
+ created() {
+ if (sessionStorage.getItem("donatebaseinfo")) {
+ this.queryParams = JSON.parse(sessionStorage.getItem("donatebaseinfo"));
+ console.log(this.queryParams, "queryParams");
+ }
+ },
mounted(e) {
// let idd = this.$route.query.userid
@@ -1140,14 +1263,14 @@
if (this.$route.params.starttime != null && this.$route.params.endtime) {
this.selecttime = [
this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"),
- this.$moment(this.$route.params.endtime)
- .add(-1, "month")
- .format("YYYY-MM-DD")
+ this.$moment(this.$route.params.endtime).format("YYYY-MM-DD")
];
}
if (this.$route.params.reporterno != "") {
this.reporterno = this.$route.params.reporterno;
}
+ this.queryParams.terminationcase = this.$route.params.terminationcase;
+
if (
this.$route.params.tempRecordState != "" &&
this.$route.params.tempRecordState != undefined
@@ -1184,7 +1307,83 @@
this.currentuser = response.data;
});
},
+ calculateAge(birthday) {
+ if (!birthday) {
+ // 娓呯┖骞撮緞瀛楁
+ this.form.age = null;
+ this.form.age2 = null;
+ // this.form.age3 = null;
+ return;
+ }
+ const birthDate = new Date(birthday);
+ const today = new Date();
+
+ // 璁$畻鎬绘湀浠藉樊寮�
+ let yearDiff = today.getFullYear() - birthDate.getFullYear();
+ let monthDiff = today.getMonth() - birthDate.getMonth();
+ let dayDiff = today.getDate() - birthDate.getDate();
+
+ // 濡傛灉褰撳墠鏃ユ湡鐨勫ぉ鏁板皬浜庡嚭鐢熸棩鏈熺殑澶╂暟锛屽垯鍊熸湀
+ if (dayDiff < 0) {
+ monthDiff--;
+ // 鑾峰彇涓婁釜鏈堢殑鏈�鍚庝竴澶�
+ const lastDayOfMonth = new Date(
+ today.getFullYear(),
+ today.getMonth(),
+ 0
+ ).getDate();
+ dayDiff += lastDayOfMonth;
+ }
+
+ // 濡傛灉鏈堜唤宸负璐燂紝鍒欏�熷勾
+ if (monthDiff < 0) {
+ yearDiff--;
+ monthDiff += 12;
+ }
+
+ // 璧嬪�煎勾閮ㄥ垎
+ this.form.age = yearDiff;
+ this.form.ageunit = "宀�";
+
+ // 璧嬪�兼湀閮ㄥ垎锛堟垨鑰呮偍涔熷彲浠ラ�夋嫨鏄剧ず鍓╀綑鐨勫ぉ鏁帮級
+ this.form.age2 = monthDiff;
+ this.form.ageunit2 = "鏈�";
+
+ // 濡傛灉鎮ㄨ繕鎯虫樉绀哄ぉ鏁�
+ // this.form.age3 = dayDiff;
+ // this.form.ageunit3 = '澶�';
+
+ // 濡傛灉骞撮緞灏忎簬1宀侊紝鍙兘鎮ㄥ笇鏈涚敤鏈堟垨澶╂潵琛ㄧず涓诲勾榫�
+ // 杩欓噷鏄竴涓畝鍗曠殑閫昏緫锛屾偍鍙互鏍规嵁闇�姹傝皟鏁�
+ if (yearDiff === 0) {
+ if (monthDiff === 0) {
+ // 灏忎簬1涓湀锛岀敤澶╄〃绀�
+ this.form.age = dayDiff;
+ this.form.ageunit = "澶�";
+ this.form.age2 = null; // 娓呯┖绗簩瀛楁
+ // this.form.age3 = null;
+ } else {
+ // 灏忎簬1骞达紝鐢ㄦ湀琛ㄧず
+ this.form.age = monthDiff;
+ this.form.ageunit = "鏈�";
+ this.form.age2 = dayDiff; // 绗簩瀛楁鏄剧ず澶�
+ this.form.ageunit2 = "澶�";
+ }
+ }
+
+ this.form.andAge = `${
+ this.form.age && this.form.age !== 0
+ ? `${this.form.age}${this.form.ageunit}`
+ : ""
+ } ${
+ this.form.age2 && this.form.age2 !== 0
+ ? `${this.form.age2}${this.form.ageunit2}`
+ : ""
+ }`.trim();
+ this.$forceUpdate(); // 寮哄埗鏇存柊
+ console.log(this.form.andAge);
+ },
LoadReportList() {
listDonatebaseinfo().then(res => {
let list = res.rows;
@@ -1347,7 +1546,8 @@
// 璧嬪�肩粰琛ㄦ牸
this.form.sex = sex;
this.form.birthday = birthday;
- this.form.age = age;
+ this.calculateAge(birthday);
+ // this.form.age = age;
} else {
}
} catch {}
@@ -1382,18 +1582,15 @@
},
/** 鏌ヨ鎹愮尞鍩虹鍒楄〃 */
- getList(e) {
+ getList() {
this.loading = true;
this.queryParams.params = {};
- // if (null != this.daterangeReporttime && "" != this.daterangeReporttime) {
- // this.queryParams.params["beginReporttime"] =
- // this.daterangeReporttime[0];
- // this.queryParams.params["endReporttime"] = this.daterangeReporttime[1];
- // }
+ sessionStorage.removeItem("donatebaseinfo");
+ sessionStorage.setItem(
+ "donatebaseinfo",
+ JSON.stringify(this.queryParams)
+ );
// 璺宠浆鏃剁殑榛樿杩涘害
- if (e != null && e != undefined && !isNaN(e)) {
- this.queryParams.recordstate = e;
- }
if (this.reportervalue != "") {
this.queryParams.reportno = this.reportervalue;
@@ -1412,6 +1609,8 @@
this.queryParams.residenceprovince = this.$refs.areaSelect.getSheng();
this.queryParams.residencecity = this.$refs.areaSelect.getShi();
this.queryParams.residencetown = this.$refs.areaSelect.getQu();
+ console.log(this.queryParams);
+
listDonatebaseinfo(this.queryParams).then(response => {
this.donatebaseinfoList = response.rows;
//console.log("listDonatebaseinfo", response.rows);
@@ -1629,7 +1828,6 @@
const id = row.id || this.ids;
getDonatebaseinfo(id).then(response => {
this.form = response.data;
-
this.form.diseasetype = this.form.diseasetype.split(",");
this.form.infectious = this.form.infectious.split(",");
this.form.selfwill = this.form.selfwill.split(",");
@@ -1653,8 +1851,11 @@
},
/** 鎻愪氦鎸夐挳 */
submitForm() {
+ console.log(this.form);
this.$refs["form"].validate(valid => {
if (valid) {
+ const date = { ...this.form };
+ console.log(date, "date");
this.form.birthday = this.$moment(this.form.birthday).format(
"YYYY-MM-DD HH:mm:ss"
);
@@ -1702,38 +1903,28 @@
this.form.redorganname = this.form.redorganno;
}
- //灏濊瘯鐢熸垚鎹愮尞缂栧彿锛堝凡缁忕敱addDonatebaseinfo鎺ュ彛涓敓鎴愬彇浠o級
- // getdonatorno(this.form).then((response) => {
- // // alert(JSON.stringify(response));
- // this.reset();
- // });
-
- if (this.form.id != null) {
- updateDonatebaseinfo(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.form.workflow = 0;
+ this.form.recordstate = 0;
+ addDonatebaseinfo(this.form).then(res => {
+ console.log("22");
+ console.log(res.code);
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.$router.push({
+ path: "/organ/donationdetails/",
+ query: {
+ id: res.data.id,
+ organType: "edit"
+ }
+ });
this.open = false;
- this.getList();
- });
- } else {
- this.form.workflow = 0;
- this.form.recordstate = 0;
- addDonatebaseinfo(this.form).then(response => {
- if (response.code == 200) {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.$router.push({
- path: "/organ/donationdetails/",
- query: {
- id: response.data.id,
- organType: "edit"
- }
- });
- this.open = false;
- // this.getList();
- } else {
- this.$modal.msgError("鏂板澶辫触锛�" + response.msg);
- }
- });
- }
+ } else {
+ console.log("1");
+ this.form = date;
+ console.log(this.form, "form");
+ this.$modal.msgError("鏂板澶辫触锛�" + res.msg);
+ }
+ });
}
});
},
@@ -1833,4 +2024,10 @@
margin: auto !important;
padding-bottom: 0px !important;
}
+::v-deep .el-input.is-disabled .el-input__inner {
+ background-color: #fff;
+ border-color: #dfe4ed;
+ color: #000;
+ cursor: not-allowed;
+}
</style>
--
Gitblit v1.9.3