feige
2024-08-31 f72cc2c5bc9ea4df7819cf53e3b872024e0583a1
修改家庭医生上传
7个文件已修改
402 ■■■■■ 已修改文件
ruoyi-ui/src/api/login.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/system/user.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/doctor/doctorInfo.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/index.vue 206 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/index_v1.vue 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/user/index.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/login.js
@@ -2,7 +2,7 @@
// 登录方法
export function login(nickname, password, code, uuid) {
    //alert(nickname)
  const data = {
    nickname,
    password,
ruoyi-ui/src/api/system/user.js
@@ -211,10 +211,10 @@
}
// export function get
//修改父亲母亲
export function updateFM(uid, tpfid)
export function updateFM(uid, tpfid, clanId)
{
    return request({
      url:'/self/user/uidAndUJd/'+uid+'/'+tpfid,
      url:'/self/user/uidAndUJd/'+uid+'/'+tpfid+"/"+clanId,
      method: 'get'
    })
}
@@ -227,10 +227,10 @@
  })
}
//新增时选择配偶
export function addPO(sex)
export function addPO(sex, clanId)
{
  return request({
    url:'/self/user/sex/'+sex,
    url:'/self/user/sex/'+sex+"/"+clanId,
    method: 'get'
  })
}
ruoyi-ui/src/views/doctor/doctorInfo.vue
@@ -383,6 +383,8 @@
      this.loading = true;
      getDoctor(id).then((response) => {
        this.formData = response.data;
        console.log(response.data.url)
        if(response.data.url!=null){
        let paths = response.data.url.split(",");
        for(let i = 0; i < paths.length; i++)
        {
@@ -424,6 +426,10 @@
              }
            }
        }
        }
        else{
            this.formData.url = ""
        }
        this.loading = false;
      });
      listType(this.queryParams).then(response => {
@@ -448,6 +454,8 @@
        this.loading = true;
        getDoctor(id).then((response) => {
          this.formData = response.data;
          console.log(response.data.url)
          if(response.data.url!=null){
          let paths = response.data.url.split(",");
          for(let i = 0; i < paths.length; i++)
          {
@@ -470,6 +478,7 @@
                }
              }
          }
          }
          _this.fileListOther = _this.fileListOther1
          this.loading = false;
        });
@@ -697,6 +706,8 @@
            this.uploading = true;
            uploadPic(formData).then(response => {
            _this.uploadFileList1 = []
            // alert(response.fileNames)
            // alert(_this.formData.url)
              _this.formData.url = _this.formData.url+","+response.fileNames
                updateDoctor(_this.formData).then(response => {
                  this.$modal.msgSuccess("文档上传成功");
ruoyi-ui/src/views/index.vue
@@ -1,82 +1,176 @@
<template>
  <div class="app-container">
    <div class="image-container">
      <img class="bottom-image" src="../assets/images/shouye.png" alt="Bottom Image">
      <div class="notification-box" :class="{ 'has-new-message': hasNewMessage }">
        <div class="left-section">消息通知</div>
        <el-button class="right-section " type="text" @click="handleClick">点击进入</el-button>
        <div class="new-message-dot" v-if="hasNewMessage"></div>
      </div>
<!--    <div class="text" style="background-color: #FEF7FC;" >
      <h1 style="font-size: 21px;">{{ greeting +',' + user.userName }}</h1></div> -->
    <div class="image-container" style="background-color: #FEF7FC;">
      <img class="top-image" src="../assets/images/zhang.png"  alt="Top Image">
    </div>
    <superMindmap  v-if="showMindMap" :active='active' :data="mapData" @activeChange="activeChange" class="mind-map-container ">
    </superMindmap>
  </div>
</template>
<script>
import { getUserProfile } from "@/api/system/user";
import { listRootAll ,listRoot} from "@/api/root/index";
import * as d3 from 'd3';
// 导入思维导图数据
import MapData from './components/MapData.js'
// 导入思维导图组件
import superMindmap from './components/superMindmap.vue'
export default {
  name: "App",
  dicts: ['sys_normal_disable'],
  data(){
   components:{superMindmap},
  name: "index",
  data() {
    return {
      hasNewMessage:false,
      active: '',
      mapData: null,
      showMindMap: false,
      user: {},
      greeting: "",
      rootList:[]
    };
  },
  created() {},
  methods:{
    handleClick(){
      this.$router.push('/views/shouye');
    }
  mounted() {
  //  this.setGreeting();
    this.getUser();
  //  this.mapData = MapData.webMap
   // console.log(this.mapData)
   // console.log('sssssssssssssssssss')
  },
  methods: {
     // 点击思维导图节点后,触发变量更新
    activeChange(newLabel) {
        this.active = newLabel
        this.reloadMindMap()
    },
    // 重载思维导图
    reloadMindMap() {
        this.showMindMap = false
        this.$nextTick(
            () => {
                this.showMindMap = true
            }
        )
    },
    setGreeting() {
      const currentTime = new Date();
      const currentHour = currentTime.getHours();
      if (currentHour < 12) {
        this.greeting = "早上好";
      } else if (currentHour < 14) {
        this.greeting = "中午好";
      } else if (currentHour < 18) {
        this.greeting = "下午好";
      } else {
        this.greeting = "晚上好";
      }
    },
    getUser() {
      getUserProfile().then(response => {
        this.user = response.data;
      });
      let clanId = this.$store.state.user.clanId
    //  alert(clanId)
      listRoot(10,clanId).then(response =>{
        this.rootList =response.data;
        const mindMapData = this.rootList[0];
         console.log(mindMapData)
    //    for(let i = 0; i < )
         console.log('9999')
        // console.log(this.drawData(mindMapData))
        this.mapData = this.drawData(mindMapData)
        this.showMindMap = true
      })
    },
    drawData(mpdata) {
      let tp = "https://www.bendudu.com:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg"
      if (mpdata == null)
        return null;
      var data = {
        "label": mpdata['spouse'] != null ? eval(mpdata['spouse']).nickName : '',
        "prop": mpdata['nickName'],
        "url": mpdata['url']!=null?'https://www.bendudu.com:8080/'+mpdata['url']:tp,
        "purl": mpdata['spouse'] != null ? (mpdata['spouse'].url!=null? 'https://www.bendudu.com:8080/'+mpdata['spouse'].url:tp):tp,
        "id": mpdata['userId'],
        "link": mpdata['nickName'],
        "children": []
      };
      if (mpdata['childList'] != null) {
        for (var i = 0; i < mpdata['childList'].length; i++) {
          var dt = {
            "label": mpdata['childList'][i]['spouse'] != null ? eval(mpdata['childList'][i]['spouse']).nickName : "",
            "prop": mpdata['childList'][i]['nickName'],
            "url": mpdata['childList'][i]['url']!=null?'https://www.bendudu.com:8080/'+mpdata['childList'][i]['url']:tp,
             "id": mpdata['childList'][i]['userId'],
             "purl": (mpdata['childList'][i]['spouse'] != null ) ?( mpdata['childList'][i]['spouse'].url!= null?'https://www.bendudu.com:8080/'+mpdata['childList'][i]['spouse'].url:tp):tp,
            "link": mpdata['childList'][i]['nickName'],
            "children": []
          };
          if (mpdata['childList'][i]['childList'] != null) {
            for (var j = 0; j < mpdata['childList'][i]['childList'].length; j++) {
              dt['children'].push(this.drawData(mpdata['childList'][i]['childList'][j]));
            }
          }
          data['children'].push(dt);
        }
      }
      return data;
    },
  }
};
</script>
<style scoped>
.app-container{
   background-color: #FEF7FC;
 }
.image-container {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: transparent;
  /*padding-left: -30px;*/
  margin-top:-30px;
  margin-left: -20px;
}
.bottom-image {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.notification-box {
  position: absolute;
  top: 760px;
  left: 150px;
  display: flex;
  align-items: center;
  width: 20%;
  height: 8%;
  background-color: rgba(227, 219, 219, 0.51);
.text{
  opacity: 0.75;
  padding: 10px;
  /*color: white;*/
  z-index: 2; /* 设置通知框层级为2,比图片高 */
}
.left-section {
  flex-grow: 1;
}
.right-section {
  margin-left: 10px;
}
.new-message-dot {
.image-container {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 8px;
  height: 8px;
  background-color: red;
  border-radius: 50%;
  /*position: fixed;*/
  top: 50px;
  /*left:-20px;*/
  width: 110%;
  height: 100%;
  z-index: -1;
}
.mind-map-container{
  /*position: fixed;*/
  overflow: auto;
  z-index: 1;
  opacity: 1;
  margin-top: 5%;
  margin-left: 12%;
  /*background-color: transparent;*/
}
.top-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: static;
  opacity: 0.8;
  overflow: auto;
}
</style>
ruoyi-ui/src/views/index_v1.vue
@@ -1,98 +1,82 @@
<template>
  <div class="dashboard-editor-container">
  <div class="app-container">
    <div class="image-container">
      <img class="bottom-image" src="../assets/images/shouye.png" alt="Bottom Image">
      <div class="notification-box" :class="{ 'has-new-message': hasNewMessage }">
        <div class="left-section">消息通知</div>
        <el-button class="right-section " type="text" @click="handleClick">点击进入</el-button>
        <div class="new-message-dot" v-if="hasNewMessage"></div>
      </div>
    </div>
    <panel-group @handleSetLineChartData="handleSetLineChartData" />
    <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
      <line-chart :chart-data="lineChartData" />
    </el-row>
    <el-row :gutter="32">
      <el-col :xs="24" :sm="24" :lg="8">
        <div class="chart-wrapper">
          <raddar-chart />
        </div>
      </el-col>
      <el-col :xs="24" :sm="24" :lg="8">
        <div class="chart-wrapper">
          <pie-chart />
        </div>
      </el-col>
      <el-col :xs="24" :sm="24" :lg="8">
        <div class="chart-wrapper">
          <bar-chart />
        </div>
      </el-col>
    </el-row>
  </div>
</template>
<script>
import PanelGroup from './dashboard/PanelGroup'
import LineChart from './dashboard/LineChart'
import RaddarChart from './dashboard/RaddarChart'
import PieChart from './dashboard/PieChart'
import BarChart from './dashboard/BarChart'
const lineChartData = {
  newVisitis: {
    expectedData: [100, 120, 161, 134, 105, 160, 165],
    actualData: [120, 82, 91, 154, 162, 140, 145]
  },
  messages: {
    expectedData: [200, 192, 120, 144, 160, 130, 140],
    actualData: [180, 160, 151, 106, 145, 150, 130]
  },
  purchases: {
    expectedData: [80, 100, 121, 104, 105, 90, 100],
    actualData: [120, 90, 100, 138, 142, 130, 130]
  },
  shoppings: {
    expectedData: [130, 140, 141, 142, 145, 150, 160],
    actualData: [120, 82, 91, 154, 162, 140, 130]
  }
}
export default {
  name: 'Index',
  components: {
    PanelGroup,
    LineChart,
    RaddarChart,
    PieChart,
    BarChart
  },
  data() {
  name: "App",
  dicts: ['sys_normal_disable'],
  data(){
    return {
      lineChartData: lineChartData.newVisitis
    }
      hasNewMessage:false,
    };
  },
  methods: {
    handleSetLineChartData(type) {
      this.lineChartData = lineChartData[type]
  created() {},
  methods:{
    handleClick(){
      this.$router.push('/views/index');
    }
  }
}
};
</script>
<style lang="scss" scoped>
.dashboard-editor-container {
  padding: 32px;
  background-color: rgb(240, 242, 245);
<style scoped>
.app-container{
   background-color: #FEF7FC;
 }
.image-container {
  position: relative;
  .chart-wrapper {
    background: #fff;
    padding: 16px 16px 0;
    margin-bottom: 32px;
  }
  width: 100%;
  height: 100%;
}
.bottom-image {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
@media (max-width:1024px) {
  .chart-wrapper {
    padding: 8px;
  }
.notification-box {
  position: absolute;
  top: 760px;
  left: 150px;
  display: flex;
  align-items: center;
  width: 20%;
  height: 8%;
  background-color: rgba(227, 219, 219, 0.51);
  padding: 10px;
  /*color: white;*/
  z-index: 2; /* 设置通知框层级为2,比图片高 */
}
.left-section {
  flex-grow: 1;
}
.right-section {
  margin-left: 10px;
}
.new-message-dot {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 8px;
  height: 8px;
  background-color: red;
  border-radius: 50%;
}
</style>
ruoyi-ui/src/views/system/user/index.vue
@@ -115,9 +115,13 @@
        <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="50" align="center" />
          <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
          <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
          <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
          <el-table-column label="用户名称" align="center" key="nickName" prop="nickName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
          <el-table-column label="用户姓名" align="center" key="userName" prop="userName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
          <el-table-column label="性别" align="center" key="sex" prop="sex" v-if="columns[2].visible" :show-overflow-tooltip="true" >
   <template slot-scope="scope">{{scope.row.sex==0? '男': '女'}}</template>
          </el-table-column>
          <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
          <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
            <template slot-scope="scope">
@@ -543,11 +547,13 @@
      if(value != undefined){
        this.sex = value
      }
      // alert(this.sex)
       alert(this.sex)
      const tpfid = this.pOID
      let clanId = this.$store.state.user.clanId
      // 新增a=1,修改a=2
      if(this.a == 1){
        addPO(this.sex).then(response =>{
       this.allInfo2 = []
      if(this.a ===1){
        addPO(this.sex, clanId).then(response =>{
          for(let i in response.data[0]){
            this.allInfo2.push({'nickName':response.data[0][i],'userId': parseInt(i)})
          }
@@ -666,8 +672,23 @@
    },
    handleFamily(value)
    {
      if(this.form.sex==undefined){
        this.$modal.msgSuccess("请先选择性别!");
        return;
        }
        else{
        let clanId = this.$store.state.user.clanId
            this.allInfo2 = []
            alert(this.form.sex)
            addPO(this.form.sex, clanId).then(response =>{
              for(let i in response.data[0]){
                this.allInfo2.push({'nickName':response.data[0][i],'userId': parseInt(i)})
              }
              console.log(this.allInfo2,'新增a=1新增a=1新增a=1')
            })
      if(this.form.isMyFamily=="0")
        this.isshowMri = true
        }
    },
    getAllIn(){
        let clanId = this.$store.state.user.clanId
ruoyi-ui/vue.config.js
@@ -37,8 +37,8 @@
      // detail: https://cli.vuewww.bendudu.comjs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
      //target: `https://10.39.18.174:8080/`,
    //  target: `https://192.168.1.3:8080/`,
      target: 'https://www.bendudu.com:8080/',
      target: `https://192.168.1.3:8080/`,
    //  target: 'https://www.bendudu.com:8080/',
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''