push onekey-root.sh
This commit is contained in:
parent
6a599ddbec
commit
4ea882d4d0
888
onekey-root.sh
888
onekey-root.sh
@ -1,751 +1,143 @@
|
|||||||
<template>
|
#!/usr/bin/env bash
|
||||||
<section class="form-component">
|
|
||||||
<el-row :class="[printable?'mb-2':'form-body']">
|
|
||||||
<el-col :span="13">
|
|
||||||
<el-form :model="form" :rules="rules" ref="formRef" label-width="14em">
|
|
||||||
<el-row class="form-title"><span class="title-line my-class"></span>{{ $t('elder.elderInformation') }}
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 长者姓名 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item class="required" :label="$t('elder.eldersName')+':'" :prop="'careObject.name'"
|
|
||||||
:rules="otherRule.careObjectId">
|
|
||||||
<elder-autocomplete :name="form.careObject.name" @change="elderChange"
|
|
||||||
:disabled="openType!=='1'"></elder-autocomplete>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<!-- 身份证类型 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item class="required" :label="$t('elder.identityType') + ':'" prop="careObject.identityType"
|
|
||||||
:rules="identityType">
|
|
||||||
<el-select v-model="form.careObject.identityType" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
:disabled="true">
|
|
||||||
<el-option v-for="(item, index) in identityTypes" :key="index" :label="item.label"
|
|
||||||
:value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 身份证号 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('common.identity')+':'" prop="identity">
|
|
||||||
<el-input type="text" v-model="form.careObject.identity" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.identityPlaceholder')" :disabled="true"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<!-- 性别 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('common.gender')+':'" prop="gender">
|
|
||||||
<el-select v-model="form.careObject.gender" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in genderList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<!-- 民族、文化程度 -->
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 年龄 -->
|
|
||||||
<!-- <el-col :span="12">
|
|
||||||
<el-form-item :label="$t('common.age')+':'" prop="age">
|
|
||||||
<el-input type="text" v-model="form.careObject.age" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.agePlaceholder')" :disabled="true"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col> -->
|
|
||||||
<!-- 出生日期 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.birthDate') + ':'" prop="birthdayStr">
|
|
||||||
<el-date-picker v-model="form.careObject.birthdayStr" type="date" value-format="yyyy-MM-dd"
|
|
||||||
:placeholder="printable? '':$t('common.selectDate')" :disabled="true">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<!-- 手机号 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('system.phoneNumber')+ ':'" :prop="'careObject.phoneNum'"
|
|
||||||
:rules="otherRule.phoneNum">
|
|
||||||
<el-input type="text" v-model="form.careObject.phoneNum"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseEnter')"
|
|
||||||
auto-complete="off" disabled></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<!-- 宗教信仰、婚姻状况 -->
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 民族 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.national')+':'" prop="nation">
|
|
||||||
<el-select v-model="form.careObject.nation" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in nationList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<!-- 文化程度 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.levelOfEducation')+':'" prop="educationalLevel">
|
|
||||||
<el-select v-model="form.careObject.educationalLevel"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in educationalLevelList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<!-- 居住情况、经济来源 -->
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.religiousBeliefs')+':'" prop="faith">
|
|
||||||
<el-select v-model="form.careObject.faith" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in faithList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.maritalStatus')+':'" prop="maritalStatus">
|
|
||||||
<el-select v-model="form.careObject.maritalStatus"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in maritalStatusList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.livingCondition')+':'" prop="srcLive">
|
|
||||||
<el-select v-model="form.careObject.srcLive" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in srcLiveList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.economicSources')+':'" prop="economicSources">
|
|
||||||
<el-select v-model="form.careObject.economicSources"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="true">
|
|
||||||
<el-option v-for="(item, index) in economicSourcesList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<!-- 社保卡号、医疗费用支付方式 -->
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 劳动能力 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.abilityToWork')+ ':'" :prop="'careObject.laborPower'"
|
|
||||||
:rules="otherRule.laborPower">
|
|
||||||
<el-select v-model="form.careObject.laborPower" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" disabled>
|
|
||||||
<el-option v-for="(item, index) in abilityList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.socialSecurityCardNumber')+':'" :prop="'careObject.medicalNumber'"
|
|
||||||
:rules="otherRule.medicalNumber">
|
|
||||||
<el-input type="text" v-model="form.careObject.medicalNumber" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('elder.elderInfoPlaceholder5')"
|
|
||||||
:disabled="openType==='4'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.medicalExpensesPayment')+':'" prop="medicareType">
|
|
||||||
<el-select v-model="form.careObject.medicareType" :placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select" :disabled="openType==='4'">
|
|
||||||
<el-option :label="printable?'':$t('common.pleaseSelect')" value=""></el-option>
|
|
||||||
<el-option v-for="(item, index) in medicalTypeList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row class="form-title"><span class="title-line"></span>{{ $t('elder.assessmentBaseInfo') }}</el-row>
|
|
||||||
<!-- 评估编号、评估基准日期 -->
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="评估标准" prop="assessmentRecord.assessmentStandard">
|
|
||||||
<el-select v-model="form.assessmentRecord.assessmentStandard"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseSelect')+ ':'"
|
|
||||||
class="search-select" :disabled="openType === '4' || finished">
|
|
||||||
<el-option v-for="(item, index) in assessmentStandardList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.assessmentNumber')+':'" prop="assessmentRecord.assessmentNumber">
|
|
||||||
<el-input type="text" v-model="form.assessmentRecord.assessmentNumber" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('reception.fileNumberPlaceholder')"
|
|
||||||
:disabled="true"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
</el-row>
|
# 提示红色的错误信息
|
||||||
<!-- 评估原因 -->
|
error_msg() {
|
||||||
<el-row :gutter="10">
|
echo -e "\033[0;31m[$(date +"%F %T")]:\033[0m $*" >&2
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item class="required" :label="$t('elder.assessmentDate')+':'"
|
|
||||||
prop="assessmentRecord.assessmentTimeStr" :rules="otherRule.assessmentTimeStr">
|
|
||||||
<el-date-picker type="date" v-model="form.assessmentRecord.assessmentTimeStr"
|
|
||||||
:picker-options="pickerOptions" value-format="timestamp"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
:disabled="openType==='4'"></el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.assessmentCase')+':'" :prop="'assessmentRecord.assessmentReason'"
|
|
||||||
:rules="otherRule.assessmentReason">
|
|
||||||
<el-input type="text" v-model="form.assessmentRecord.assessmentReason" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseEnter')" :disabled="openType==='4'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row class="form-title"><span class="title-line"></span>{{ $t('elder.provideInfo') }}</el-row>
|
|
||||||
<!-- 信息提供者姓名、信息提供者是长者的 -->
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.provideName')+':'" :prop="'assessmentRecord.provideName'"
|
|
||||||
:rules="otherRule.provideName">
|
|
||||||
<el-input type="text" v-model="form.assessmentRecord.provideName" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.namePlaceholder')"
|
|
||||||
:disabled="openType==='4'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.provideRelative')+':'" :prop="'assessmentRecord.provideRelation'">
|
|
||||||
<el-select v-model="form.assessmentRecord.provideRelation"
|
|
||||||
:disabled="!form.assessmentRecord.provideName || openType==='4'"
|
|
||||||
:placeholder="printable? '':$t('common.pleaseSelect')"
|
|
||||||
class="search-select">
|
|
||||||
<el-option v-if="!printable" :label="$t('common.pleaseSelect')" value=""></el-option>
|
|
||||||
<el-option v-for="(item, index) in relationList" :key="index" :label="item.value"
|
|
||||||
:value="item.key"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 信息提供者手机号、紧急联系人姓名 -->
|
|
||||||
<el-col :span="12" v-if="openType!=='1' && openType!=='2'">
|
|
||||||
<el-form-item :label="$t('elder.informationProviderPhoneNumber')+':'"
|
|
||||||
:prop="'assessmentRecord.providePhone'" :rules="otherRule.providePhone">
|
|
||||||
<el-input type="text" v-model="form.assessmentRecord.providePhone" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.phoneNumPlaceholder')"
|
|
||||||
:disabled="openType==='4'"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.emergencyName')+':'" prop="contactsName">
|
|
||||||
<el-input type="text" v-model="form.assessmentRecord.contactsName" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.namePlaceholder')" :disabled="true"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="10">
|
|
||||||
<!-- 紧急联系人手机号 -->
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('elder.emergencyContactPhoneNumber')+':'" prop="contactsPhone">
|
|
||||||
<el-input type="text" v-model="form.assessmentRecord.contactsPhone" auto-complete="off"
|
|
||||||
:placeholder="printable? '':$t('common.phoneNumPlaceholder')" :disabled="true"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row v-if="openType!=='4' && openType!=='5' && !printable" class="form-btns">
|
|
||||||
<el-button class="lb-btn lb-btn-primary" @click="save" :loading="btnLoad">{{
|
|
||||||
$t('common.save')
|
|
||||||
}}
|
|
||||||
</el-button>
|
|
||||||
</el-row>
|
|
||||||
</section>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
import dictionary from "@ims/components2/system/dictionary/dictionary";
|
|
||||||
import elderAutocomplete from "../../../elder/components/elderAutocomplete";
|
|
||||||
import bedJs from '@ims/components2/bed/bed'
|
|
||||||
import {sexList} from 'lonbon-common/lib/dict.js'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
elderAutocomplete
|
|
||||||
},
|
|
||||||
mixins: [dictionary, bedJs],
|
|
||||||
props: {
|
|
||||||
finished: {
|
|
||||||
type: Boolean
|
|
||||||
},
|
|
||||||
openType: {
|
|
||||||
type: String,
|
|
||||||
},
|
|
||||||
printable: {
|
|
||||||
type: Boolean,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
let validateNumLetter = (rule, value, callback) => {
|
|
||||||
const repStr = /^[A-Za-z0-9]+$/
|
|
||||||
if (value && !repStr.test(value)) {
|
|
||||||
callback(new Error(this.$t('elder.validateTip3')));
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return {
|
|
||||||
pickerOptions: {
|
|
||||||
disabledDate(time) {
|
|
||||||
return time.getTime() > Date.now();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
btnLoad: false,
|
|
||||||
elderInfo: {}, // 长者信息
|
|
||||||
identityTypes: [{
|
|
||||||
label: "中国居民身份证",
|
|
||||||
value: "0"
|
|
||||||
}, {
|
|
||||||
label: "香港身份证",
|
|
||||||
value: "1"
|
|
||||||
}, {
|
|
||||||
label: "澳门身份证",
|
|
||||||
value: "2"
|
|
||||||
}, {
|
|
||||||
label: "台湾身份证",
|
|
||||||
value: "3"
|
|
||||||
}],
|
|
||||||
form: {
|
|
||||||
// 基本信息
|
|
||||||
careObject: {
|
|
||||||
careObjectId: '', // 长者id
|
|
||||||
name: '', // 长者姓名
|
|
||||||
identityType: '0', // 身份证类别
|
|
||||||
identity: '', // 身份证
|
|
||||||
gender: '', // 性别
|
|
||||||
age: '', // 年龄
|
|
||||||
birthdayStr: '', // 出生日期
|
|
||||||
nation: '', //民族,
|
|
||||||
educationalLevel: '', //文化程度
|
|
||||||
faith: '', //宗教信仰
|
|
||||||
maritalStatus: '', //婚姻状况
|
|
||||||
srcLive: '', //居住情况
|
|
||||||
economicSources: '',//经济来源
|
|
||||||
medicalNumber: '', //社保卡号
|
|
||||||
medicareType: '',//医疗费用支付方式
|
|
||||||
laborPower: '', // 劳动能力
|
|
||||||
phoneNum: '', // 手机号
|
|
||||||
},
|
|
||||||
// 评估信息开始
|
|
||||||
assessmentRecord: {
|
|
||||||
assessmentTime: '', //评估时间
|
|
||||||
assessmentTimeStr: '', //展示的评估时间
|
|
||||||
assessmentNumber: '', //评估编号
|
|
||||||
assessmentReason: '', //评估原因
|
|
||||||
assessmentStandard: '2', // 评估标准
|
|
||||||
//信息提供者
|
|
||||||
provideName: '', //信息提供者姓名
|
|
||||||
provideRelation: '', //信息提供者与长者关系
|
|
||||||
contactsName: '', //联系人姓名
|
|
||||||
contactsPhone: '', //联系人手机号
|
|
||||||
providePhone: '', // 信息提供者手机号
|
|
||||||
},
|
|
||||||
},
|
|
||||||
otherRule: {
|
|
||||||
careObjectId: [{validator: this.$validate.empty, trigger: 'blur'}],
|
|
||||||
assessmentTimeStr: [{validator: this.$validate.empty, trigger: 'blur'}],
|
|
||||||
provideName: [{max: 4, message: this.$t('common.validateTip3', [4]), trigger: 'blur'}],
|
|
||||||
providePhone: [{validator: this.$validate.phone, trigger: 'blur',}],
|
|
||||||
assessmentReason: [{max: 20, message: this.$t('common.validateTip3', [20]), trigger: 'blur'}],
|
|
||||||
medicalNumber: [{validator: validateNumLetter, trigger: 'blur',}, {
|
|
||||||
max: 32,
|
|
||||||
message: this.$t('common.validateTip3', [32]),
|
|
||||||
trigger: 'blur'
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
genderList: sexList, // 性别列表
|
|
||||||
nationList: [],// 民族列表
|
|
||||||
educationalLevelList: [], // 文化程度列表
|
|
||||||
faithList: [], // 宗教信仰列表
|
|
||||||
maritalStatusList: [], // 婚姻状态列表
|
|
||||||
srcLiveList: [], //居住情况列表
|
|
||||||
economicSourcesList: [],// 经济来源列表
|
|
||||||
medicalTypeList: [], // 医疗费用支付方式
|
|
||||||
careObjectId: '', // 长者信息id
|
|
||||||
resultInfo: '',// 评估结果 json字符串
|
|
||||||
relationList: [], // 关系列表
|
|
||||||
before: '', // 长者入住状态
|
|
||||||
abilityList: [], // 劳动能力列表
|
|
||||||
assessmentStandardList: [
|
|
||||||
{key: '1', value: '2013年评估标准'},
|
|
||||||
{key: '2', value: '2022年评估标准'},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async mounted() {
|
|
||||||
await this.getDictList(); // 获取字典数据
|
|
||||||
if (this.openType === '1') {// 健康状况监测,评估管理, 新增进入
|
|
||||||
return '';
|
|
||||||
} else if (this.openType === '2') { // 健康状况监测,评估管理, 编辑进入
|
|
||||||
await this.getNewBaseInfo(); // 获取个人基本信息
|
|
||||||
} else {
|
|
||||||
await this.getOldBaseInfo(); // 获取个人基本信息
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/**
|
|
||||||
* 获取用户基本信息
|
|
||||||
* @author: cirry
|
|
||||||
* @date: 2020/9/28 - 下午6:12
|
|
||||||
*/
|
|
||||||
async getOldBaseInfo() {
|
|
||||||
if (this.finished) { //判断是从已完成页面进入还是从未完成页面进入
|
|
||||||
this.careObjectId = localStorage.getItem('FinishAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
this.before = localStorage.getItem('FinishAssessTryStatus' + sessionStorage.accountId)
|
|
||||||
} else {
|
|
||||||
this.careObjectId = localStorage.getItem('AssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
this.before = localStorage.getItem('AssessTryStatus' + sessionStorage.accountId)
|
|
||||||
}
|
|
||||||
// 如果是详情页面,覆写
|
|
||||||
if (this.openType === '4') {
|
|
||||||
this.careObjectId = localStorage.getItem('DetailAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
this.before = localStorage.getItem('DetailAssessTryStatus' + sessionStorage.accountId)
|
|
||||||
} else if (this.openType === '5') {
|
|
||||||
this.careObjectId = localStorage.getItem('DetailNotFinishAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
this.before = localStorage.getItem('DetailNotFinishAssessTryStatus' + sessionStorage.accountId)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
let bedStr = ''; // 床位号
|
|
||||||
let response = await this.$axios.get("/api/v2.0/reception/elder-info", {
|
|
||||||
params: {careObjectId: this.careObjectId, type: '1'}
|
|
||||||
})
|
|
||||||
|
|
||||||
if (response.status === '200') {
|
|
||||||
let item = response.body;
|
|
||||||
if (item.bedName) {
|
|
||||||
bedStr = item.bedName
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let params = {
|
|
||||||
before: this.before
|
|
||||||
}
|
|
||||||
let result = await this.$axios.get(`/api/v2.0/reception/health-assess/object/${this.careObjectId}`, {params})
|
|
||||||
if (result.status === '200') {
|
|
||||||
this.$emit('saveElderInfo', {...result.body, bedStr})
|
|
||||||
|
|
||||||
if (result.body.assessmentTime) {
|
|
||||||
result.body.assessmentTimeStr = result.body.assessmentTime * 1000
|
|
||||||
}
|
|
||||||
|
|
||||||
Object.keys(this.form.careObject).forEach(key => {
|
|
||||||
if (result.body[key]) {
|
|
||||||
this.form.careObject[key] = result.body[key].toString()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.form.careObject.birthdayStr = (result.body.birthday || result.body.birthday === 0) ? this.$moment(result.body.birthday * 1000).format("YYYY-MM-DD") : ''
|
|
||||||
Object.keys(this.form.assessmentRecord).forEach(key => {
|
|
||||||
if (result.body[key]) {
|
|
||||||
this.form.assessmentRecord[key] = result.body[key].toString()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
let temp = _.find(this.medicalTypeList, (item) => item.key === result.body.medicareType)
|
|
||||||
if (temp && temp.value) {
|
|
||||||
this.form.careObject.medicareType = result.body.medicareType
|
|
||||||
} else {
|
|
||||||
this.form.careObject.medicareType = ''
|
|
||||||
}
|
|
||||||
if (this.finished) { // 如果是已完成的用户,在查询阶段就会保存assessmentId,和评估结果
|
|
||||||
localStorage.setItem('FinishAssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
|
|
||||||
if (this.openType === '4') {
|
|
||||||
localStorage.setItem('DetailAssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
|
|
||||||
}
|
|
||||||
// 将总分传给父组件后,传递给长者评估页面,渲染页面
|
|
||||||
this.$emit('saveAssessmentGrade', result.body.assessmentGrade);
|
|
||||||
}
|
|
||||||
localStorage.setItem('EditAssessmentStandard' + sessionStorage.accountId, result.body.assessmentStandard ? result.body.assessmentStandard : '2')
|
|
||||||
if (this.openType === '4') {
|
|
||||||
localStorage.setItem('DetailAssessmentStandard' + sessionStorage.accountId, result.body.assessmentStandard ? result.body.assessmentStandard : '2')
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 健康管理监测,评估管理,新增/编辑页面进入此页面调用的方法
|
|
||||||
* @author: cirry
|
|
||||||
* @date: 2020/11/10 - 下午6:10
|
|
||||||
*/
|
|
||||||
async getNewBaseInfo() {
|
|
||||||
// 需要两个接口才能渲染完这个baseInfo页面
|
|
||||||
|
|
||||||
if (this.openType === '2') {
|
|
||||||
this.careObjectId = localStorage.getItem('EditCapabilityAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
let params = {
|
|
||||||
careObjectId: this.careObjectId
|
|
||||||
}
|
|
||||||
let response = await this.$axios.get('/api/v2.0/service/health/assessment/ability/object', {params})
|
|
||||||
this.form.careObject.name = response.body.name
|
|
||||||
this.form.careObject.gender = response.body.gender
|
|
||||||
this.form.careObject.identity = response.body.identity
|
|
||||||
this.form.careObject.phoneNum = response.body.phoneNum
|
|
||||||
this.form.careObject.age = response.body.age
|
|
||||||
this.form.careObject.bedStr = response.body.bedStr
|
|
||||||
this.form.careObject.nation = response.body.nation
|
|
||||||
this.form.careObject.medicalNumber = response.body.medicalNumber
|
|
||||||
this.form.careObject.medicareType = response.body.medicareType
|
|
||||||
this.form.careObject.gender = response.body.gender
|
|
||||||
let temp = _.find(this.medicalTypeList, (item) => item.key === response.body.medicareType)
|
|
||||||
if (temp && temp.value) {
|
|
||||||
this.form.careObject.medicareType = response.body.medicareType
|
|
||||||
} else {
|
|
||||||
this.form.careObject.medicareType = ''
|
|
||||||
}
|
|
||||||
this.form.careObject.economicSources = response.body.economicSources
|
|
||||||
this.form.careObject.faith = response.body.faith
|
|
||||||
this.form.careObject.srcLive = response.body.srcLive
|
|
||||||
if (response.body.maritalStatus) {
|
|
||||||
this.form.careObject.maritalStatus = response.body.maritalStatus.toString()
|
|
||||||
}
|
|
||||||
if (response.body.educationalLevel) {
|
|
||||||
this.form.careObject.educationalLevel = response.body.educationalLevel.toString()
|
|
||||||
}
|
|
||||||
this.form.assessmentRecord.contactsName = response.body.contactsName
|
|
||||||
this.form.assessmentRecord.contactsPhone = response.body.contactsPhone
|
|
||||||
|
|
||||||
|
|
||||||
await this.getAssessmentResult()
|
|
||||||
|
|
||||||
// 传递给父页面elderInfo信息,在最后的【评估结果】页面中使用
|
|
||||||
|
|
||||||
this.$emit('saveElderInfo', {
|
|
||||||
name: this.form.careObject.name,
|
|
||||||
identity: this.form.careObject.identity,
|
|
||||||
careObjectId: this.careObjectId,
|
|
||||||
assessmentStandard: this.form.assessmentRecord.assessmentStandard.toString()
|
|
||||||
})
|
|
||||||
localStorage.setItem('EditCapabilityAssessStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard.toString())
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
async getAssessmentResult() {
|
|
||||||
let params = {
|
|
||||||
assessmentRecordId: localStorage.getItem('EditCapabilityAssessmentRecordId' + sessionStorage.accountId)
|
|
||||||
}
|
|
||||||
let response = await this.$axios.get('/api/v2.0/service/health/assessment/ability', {params})
|
|
||||||
if (response.status == '200') {
|
|
||||||
if (response.body.assessmentTime) {
|
|
||||||
this.form.assessmentRecord.assessmentTimeStr = response.body.assessmentTime * 1000
|
|
||||||
}
|
|
||||||
this.form.assessmentRecord.assessmentStandard = response.body.assessmentStandard.toString()
|
|
||||||
this.form.assessmentRecord.assessmentReason = response.body.assessmentReason
|
|
||||||
this.form.assessmentRecord.provideName = response.body.provideName
|
|
||||||
this.form.assessmentRecord.provideRelation = response.body.provideRelation
|
|
||||||
this.form.assessmentRecord.assessmentNumber = response.body.assessmentNumber
|
|
||||||
this.form.careObject.medicalNumber = response.body.medicalNumber
|
|
||||||
this.form.careObject.medicareType = response.body.medicareType
|
|
||||||
let temp = _.find(this.medicalTypeList, (item) => item.key === response.body.medicareType)
|
|
||||||
if (temp && temp.value) {
|
|
||||||
this.form.careObject.medicareType = response.body.medicareType
|
|
||||||
} else {
|
|
||||||
this.form.careObject.medicareType = ''
|
|
||||||
}
|
|
||||||
// 将总分传给父组件后,传递给长者评估页面,渲染页面
|
|
||||||
this.$emit('saveAssessmentGrade', response.body.assessmentGrade);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取页面所需字典数据
|
|
||||||
* @author: cirry
|
|
||||||
* @date: 2020/9/28 - 下午6:12
|
|
||||||
*/
|
|
||||||
async getDictList() {
|
|
||||||
let arr = ['medical_expenses_pay_type', 'national', 'educational_level', 'religion_faith', 'marital_status', 'live_status', 'economic_sources', 'information_provider', 'work_power']
|
|
||||||
let res = await this.getDictionaryByTypeList(arr)
|
|
||||||
this.nationList = res.national
|
|
||||||
this.educationalLevelList = res['educational_level']
|
|
||||||
this.faithList = res['religion_faith']
|
|
||||||
this.maritalStatusList = res['marital_status']
|
|
||||||
this.srcLiveList = res['live_status']
|
|
||||||
this.economicSourcesList = res['economic_sources']
|
|
||||||
this.relationList = res['information_provider']
|
|
||||||
this.abilityList = res['work_power']
|
|
||||||
|
|
||||||
// 获取 医疗费用的支付方式
|
|
||||||
this.medicalTypeList = res['medical_expenses_pay_type']
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 基本信息保存按钮方法
|
|
||||||
* @author: cirry
|
|
||||||
* @date: 2020/9/25 - 上午9:22
|
|
||||||
* @returns {Promise<boolean>} assessmentRecordId // 评估结果id
|
|
||||||
*/
|
|
||||||
save() {
|
|
||||||
this.$refs.formRef.validate(async (valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.btnLoad = true
|
|
||||||
let accessParams = _.cloneDeep(this.form)
|
|
||||||
if (this.openType === '1') { // 如果有长者id说明是健康状况监测,新增进来的,
|
|
||||||
this.careObjectId = this.form.careObject.careObjectId
|
|
||||||
} else if (this.openType === '2') {
|
|
||||||
this.careObjectId = localStorage.getItem('EditCapabilityAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
} else {
|
|
||||||
if (this.finished) { //判断是从已完成页面进入还是从未完成页面进入
|
|
||||||
this.careObjectId = localStorage.getItem('FinishAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
accessParams.before = localStorage.getItem('FinishAssessTryStatus' + sessionStorage.accountId)
|
|
||||||
if (this.openType === '4') {
|
|
||||||
this.careObjectId = localStorage.getItem('DetailAssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
accessParams.before = localStorage.getItem('DetailAssessTryStatus' + sessionStorage.accountId)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.careObjectId = localStorage.getItem('AssessCareObjectId' + sessionStorage.accountId)
|
|
||||||
accessParams.before = localStorage.getItem('AssessTryStatus' + sessionStorage.accountId)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 处理日期格式 /1000
|
|
||||||
this.form.assessmentRecord.assessmentTime = this.form.assessmentRecord.assessmentTimeStr / 1000;
|
|
||||||
accessParams.assessmentRecord.assessmentTime = accessParams.assessmentRecord.assessmentTimeStr / 1000;
|
|
||||||
// 获取主键id
|
|
||||||
if (this.openType === '1') { //从健康状况监测 新增进来的
|
|
||||||
let params = {
|
|
||||||
careObjectId: this.careObjectId,
|
|
||||||
assessmentTime: this.form.assessmentRecord.assessmentTime,
|
|
||||||
assessmentReason: this.form.assessmentRecord.assessmentReason,
|
|
||||||
provideName: this.form.assessmentRecord.provideName,
|
|
||||||
provideRelation: this.form.assessmentRecord.provideRelation,
|
|
||||||
medicalNumber: this.form.careObject.medicalNumber,
|
|
||||||
medicareType: this.form.careObject.medicareType,
|
|
||||||
assessmentStandard: this.form.assessmentRecord.assessmentStandard,
|
|
||||||
}
|
|
||||||
let result = await this.$axios.post(`/api/v2.0/service/health/assessment/ability`, params)
|
|
||||||
if (result.status == '200') {
|
|
||||||
this.$message.success(this.$t('common.saveSuccess'));
|
|
||||||
// 保存长者能力评估接口会用到,长着评估id, 新增的长者id和长者评估id
|
|
||||||
localStorage.setItem('CapabilityAssessCareObjectId' + sessionStorage.accountId, this.careObjectId)
|
|
||||||
localStorage.setItem('CapabilityAssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
|
|
||||||
localStorage.setItem('CapabilityAssessmentStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard,)
|
|
||||||
this.$emit('saveElderInfo', {
|
|
||||||
name: this.form.careObject.name,
|
|
||||||
identity: this.form.careObject.identity,
|
|
||||||
careObjectId: this.careObjectId,
|
|
||||||
assessmentStandard: this.form.assessmentRecord.assessmentStandard.toString()
|
|
||||||
})
|
|
||||||
// 跳转到下一个页面
|
|
||||||
this.$emit('next')
|
|
||||||
}
|
|
||||||
} else if (this.openType === '2') {// 健康状况监测编辑进来的
|
|
||||||
let params = {
|
|
||||||
careObjectId: this.careObjectId,
|
|
||||||
assessmentTime: this.form.assessmentRecord.assessmentTime,
|
|
||||||
assessmentRecordId: localStorage.getItem('EditCapabilityAssessmentRecordId' + sessionStorage.accountId),
|
|
||||||
assessmentReason: this.form.assessmentRecord.assessmentReason,
|
|
||||||
provideName: this.form.assessmentRecord.provideName,
|
|
||||||
provideRelation: this.form.assessmentRecord.provideRelation,
|
|
||||||
medicalNumber: this.form.careObject.medicalNumber,
|
|
||||||
medicareType: this.form.careObject.medicareType,
|
|
||||||
assessmentStandard: this.form.assessmentRecord.assessmentStandard,
|
|
||||||
}
|
|
||||||
let result = await this.$axios.put(`/api/v2.0/service/health/assessment/ability`, params)
|
|
||||||
if (result.status == '200') {
|
|
||||||
localStorage.setItem('EditCapabilityAssessStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard,)
|
|
||||||
this.$message.success(this.$t('common.saveSuccess'));
|
|
||||||
// 跳转到下一个页面
|
|
||||||
this.$emit('next')
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
let result = await this.$axios.put(`/api/v2.0/reception/health-assess/object/${this.careObjectId}`, accessParams)
|
|
||||||
if (result.status == '200') {
|
|
||||||
this.$message.success(this.$t('common.saveSuccess'));
|
|
||||||
// 获取到的评估id并存储
|
|
||||||
// 未完成点击保存后,后台会返回这个id,已完成的在查询基本信息的时候就能查到此id
|
|
||||||
localStorage.setItem('AssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
|
|
||||||
// 跳转到下一个页面
|
|
||||||
this.$emit('next')
|
|
||||||
}
|
|
||||||
if (!this.finished) {
|
|
||||||
localStorage.setItem('EditAssessmentStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.btnLoad = false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
async elderChange(elderInfo) {
|
|
||||||
// 获取到长者信息之后给表单赋值
|
|
||||||
this.form.careObject.careObjectId = elderInfo.careObjectId
|
|
||||||
// 根据此id 去查询长者的其他基本信息
|
|
||||||
await this.getElderInfo()
|
|
||||||
},
|
|
||||||
async getElderInfo() {
|
|
||||||
let params = {
|
|
||||||
careObjectId: this.form.careObject.careObjectId
|
|
||||||
}
|
|
||||||
let response = await this.$axios.get('/api/v2.0/service/health/assessment/ability/object', {params})
|
|
||||||
if (response.status == '200') {
|
|
||||||
this.form.careObject.name = response.body.name
|
|
||||||
this.form.careObject.gender = response.body.gender
|
|
||||||
this.form.careObject.identity = response.body.identity
|
|
||||||
this.form.careObject.phoneNum = response.body.phoneNum
|
|
||||||
this.form.careObject.laborPower = response.body.laborPower
|
|
||||||
this.form.careObject.age = response.body.age
|
|
||||||
this.form.careObject.bedStr = response.body.bedStr
|
|
||||||
this.form.careObject.nation = response.body.nation
|
|
||||||
this.form.careObject.medicalNumber = response.body.medicalNumber
|
|
||||||
this.form.careObject.economicSources = response.body.economicSources
|
|
||||||
this.form.careObject.faith = response.body.faith
|
|
||||||
this.form.careObject.medicareType = response.body.medicareType
|
|
||||||
this.form.careObject.srcLive = response.body.srcLive
|
|
||||||
if (_.toString(response.body.maritalStatus)) {
|
|
||||||
this.form.careObject.maritalStatus = response.body.maritalStatus.toString()
|
|
||||||
}
|
|
||||||
if (_.toString(response.body.educationalLevel)) {
|
|
||||||
this.form.careObject.educationalLevel = response.body.educationalLevel.toString()
|
|
||||||
}
|
|
||||||
this.form.assessmentRecord.contactsName = response.body.contactsName
|
|
||||||
this.form.assessmentRecord.contactsPhone = response.body.contactsPhone
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
watch: {
|
|
||||||
'form.assessmentRecord.provideName': {
|
|
||||||
handler(newVal, oldVal) {
|
|
||||||
if (!newVal) {
|
|
||||||
this.form.assessmentRecord.provideRelation = ''
|
|
||||||
}
|
|
||||||
},
|
|
||||||
immediate: true,
|
|
||||||
deep: true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
<style lang="less" scoped>
|
|
||||||
.mb-2 {
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
|
# 提示绿色的成功信息
|
||||||
|
success_msg() {
|
||||||
|
echo -e "\033[0;32m[$(date +"%F %T")]:\033[0m $*" >&1
|
||||||
|
}
|
||||||
|
|
||||||
|
customAddUser() {
|
||||||
|
read -p "请输入用户名:" user
|
||||||
|
#使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2
|
||||||
|
#没有输入用户名脚本退出后,使用$?查看的返回码为 2
|
||||||
|
if id -u ${user} >/dev/null 2>&1 ; then
|
||||||
|
echo "用户 ${user} 已存在."
|
||||||
|
return 127
|
||||||
|
fi
|
||||||
|
#使用 stty ‐echo 关闭 shell 的回显功能
|
||||||
|
#使用 stty echo 打开 shell 的回显功能
|
||||||
|
# read -s -p "请输入密码:" pass
|
||||||
|
# pass=${pass:-123456}
|
||||||
|
useradd $user
|
||||||
|
echo -e "\n"
|
||||||
|
# echo $user:$pass | chpasswd
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
read -p "是否将用户添加入sudo组?(y/n)" confirmAdd
|
||||||
|
if [[ "$confirmAdd" == `echo -e "\n"` || $confirmAdd == "Y" || $confirmAdd == "y" ]]; then
|
||||||
|
usermod -aG sudo cirry
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
customDeleteUser() {
|
||||||
|
read -p "请输入需要删除的用户名:" username
|
||||||
|
deluser --remove-home $username
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
selectTips(){
|
||||||
|
Hostname=( '创建用户' '删除用户' '安装Caddy' '安装Docker' '卸载docker' '安装postgres数据库' '退出' )
|
||||||
|
PS3="Please input the number of host: "
|
||||||
|
select host in ${Hostname[@]}; do
|
||||||
|
case ${host} in
|
||||||
|
'创建用户')
|
||||||
|
customAddUser
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "用户添加成功"
|
||||||
|
else
|
||||||
|
echo "用户添加失败"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'删除用户')
|
||||||
|
customDeleteUser
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "用户删除成功"
|
||||||
|
else
|
||||||
|
echo "用户删除失败"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'安装Caddy')
|
||||||
|
echo -e "------安装Caddy------\n"
|
||||||
|
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install caddy
|
||||||
|
echo -e "------Caddy安装完成------\n"
|
||||||
|
echo -e "------设置开机自启------\n"
|
||||||
|
sudo systemctl enable --now caddy
|
||||||
|
echo -e "------设置开机自启完成------\n"
|
||||||
|
echo -e "Caddy 配置路径为 /etc/caddy/Caddyfile \n"
|
||||||
|
;;
|
||||||
|
'安装Docker')
|
||||||
|
echo -e "------删除历史docker------\n"
|
||||||
|
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
|
||||||
|
echo -e "------删除历史docker完成------\n"
|
||||||
|
# Add Docker's official GPG key:
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install ca-certificates curl gnupg
|
||||||
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
|
||||||
|
# Add the repository to Apt sources:
|
||||||
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
echo \
|
||||||
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||||
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||||
|
|
||||||
|
echo -e "------添加docker组------\n"
|
||||||
|
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
|
||||||
|
newgrp docker #更新用户组
|
||||||
|
echo -e "------添加docker组完成------\n"
|
||||||
|
;;
|
||||||
|
'卸载docker')
|
||||||
|
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
|
||||||
|
sudo rm -rf /var/lib/docker
|
||||||
|
sudo rm -rf /var/lib/containerd
|
||||||
|
;;
|
||||||
|
'安装postgres数据库')
|
||||||
|
sudo apt-get update && sudo apt-get upgrade
|
||||||
|
echo -e "------默认安装当前最新稳定版本------\n"
|
||||||
|
apt-get install postgresql # 默认安装当前最新稳定版本
|
||||||
|
systemctl enable postgresql
|
||||||
|
echo -e "------查看版本号------\n"
|
||||||
|
psql --version
|
||||||
|
echo -e "------开启Postgres的远程访问------\n"
|
||||||
|
ver=$(psql --version | grep -oP '\d+' | head -1)
|
||||||
|
sed -i '/listen_addresses =/s/=.*/= '\''*'\''/' /etc/postgresql/$ver/main/postgresql.conf
|
||||||
|
sed -i '/port =/s/=.*/= '\''5432'\''/' /etc/postgresql/$ver/main/postgresql.conf
|
||||||
|
echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/$ver/main/pg_hba.conf
|
||||||
|
echo -e "------开启Postgres的远程访问完成------\n"
|
||||||
|
echo -e "------重启psql------\n"
|
||||||
|
systemctl restart postgresql
|
||||||
|
echo -e "------设置默认的PostgreSQL用户密码------\n"
|
||||||
|
echo -e "1. 打开终端并以root用户身份登录\n"
|
||||||
|
echo -e "2. 切换到PostgreSQL默认用户postgres:su - postgres\n"
|
||||||
|
echo -e "3. 进入PostgreSQL命令行界面:psql\n"
|
||||||
|
echo -e "4. 在命令行中输入以下:ALTER USER postgres WITH PASSWORD new_password;\n"
|
||||||
|
echo -e " new_password是您想要设置的新密码\n"
|
||||||
|
echo -e "5. 输入\q退出PostgreSQL命令行界面\n"
|
||||||
|
echo -e "------设置默认的PostgreSQL用户密码------\n"
|
||||||
|
;;
|
||||||
|
'退出')
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "请选择正确的选项"
|
||||||
|
selectTips;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
selectTips
|
Loading…
Reference in New Issue
Block a user