first commit

This commit is contained in:
monjack
2025-06-20 18:01:48 +08:00
commit 6daa6d65c1
24611 changed files with 2512443 additions and 0 deletions

38
app_vue/src/App.vue Normal file
View File

@ -0,0 +1,38 @@
<template>
<IndexDefault></IndexDefault>
<router-link to="/" class="IndexDefault">IndexDefault</router-link>
<router-link to="/GetToken_1" class="GetToken_1">GetToken_1</router-link>
<router-link to="/Login_1" class="Login_1">Login_1</router-link>
<router-link :to="{path:'/Edit_1',query:{name:name}}" class="Edit_1" id="Edit_1">Edit_1</router-link>
<router-link to="/Ref_1" class="Ref_1">Ref_1</router-link>
<router-link to="/Hypertension_1" class="Hypertension_1">Hypertension_1</router-link>
<router-link to="/person_881_1/ListPerson">ListPerson</router-link>
<router-view></router-view>
</template>
<script>
export default {
name: 'App',
components: {
},
data(){
return{
name:'',
}
},
mounted(){
window.myVue=this;
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>

BIN
app_vue/src/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,21 @@
<template>
用户姓名<input type="text" id="name" v-model="name">
</template>
<script>
export default {
name: "Edit_1",
data(){
return{
name:this.$route.query.name,
}
},
mounted(){
window.myVue=this;
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,40 @@
<template>
<div id="token">{{token}}</div>
<input type="button" id="getToken" @click="getToken" value="getToken">
</template>
<script>
export default {
name: "GetToken_1",
data(){
return{
proxy:"/examServer",
url:"/public_api/v1/api_for_vue_exam_1?student_id=",
token:"no token",
student_id: "202241401015"
}
},
methods:{
getToken(){
let url=this.proxy+this.url+this.student_id;
let that=this;
this.axios.get(url).then(
function (response) {
that.token=response.data;
},
function (error) {
console.log(error.data);
}
)
}
},
mounted() {
window.myVue=this;
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,58 @@
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>

View File

@ -0,0 +1,64 @@
<template>
<h3>居民血压管理系统</h3>
<div id="result">{{result}}</div>
居民姓名<input type="text" id="userName" v-model="userName">
sbp:<input type="text" id="sbp" v-model="sbp">
dbp:<input type="text" id="dbp" v-model="dbp">
<input type="button" id="getResult" @click="getResult" value="getResult">
</template>
<script>
export default {
name: "Hypertension_1",
data(){
return{
proxy:"/examServer",
url:"/public_api/v1/api_for_vue_exam_hypertension_1",
userName:"",
sbp:0,
dbp:0,
result:"",
}
},
methods:{
getResult(){
const formData = new FormData();
formData.append("userName", this.userName);
formData.append("sbp", this.sbp);
formData.append("dbp", this.dbp);
let url = this.proxy+this.url;
let that = this;
this.axios.post(
url,
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(
function (response) {
that.result= response.data;
},
function (error) {
console.log("有可能是防火墙没有开");
console.log(error.data);
}
)
},
},
mounted() {
window.myVue=this;
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,14 @@
<template>
<hr>
<h3>index default</h3>
</template>
<script>
export default {
name: "IndexDefault"
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,57 @@
<template>
<div id="token">{{token}}</div>
<input type="text" id="student_id" v-model="student_id" >
<input type="button" id="getToken" @click='getToken' value="getToken">
</template>
<script>
export default {
name: "Login_1",
data(){
return{
proxy:"/examServer",
url:"public_api/v1/api_for_vue_exam_2",
token:"no token",
student_id:"202140701358",
}
},
methods:{
getToken(){
const formData = new FormData();
formData.append("student_id",this.student_id);
let url = this.proxy+this.url;
let that = this;
this.axios.post(
url,
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(
function (response) {
that.token = response.data;
},
function (error) {
console.log("有可能是防火墙没有开");
console.log(error.data);
}
)
},
},
mounted() {
window.myVue=this;
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,38 @@
<template>
<h1>学习vue表单程序</h1>
<h1>{{id}}:{{name}}</h1>
<form>
学号:<input type="text" id = "id" name = "id" value="" v-model="id"><br>
姓名:<input type="text" id="name" name="name" value="" v-model="name"><br>
<input type="button" id="ok" name="ok" value="ok" @click="check">
</form>
</template>
<script>
export default {
name: "MyEdit_1",
data(){
return{
id:"001",
name:"Mike",
}
},
methods:{
check:function(){
this.name="check ok";
}
},
mounted() {
//需要加载后自动执行的代码放到mounted
window.setTimeout(
this.check,
2000
)
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,24 @@
<template>
<div id="div_1" ref="refName">{{refName}}</div>
<input type="text" id="name" value="" v-model="refName" >
</template>
<script>
import {ref} from "vue";
export default {
name: "Ref_1",
data(){
return{
refName:ref('mike'),
refInputName:ref("null"),
}
},
mounted(){
window.myVue=this;
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,49 @@
<template>
<hr>
<div>{{message}}</div>
<button id="button_delete" @click='deletePerson'>删除</button>
</template>
<script>
export default {
name: "DeletePerson",
data(){
return{
proxy:"/springbootServer",
urlDelete:"/PersonBaseInfo_881_1/delete",
message:"如确定删除请点击删除按钮",
id:this.$route.query.id,
}
},
methods:{
deletePerson(){
let url = this.proxy+this.urlDelete+"?id="+this.id;
console.log(url);
let that = this;
this.axios.get(url).then(
function (response) {
console.log(response)
//console.log(response.data.code);
that.message="删除成功";
},
function (error) {
that.message="删除失败";
console.log(error.data);
}
)
}
},
mounted() {
//this.delete();
window.myVue=this;
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,180 @@
<template>
<hr>
<h3>编辑居民信息</h3>
<table>
<tbody>
<tr>
<td>身份证</td>
<td><input type="text" id="id" ref="refId" v-model="person.id"></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" id="name" v-model="person.name"></td>
</tr>
<tr>
<td>sbp</td>
<td><input type="text" id="sbp" v-model="person.sbp"></td>
</tr>
<tr>
<td>dbp</td>
<td><input type="text" id="dbp" v-model="person.dbp"></td>
</tr>
</tbody>
</table>
<button id="button_save" @click="save">保存</button>
<div ref="refMessage"></div>
</template>
<script>
import {ref} from 'vue';
// import DictionaryElement from "@/components/dict/DictionaryElement";
export default {
name: "EditPerson",
data(){
return{
proxy:"/springbootServer",
urlSelect:"/PersonBaseInfo_881_1/select",
urlInsert:"/PersonBaseInfo_881_1/insert",
urlUpdate:"/PersonBaseInfo_881_1/update",
newPerson:false,
person:{
id:this.$route.query.id,
name:"",
sbp:"",
dbp:""
},
}
},
methods:{
select(){
//编辑态时把数据读出来
let url = this.proxy+this.urlSelect+"?id="+this.person.id;
//console.log(url);
let that = this;
this.axios.get(url).then(
function (response) {
that.person=response.data.responseData;
},
function (error) {
console.log("有可能是防火墙没有开");
console.log(error.data);
}
)
},
save(){
const formData = new FormData();
//id, name, gender, password, address, create_time, update_time
formData.append("id",this.person.id);
formData.append("name",this.person.name);
formData.append("sbp",this.person.sbp);
formData.append("dbp",this.person.dbp);
let url="";
if(this.newPerson){
url = this.proxy+this.urlInsert;
}else{
url = this.proxy+this.urlUpdate;
}
// console.log("-----------------------------------------");
// console.log(url);
// console.log("-----------------------------------------");
let that = this;
this.axios.post(
url,
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(
function (response) {
that.result = response.data;
that.refMessage.innerText="保存成功";
if(that.newPerson){
//新增后改变状态
that.newPerson=false;
that.refId.disabled=true;
}
window.setTimeout(
()=>{
try {
that.refMessage.innerText=''
}catch (e) {
console.log(e.toString())
}
},1000
)
},
function (error) {
// console.log("-----------------------------------------");
// console.log("error", error);
// console.log("-----------------------------------------");
that.refMessage.innerText="保存失败";
window.setTimeout(
()=>{
try {
that.refMessage.innerText=''
}catch (e) {
console.log(e.toString())
}
},1000
)
console.log("有可能是防火墙没有开");
console.log(error);
}
)
},
},
mounted() {
//console.log(this.$route.query.id)
if(this.person.id!=""){
//console.log(this.id)
this.select();
this.refId.disabled=true;
}else {
//console.log(this.id)
this.newPerson=true;
this.person.id="身份证不能为空";
}
window.myVue=this;
},
setup(){
//定义ref数据变量
const refMessage=ref("message");
const refId=ref(null);
//把定义的变量与方法返回给组件,这时在组件中就可以使用了
return {
refMessage,
refId,
}
},
unmounted() {
}
}
</script>
<style scoped>
table{
margin: auto;
}
td{
text-align: left;
}
img{
height:50px;
}
</style>

View File

@ -0,0 +1,85 @@
<template>
<hr>
<h3>居民健康档案列表</h3>
<table border="1">
<tbody>
<tr>
<td>身份证</td>
<td>姓名</td>
<td>sbp</td>
<td>dbp</td>
<td>操作</td>
</tr>
<tr v-for="person in persons" :key="person.id">
<td>{{person.id}}</td>
<td>{{person.name}}</td>
<td>{{person.sbp}}</td>
<td>{{person.dbp}}</td>
<td>
<router-link :to="{path:'/person_881_1/EditPerson',query:{id:person.id}}">编辑</router-link>|
<router-link :to="{path:'/person_881_1/DeletePerson',query:{id:person.id}}">删除</router-link>
</td>
</tr>
<tr>
<td colspan="5">
<!-- AddPerson在route表中还是指向的edit-->
<router-link :to="{path:'/person_881_1/AddPerson',query:{id:''}}">新增</router-link>
</td>
</tr>
</tbody>
</table>
</template>
<script>
export default {
name: "ListPerson",
data() {
return {
proxy: "/springbootServer",
urlSelectAll: "/PersonBaseInfo_881_1/selectAll",
//id, name, gender, password, address, create_time, update_time
persons: [{id: "", name: "", sbp: "",dbp:""}],
}
},
methods: {
selectAll() {
let url = this.proxy + this.urlSelectAll;
//console.log(url);
let that = this;
this.axios.get(url).then(
function (response) {
//console.log(response.data.responseData);
that.persons = response.data.responseData;
},
function (error) {
let errorMessage="有可能是springboot服务没有启动,或是端口配置错误,或是防火墙没有开";
console.log(errorMessage);
that.persons[0].id=errorMessage;
console.log(error.data);
}
)
},
},
mounted() {
this.selectAll();
window.myVue=this;
}
}
</script>
<style scoped>
table {
border-collapse: collapse;
margin: auto;
}
td {
padding: 2px;
}
</style>

10
app_vue/src/main.js Normal file
View File

@ -0,0 +1,10 @@
import { createApp } from 'vue'
import App from './App.vue'
import router from "@/router";
import axios from "axios";
axios.defaults.baseURL="";
const myApp=createApp(App);
myApp.use(router);
myApp.config.globalProperties.axios=axios;
myApp.mount("#app");

View File

@ -0,0 +1,61 @@
import {createWebHistory,createRouter} from "vue-router";
import IndexDefault from "@/components/IndexDefault";
import GetToken_1 from "@/components/GetToken_1";
import Login_1 from "@/components/Login_1";
import Edit_1 from "@/components/Edit_1";
import Ref_1 from "@/components/Ref_1";
import ListPerson_881_1 from "@/components/person_881_1/ListPerson";
import EditPerson_881_1 from "@/components/person_881_1/EditPerson";
import AddPerson_881_1 from "@/components/person_881_1/EditPerson";
import DeletePerson_881_1 from "@/components/person_881_1/DeletePerson";
import Hypertension_1 from "@/components/Hypertension_1";
const history=createWebHistory();
const router=createRouter(
{
history,
routes:[
{
path:"/",
component:IndexDefault
},
{
component:GetToken_1,
path:"/GetToken_1"
},
{
component:Login_1,
path:"/Login_1"
},
{
component:Edit_1,
path:"/Edit_1"
},
{
component:Ref_1,
path:"/Ref_1"
},
{
component:Hypertension_1,
path:"/Hypertension_1"
},
{
path:"/person_881_1/ListPerson",
component:ListPerson_881_1
},
{
path:"/person_881_1/EditPerson",
component:EditPerson_881_1
},
{
path:"/person_881_1/AddPerson",
component:AddPerson_881_1
},
{
path:"/person_881_1/DeletePerson",
component:DeletePerson_881_1
}
]
}
)
export default router