Commit e43de15e by nlp97

1、引入国际化i18n

2、提炼字段、编写zh文件
3、增加维语文件
parent 6186ce0d
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
"node-sass": "^5.0.0", "node-sass": "^5.0.0",
"sass": "^1.25.0", "sass": "^1.25.0",
"sass-loader": "^7.3.1", "sass-loader": "^7.3.1",
"vue-i18n": "^6.1.3",
"vue-router": "^3.1.6", "vue-router": "^3.1.6",
"vue-template-compiler": "^2.6.11", "vue-template-compiler": "^2.6.11",
"vuex": "^3.1.3" "vuex": "^3.1.3"
...@@ -13967,6 +13968,12 @@ ...@@ -13967,6 +13968,12 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true "dev": true
}, },
"node_modules/vue-i18n": {
"version": "6.1.3",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-6.1.3.tgz",
"integrity": "sha512-rfqrU0M28dmzSbdPb1GvGj0xKHZ57tlwwlpIAOibzoZFT6prjXdfQi9jZbbIq1MVuNDCrvVLVD+S/67S/0UxKw==",
"dev": true
},
"node_modules/vue-lazyload": { "node_modules/vue-lazyload": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz", "resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
...@@ -26643,6 +26650,12 @@ ...@@ -26643,6 +26650,12 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true "dev": true
}, },
"vue-i18n": {
"version": "6.1.3",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-6.1.3.tgz",
"integrity": "sha512-rfqrU0M28dmzSbdPb1GvGj0xKHZ57tlwwlpIAOibzoZFT6prjXdfQi9jZbbIq1MVuNDCrvVLVD+S/67S/0UxKw==",
"dev": true
},
"vue-lazyload": { "vue-lazyload": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz", "resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
"node-sass": "^5.0.0", "node-sass": "^5.0.0",
"sass": "^1.25.0", "sass": "^1.25.0",
"sass-loader": "^7.3.1", "sass-loader": "^7.3.1",
"vue-i18n": "^6.1.3",
"vue-router": "^3.1.6", "vue-router": "^3.1.6",
"vue-template-compiler": "^2.6.11", "vue-template-compiler": "^2.6.11",
"vuex": "^3.1.3" "vuex": "^3.1.3"
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
* @Author: ninglupeng * @Author: ninglupeng
* @Date: 2020-11-24 16:18:58 * @Date: 2020-11-24 16:18:58
* @LastEditors: ninglupeng * @LastEditors: ninglupeng
* @LastEditTime: 2022-03-19 08:29:28 * @LastEditTime: 2022-10-31 14:38:03
* @Description: * @Description:
--> -->
<template> <template>
<div class="page1"> <div class="page1">
<div class="page1_topbg"> <div class="page1_topbg">
<span class="page1_topbg_title"> <span class="page1_topbg_title">
入院信息采集 {{ $t('project') }}
</span> </span>
</div> </div>
...@@ -27,7 +27,7 @@ export default { ...@@ -27,7 +27,7 @@ export default {
data() { data() {
return {}; return {};
}, },
mounted() {}, mounted() { },
methods: { methods: {
next() { next() {
this.$store.dispatch("user/setpage", 2); this.$store.dispatch("user/setpage", 2);
...@@ -43,6 +43,7 @@ export default { ...@@ -43,6 +43,7 @@ export default {
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
background-color: #f2f2f2; background-color: #f2f2f2;
&_topbg { &_topbg {
background-image: url("../assets/img/page1bg.png"); background-image: url("../assets/img/page1bg.png");
width: 100%; width: 100%;
...@@ -54,6 +55,7 @@ export default { ...@@ -54,6 +55,7 @@ export default {
@include align_center; @include align_center;
justify-content: space-evenly; justify-content: space-evenly;
position: relative; position: relative;
&_title { &_title {
font-size: 24px; font-size: 24px;
font-family: Roboto-Bold, Roboto; font-family: Roboto-Bold, Roboto;
...@@ -72,6 +74,7 @@ export default { ...@@ -72,6 +74,7 @@ export default {
@include align_center; @include align_center;
position: absolute; position: absolute;
bottom: 150px; bottom: 150px;
&_img { &_img {
width: 48px; width: 48px;
height: 48px; height: 48px;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: ninglupeng * @Author: ninglupeng
* @Date: 2020-11-24 16:18:58 * @Date: 2020-11-24 16:18:58
* @LastEditors: ninglupeng * @LastEditors: ninglupeng
* @LastEditTime: 2022-03-18 13:06:45 * @LastEditTime: 2022-10-31 14:44:18
* @Description: * @Description:
--> -->
<template> <template>
...@@ -10,21 +10,21 @@ ...@@ -10,21 +10,21 @@
<!-- <h1 class="page2_title">知情同意书</h1> --> <!-- <h1 class="page2_title">知情同意书</h1> -->
<div class="page2_text"> <div class="page2_text">
为保障您在我院住院治疗期间享有充分的知情同意权,医务人员将向您告知您的病情、主要医疗措施、医疗风险等情況,解答您对疾病的咨询。未经您本人充分知情和签名同意,医务人员将不得进行手术等重大医疗行为。但由于各人心理承受能力不同,以及疾病发展具有不可预测性,为有利于治疗,请您现授权委托一位您充分信任的代理人,代为行使您的知情同意权。我院将依据您签名出具的授权委托书,视代理人的代理行为为您本人真实意思的表示。如您末满18周岁或没有民事行为能力和限制民事行为能力的,您的法定监护人为您的法定伐理人,代为行使知情同意权。 {{ $t('paragraph1') }}
</div> </div>
<br /> <br />
<div class="page2_text"> <div class="page2_text">
为了让医生给您制定最佳的洽疗方案,请您务必客观,真实地向医生提供您的病情资料和相关情況。 {{ $t('paragraph2') }}
</div> </div>
<div class="page2_text" style="text-align:right;"> <div class="page2_text" style="text-align:right;">
特此告知 {{ $t('paragraph3') }}
</div> </div>
<br /> <br />
<br /> <br />
<br /> <br />
<div class="page2_next" @click="next"> <div class="page2_next" @click="next">
上述告知书内容本人己充分了解 {{ $t('isAgree') }}
</div> </div>
</div> </div>
</template> </template>
...@@ -37,7 +37,7 @@ export default { ...@@ -37,7 +37,7 @@ export default {
data() { data() {
return {}; return {};
}, },
mounted() {}, mounted() { },
methods: { methods: {
next() { next() {
this.$store.dispatch("user/setpage", 3); this.$store.dispatch("user/setpage", 3);
...@@ -49,6 +49,7 @@ export default { ...@@ -49,6 +49,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.page2 { .page2 {
/* &_title { /* &_title {
text-align: center; text-align: center;
} */ } */
......
...@@ -2,145 +2,71 @@ ...@@ -2,145 +2,71 @@
* @Author: ninglupeng * @Author: ninglupeng
* @Date: 2020-11-24 16:18:58 * @Date: 2020-11-24 16:18:58
* @LastEditors: ninglupeng * @LastEditors: ninglupeng
* @LastEditTime: 2022-04-06 09:55:44 * @LastEditTime: 2022-10-31 15:05:09
* @Description: * @Description:
--> -->
<template> <template>
<div class="page3"> <div class="page3">
<div class="page3_header">本人决定选择以下方式:</div> <div class="page3_header">{{ $t('AgreementMode') }}:</div>
<van-field colon name="AgreementMode"> <van-field colon name="AgreementMode">
<template #input> <template #input>
<van-radio-group <van-radio-group @change="setLocalStorge('AgreementMode')" v-model="AgreementMode">
@change="setLocalStorge('AgreementMode')"
v-model="AgreementMode"
>
<van-cell-group> <van-cell-group>
<van-cell> <van-cell>
<van-radio name="向贵院出具授权委托书指定代理人" <van-radio :name="$t('Mode1')">{{ $t('Mode1') }}</van-radio>
>向贵院出具授权委托书指定代理人</van-radio
>
</van-cell> </van-cell>
<van-cell> <van-cell>
<van-radio name="向贵院出具户籍等相关证明,明确法定伐理人" <van-radio :name="$t('Mode2')">{{ $t('Mode2') }}</van-radio>
>向贵院出具户籍等相关证明,明确法定伐理人</van-radio
>
</van-cell> </van-cell>
<van-cell> <van-cell>
<van-radio <van-radio :name="$t('Mode3')">
name="本人決定不委托代理人,如本人疾病出现危急情况或不可预知情況,授权经治医师決定治疗方案,如有医疗风险和不良后果,由本人自行负责。" {{ $t('Mode3') }}</van-radio>
>本人決定不委托代理人,如本人疾病出现危急情况或不可预知情況,授权经治医师決定治疗方案,如有医疗风险和不良后果,由本人自行负责。</van-radio
>
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
</van-radio-group> </van-radio-group>
</template> </template>
</van-field> </van-field>
<van-field <van-field colon clearable name="buildingNumber" :label="$t('buildingNumber')" readonly :value="buildingNumber"
colon @click="showbuildingNumber = true" :rules="[{ required: true, message: `请填写${$t('buildingNumber')}` }]">
clearable
name="buildingNumber"
label="楼号"
readonly
:value="buildingNumber"
@click="showbuildingNumber = true"
:rules="[{ required: true, message: '请填写楼号' }]"
>
</van-field> </van-field>
<van-popup v-model="showbuildingNumber" position="bottom"> <van-popup v-model="showbuildingNumber" position="bottom">
<van-picker <van-picker :title="$t('buildingNumber')" show-toolbar :columns="buildingNumberList"
title="楼号" @confirm="onbuildingNumber" @cancel="
show-toolbar
:columns="buildingNumberList"
@confirm="onbuildingNumber"
@cancel="
() => { () => {
showbuildingNumber = false; showbuildingNumber = false;
} }
" " />
/>
</van-popup> </van-popup>
<van-field <van-field colon clearable v-model="agreementFloor" name="agreementFloor" :label="$t('agreementFloor')"
colon :placeholder="$t('agreementFloor')" :rules="[{ required: true, message: `请填写${$t('agreementFloor')}` }]"
clearable @blur="setLocalStorge('agreementFloor')"></van-field>
v-model="agreementFloor"
name="agreementFloor"
label="楼层"
placeholder="楼层"
:rules="[{ required: true, message: '请填写楼层' }]"
@blur="setLocalStorge('agreementFloor')"
></van-field>
<van-field <van-field colon clearable v-model="bedNumber" name="bedNumber" label="床号" placeholder="床号"
colon @blur="setLocalStorge('bedNumber')" :rules="[{ required: true, message: '请填写床号' }]"></van-field>
clearable
v-model="bedNumber"
name="bedNumber"
label="床号"
placeholder="床号"
@blur="setLocalStorge('bedNumber')"
:rules="[{ required: true, message: '请填写床号' }]"
></van-field>
<van-field <van-field colon clearable v-model="agreementSign" name="agreementSign" label="患者签字" placeholder="患者签字" readonly
colon :rules="[{ required: true, message: '请患者签字' }]">
clearable
v-model="agreementSign"
name="agreementSign"
label="患者签字"
placeholder="患者签字"
readonly
:rules="[{ required: true, message: '请患者签字' }]"
>
<template #input> <template #input>
<img <img class="Signimg" v-show="agreementSign" :src="agreementSign" alt=""
class="Signimg" :style="{ width: agreementSign ? '70%' : '' }" />
v-show="agreementSign" <van-button size="small" @click="showSignHandleVue = true" block type="primary" native-type="button"
:src="agreementSign" :style="{ width: !agreementSign ? '50%' : '30%' }">{{ agreementSign ? "重签" : "点击签字" }}</van-button>
alt=""
:style="{ width: agreementSign ? '70%' : '' }"
/>
<van-button
size="small"
@click="showSignHandleVue = true"
block
type="primary"
native-type="button"
:style="{ width: !agreementSign ? '50%' : '30%' }"
>{{ agreementSign ? "重签" : "点击签字" }}</van-button
>
</template> </template>
</van-field> </van-field>
<van-field <van-field colon clearable readonly clickable name="agreementDate" :value="agreementDate" label="签字日期"
colon placeholder="点击选择签字日期" @click="showCalendar = true" :rules="[
clearable
readonly
clickable
name="agreementDate"
:value="agreementDate"
label="签字日期"
placeholder="点击选择签字日期"
@click="showCalendar = true"
:rules="[
{ {
required: true, required: true,
message: '请选择签字日期', message: '请选择签字日期',
}, },
]" ]" />
/>
<van-popup v-model="showCalendar" position="bottom"> <van-popup v-model="showCalendar" position="bottom">
<van-datetime-picker <van-datetime-picker type="date" :min-date="minAgreementDate" :max-date="maxDate" @confirm="onAgreementDate"
type="date" @cancel="showCalendar = false" :formatter="formatter" v-model="agreementDate1" />
:min-date="minAgreementDate"
:max-date="maxDate"
@confirm="onAgreementDate"
@cancel="showCalendar = false"
:formatter="formatter"
v-model="agreementDate1"
/>
</van-popup> </van-popup>
<jlPopup title="签名" v-if="showSignHandleVue" @onCancel="onCancel"> <jlPopup title="签名" v-if="showSignHandleVue" @onCancel="onCancel">
</jlPopup> </jlPopup>
...@@ -186,12 +112,11 @@ export default { ...@@ -186,12 +112,11 @@ export default {
let arr = [ let arr = [
"AgreementMode", "AgreementMode",
"buildingNumber", //楼号 "buildingNumber", //楼号
// "inpatientNumber", //入院号
"agreementFloor", //楼层 "agreementFloor", //楼层
"bedNumber", //床号 "bedNumber", //床号
"agreementSign", // 患者签字 "agreementSign", // 患者签字
"agreementDate", "agreementDate",// 签字日期
]; // 签字日期 ];
arr.map((item) => { arr.map((item) => {
if (this.getLocalStorge(item)) { if (this.getLocalStorge(item)) {
...@@ -274,6 +199,7 @@ export default { ...@@ -274,6 +199,7 @@ export default {
width: 200px; width: 200px;
height: 50px; height: 50px;
} }
&_text { &_text {
margin: 25px; margin: 25px;
font-size: 14px; font-size: 14px;
...@@ -282,6 +208,7 @@ export default { ...@@ -282,6 +208,7 @@ export default {
color: #000000; color: #000000;
line-height: 25px; line-height: 25px;
} }
&_header { &_header {
height: 42px; height: 42px;
font-size: 18px; font-size: 18px;
......
/*
* @Author: ninglupeng
* @Date: 2022-10-31 14:22:41
* @LastEditors: ninglupeng
* @LastEditTime: 2022-10-31 14:57:57
* @Description:
*/
module.exports = {
//第一部分
'project': '',
'paragraph1': ' ',
"paragraph2": ' ',
"paragraph3": ' ',
"isAgree": ' ',
//第二部分
"AgreementMode": '',//本人决定选择以下方式
"Mode1": '',
"Mode2": '',
"Mode3": '',
"buildingNumber": '', //楼号
"agreementFloor": '', //楼层
"bedNumber": '', //床号
"agreementSign": '', // 患者签字
"agreementDate": ''// 签字日期
}
/*
* @Author: ninglupeng
* @Date: 2022-10-31 14:22:35
* @LastEditors: ninglupeng
* @LastEditTime: 2022-10-31 14:58:33
* @Description:
*/
module.exports = {
//第一部分
'project': '入院信息采集',
'paragraph1': ' 为保障您在我院住院治疗期间享有充分的知情同意权,医务人员将向您告知您的病情、主要医疗措施、医疗风险等情況,解答您对疾病的咨询。未经您本人充分知情和签名同意,医务人员将不得进行手术等重大医疗行为。但由于各人心理承受能力不同,以及疾病发展具有不可预测性,为有利于治疗,请您现授权委托一位您充分信任的代理人,代为行使您的知情同意权。我院将依据您签名出具的授权委托书,视代理人的代理行为为您本人真实意思的表示。如您末满18周岁或没有民事行为能力和限制民事行为能力的,您的法定监护人为您的法定伐理人,代为行使知情同意权。 ',
"paragraph2": ' 为了让医生给您制定最佳的洽疗方案,请您务必客观,真实地向医生提供您的病情资料和相关情況。 ',
"paragraph3": ' 特此告知 ',
"isAgree": ' 上述告知书内容本人己充分了解 ',
//第二部分
"AgreementMode": '本人决定选择以下方式',//本人决定选择以下方式
"Mode1": '向贵院出具授权委托书指定代理人',
"Mode2": '向贵院出具户籍等相关证明,明确法定代理人',
"Mode3": '本人決定不委托代理人,如本人疾病出现危急情况或不可预知情況,授权经治医师決定治疗方案,如有医疗风险和不良后果,由本人自行负责。',
"buildingNumber": '楼号', //楼号
"agreementFloor": '楼层', //楼层
"bedNumber": '床号', //床号
"agreementSign": '患者签字', // 患者签字
"agreementDate": '签字日期', //签字日期
}
\ No newline at end of file
...@@ -12,6 +12,8 @@ import vueWechatTitle from 'vue-wechat-title' ...@@ -12,6 +12,8 @@ import vueWechatTitle from 'vue-wechat-title'
import Vant from 'vant' import Vant from 'vant'
import 'vant/lib/index.css'; import 'vant/lib/index.css';
import VueI18n from 'vue-i18n'
Vue.use(VueI18n); //通过插件的形式挂载
Vue.use(Vant) Vue.use(Vant)
// 引入echarts // 引入echarts
...@@ -115,9 +117,27 @@ Vue.prototype.$deepCopy = function (data) { ...@@ -115,9 +117,27 @@ Vue.prototype.$deepCopy = function (data) {
return data; return data;
} }
} }
/*---------使用语言包-----------*/
const i18n = new VueI18n({
locale: 'zh', // 语言标识
//this.$i18n.locale // 通过切换locale的值来实现语言切换
messages: {
'zh': require('./lang/zh'), // 中文语言包
'Uygur': require('./lang/Uygur') // 英文语言包
}
})
new Vue({ new Vue({
router, router,
store, store,
i18n,
render: h => h(App), render: h => h(App),
}).$mount('#app') }).$mount('#app')
/* /*
* @Author: ninglupeng * @Author: ninglupeng
* @Date: 2022-03-17 15:06:50 * @Date: 2022-03-17 15:06:50
* @LastEditors: wsq * @LastEditors: ninglupeng
* @LastEditTime: 2022-05-09 15:03:49 * @LastEditTime: 2022-10-31 14:02:30
* @Description: * @Description:
*/ */
const path = require('path'); const path = require('path');
...@@ -61,10 +61,10 @@ module.exports = { ...@@ -61,10 +61,10 @@ module.exports = {
proxy: { proxy: {
'/api': { '/api': {
target: 'http://flowtone.suvalue.com/', // target: 'http://flowtone.suvalue.com/',
//target: 'http://flowtone2.suvalue.com/', //target: 'http://flowtone2.suvalue.com/',
// target: 'http://flowtone6.suvalue.com/', // target: 'http://flowtone6.suvalue.com/',
//target:'http://192.168.18.166:8048/',//测试 target: 'http://192.168.18.166:8048/',//测试
ws: true, //如果要代理 websockets,配置这个参数 ws: true, //如果要代理 websockets,配置这个参数
// secure: false, // 如果是https接口,需要配置这个参数 // secure: false, // 如果是https接口,需要配置这个参数
changeOrigin: true, changeOrigin: true,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment