su
su1124
2023-12-14 c3567454dcc7b6978370f5257e918c1774b58247
su
2个文件已修改
676 ■■■■■ 已修改文件
src/views/picture/music/index.vue 672 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/picture/music/index.vue
@@ -50,16 +50,17 @@
    <div style="width: 100%; margin-left: 10px; display: flex">
      <div style="width: 97%; margin-right: 30px">
        <!-- @selection-change="handleSelectionChange" -->
        <el-table
          id="table"
          v-loading="loading"
          ref="tb"
          :data="pictureList"
          @selection-change="handleSelectionChange"
          @row-click="handleRowClick"
          border
          height="630px"
        >
          <el-table-column type="selection" width="40" align="center" />
          <!-- <el-table-column type="selection" width="40" align="center" /> -->
          <el-table-column
            label="体检号"
            align="center"
@@ -226,10 +227,10 @@
      title="我是标题"
      :visible.sync="drawer"
      :with-header="false"
      size="60%"
      size="85%"
    >
      <div>
        <div style="margin-top:20px;width:50%">
      <div class="tanchuangbox">
        <div class="tanchuangbox_left">
          <el-form
            :model="queryParams"
            ref="queryForm"
@@ -243,7 +244,6 @@
                v-model="queryParams.tjNum"
                placeholder="请输入单位名称"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -252,7 +252,6 @@
                v-model="queryParams.name"
                placeholder="请输入单位工种"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -261,7 +260,6 @@
                v-model="queryParams.name"
                placeholder="请输入姓名"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -270,7 +268,6 @@
                v-model="queryParams.name"
                placeholder="请输入性别"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -279,7 +276,6 @@
                v-model="queryParams.name"
                placeholder="请输入年龄"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -288,7 +284,6 @@
                v-model="queryParams.name"
                placeholder="请输入身份证号"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -297,7 +292,6 @@
                v-model="queryParams.name"
                placeholder="请输入体检日期"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -306,7 +300,6 @@
                v-model="queryParams.name"
                placeholder="请输入体检类型"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
@@ -315,13 +308,171 @@
                v-model="queryParams.name"
                placeholder="请输入工龄"
                clearable
                @keyup.enter.native="handleQuery"
                style="width: 150px"
              />
            </el-form-item>
          </el-form>
          <div class="data-view">
            <div id="main" style="width: 40%; height: 300px"></div>
            <div id="main1" style="width: 40%; height: 300px"></div>
            <div id="main2" style="width: 40%; height: 300px"></div>
            <div id="main3" style="width: 40%; height: 300px"></div>
        </div>
        <div style="width:50%"></div>
          <div class="tanchuangbox_left1">
            <div>
              <div class="nums">
                <span class="nums_txt">500</span>
                <span class="nums_txt">1000</span>
                <span class="nums_txt">2000</span>
                <span class="nums_txt">3000</span>
                <span class="nums_txt">4000</span>
                <span class="nums_txt">6000</span>
              </div>
              <el-form
                :model="queryParams"
                ref="queryForm"
                size="small"
                :inline="true"
                v-show="showSearch"
                label-width="90px"
              >
                <el-form-item label="实测气导值:" prop="tjNum">
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                </el-form-item>
                <el-form-item label="实测骨导值:" prop="tjNum">
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                </el-form-item>
              </el-form>
            </div>
            <div>
              <div class="nums">
                <span class="nums_txt">500</span>
                <span class="nums_txt">1000</span>
                <span class="nums_txt">2000</span>
                <span class="nums_txt">3000</span>
                <span class="nums_txt">4000</span>
                <span class="nums_txt">6000</span>
              </div>
              <el-form
                :model="queryParams"
                ref="queryForm"
                size="small"
                :inline="true"
                v-show="showSearch"
                label-width="90px"
              >
                <el-form-item label="实测气导值:" prop="tjNum">
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                </el-form-item>
                <el-form-item label="实测骨导值:" prop="tjNum">
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                  <el-input v-model="queryParams.tjNum" style="width: 50px" />
                </el-form-item>
              </el-form>
            </div>
          </div>
        </div>
        <div class="tanchuangbox_right">
          <div style="display: flex;margin-top:20px">
            <div
              style="
                width: 50px;
                display: flex;
                flex-direction: column;
                margin-top: 46px;
              "
            >
              <span style="margin-bottom: 16px">右耳:</span>
              <span style="margin-bottom: 17px">左耳:</span>
              <span>双耳:</span>
            </div>
            <div class="ss">
              <span class="ss_txt">语频平均</span>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
            </div>
            <div class="ss">
              <span class="ss_txt">500语频矫正</span>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
            </div>
            <div class="ss">
              <span class="ss_txt">1000语频矫正</span>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
            </div>
            <div class="ss">
              <span class="ss_txt">2000语频矫正</span>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
            </div>
            <div class="ss">
              <span class="ss_txt">高频气导平均</span>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
            </div>
            <div class="ss">
              <span class="ss_txt">高频骨导平均</span>
              <el-input v-model="input" style="width: 60px"></el-input>
              <el-input v-model="input" style="width: 60px"></el-input>
            </div>
          </div>
          <div style="margin-top: 20px">
            <span>电测听小结:</span>
            <el-input
              style="margin-top: 10px"
              type="textarea"
              :rows="2"
              placeholder="请输入内容"
              v-model="textarea"
            >
            </el-input>
          </div>
          <div>
            <span>常见起检列表</span>
            <el-table :data="tableData" style="width: 100%">
              <el-table-column prop="date" label="序号" width="180">
              </el-table-column>
              <el-table-column prop="name" label="所见项类型" width="180">
              </el-table-column>
              <el-table-column prop="address" label="所见项结果值">
              </el-table-column>
            </el-table>
          </div>
          <div style="margin-top: 20px">
            <span>检查医生:</span>
            <el-input v-model="input" style="width: 160px;margin-right:10px"></el-input>
            <el-date-picker v-model="value1" type="date" placeholder="选择日期">
            </el-date-picker>
          </div>
          <div style="margin-top:20px">
            <el-button type="primary">生成小结</el-button>
            <el-button type="primary">保存</el-button>
          </div>
        </div>
      </div>
    </el-drawer>
@@ -337,6 +488,19 @@
  addPicture,
  updatePureToneTest,
} from "@/api/picture/pureToneTest";
import {
  getCustomer,
  getOrder,
  getReportToday,
  getTobeToday,
  getPieChart,
  getChart,
} from "@/api/home";
const echarts = require("echarts/lib/echarts");
require("echarts/lib/component/title");
require("echarts/lib/component/tooltip");
require("echarts/lib/component/legend");
require("echarts/lib/chart/pie");
import Public from "@/components/public";
export default {
@@ -351,6 +515,43 @@
  components: { Public },
  data() {
    return {
      value1:"",
      tableData: [
        {
          date: "1",
          name: "参考值",
          address: "双耳正常听力曲线正常参考值1",
        },
        {
          date: "2",
          name: "参考值",
          address: "双耳正常听力曲线正常参考值2",
        },
        {
          date: "3",
          name: "异常值",
          address: "双耳正常听力曲线异常值1",
        },
        {
          date: "4",
          name: "异常值",
          address: "双耳正常听力曲线异常值2",
        },
      ],
      textarea: "",
      input: "",
      min: "",
      max: "",
      Customer: "",
      Order: "",
      ReportToday: "",
      TobeToday: "",
      LineChart: [],
      personYYNum: [],
      reportNum: [],
      teamYYNum: [],
      PieChart: [],
      PieChart2: [],
      drawer: false,
      topStyle: { transform: "" },
      r_img: {},
@@ -407,8 +608,353 @@
  },
  created() {
    this.getList();
  },
  methods: {
    handleRowClick(selection){
      console.log(selection);
      this.drawer = true;
      this.getech();
    },
    getech() {
      this.loading = true;
      // 查询今日登记
      getCustomer().then((response) => {
        this.Customer = response;
        this.loading = false;
      });
      // 查询今日已检
      getOrder().then((response) => {
        this.Order = response;
        this.loading = false;
      });
      // 查询今日报告
      getReportToday().then((response) => {
        this.ReportToday = response;
        this.loading = false;
      });
      // 查询今日待检
      getTobeToday().then((response) => {
        this.TobeToday = response;
        this.loading = false;
      });
      // 折线图
      getChart().then((response) => {
        response.data.forEach((item) => {
          this.LineChart.push(item.date);
          this.personYYNum.push(item.tdcoun);
          this.reportNum.push(item.grcoun);
          this.teamYYNum.push(item.bgcoun);
        });
        let myChart = this.$echarts.init(document.getElementById("main"));
        myChart.setOption({
          title: {
            text: "右耳原始听力",
          },
          tooltip: {
            trigger: "axis",
          },
          // legend: {
          //   data: ["每日体检登记数", "每日团体登记数", "每日发布报告数"],
          // },
          grid: {
            left: "3%",
            right: "4%",
            bottom: "3%",
            containLabel: true,
          },
          toolbox: {
            feature: {
              saveAsImage: {},
            },
          },
          xAxis: {
            type: "category",
            boundaryGap: false,
            axisLine: {
              show: true,
              lineStyle: {
                color: "blue",
                size: 12,
                width: 0,
                tyle: "solid",
              },
            },
            data: this.LineChart,
          },
          yAxis: {
            type: "value",
            min: 0,
            max: 50,
            interval: 5,
          },
          series: [
            {
              name: "每日体检登记数",
              type: "line",
              stack: "Total",
              data: this.personYYNum,
            },
            {
              name: "每日团体登记数",
              type: "line",
              stack: "Total",
              data: this.reportNum,
            },
            {
              name: "每日发布报告数",
              type: "line",
              stack: "Total",
              data: this.teamYYNum,
            },
          ],
        });
        let sizeFun = function () {
          myChart.resize();
        };
        window.addEventListener("resize", sizeFun);
        this.loading = false;
      });
      getChart().then((response) => {
        response.data.forEach((item) => {
          this.LineChart.push(item.date);
          this.personYYNum.push(item.tdcoun);
          this.reportNum.push(item.grcoun);
          this.teamYYNum.push(item.bgcoun);
        });
        let myChart = this.$echarts.init(document.getElementById("main1"));
        myChart.setOption({
          title: {
            text: "左耳原始听力",
          },
          tooltip: {
            trigger: "axis",
          },
          // legend: {
          //   data: ["每日体检登记数", "每日团体登记数", "每日发布报告数"],
          // },
          grid: {
            left: "3%",
            right: "4%",
            bottom: "3%",
            containLabel: true,
          },
          toolbox: {
            feature: {
              saveAsImage: {},
            },
          },
          xAxis: {
            type: "category",
            boundaryGap: false,
            axisLine: {
              show: true,
              lineStyle: {
                color: "blue",
                size: 12,
                width: 0,
                tyle: "solid",
              },
            },
            data: this.LineChart,
          },
          yAxis: {
            type: "value",
            min: 0,
            max: 50,
            interval: 5,
          },
          series: [
            {
              name: "每日体检登记数",
              type: "line",
              stack: "Total",
              data: this.personYYNum,
            },
            {
              name: "每日团体登记数",
              type: "line",
              stack: "Total",
              data: this.reportNum,
            },
            {
              name: "每日发布报告数",
              type: "line",
              stack: "Total",
              data: this.teamYYNum,
            },
          ],
        });
        let sizeFun = function () {
          myChart.resize();
        };
        window.addEventListener("resize", sizeFun);
        this.loading = false;
      });
      getChart().then((response) => {
        response.data.forEach((item) => {
          this.LineChart.push(item.date);
          this.personYYNum.push(item.tdcoun);
          this.reportNum.push(item.grcoun);
          this.teamYYNum.push(item.bgcoun);
        });
        let myChart = this.$echarts.init(document.getElementById("main2"));
        myChart.setOption({
          title: {
            text: "右耳矫正听力",
          },
          tooltip: {
            trigger: "axis",
          },
          // legend: {
          //   data: ["每日体检登记数", "每日团体登记数", "每日发布报告数"],
          // },
          grid: {
            left: "3%",
            right: "4%",
            bottom: "3%",
            containLabel: true,
          },
          toolbox: {
            feature: {
              saveAsImage: {},
            },
          },
          xAxis: {
            type: "category",
            boundaryGap: false,
            axisLine: {
              show: true,
              lineStyle: {
                color: "blue",
                size: 12,
                width: 0,
                tyle: "solid",
              },
            },
            data: this.LineChart,
          },
          yAxis: {
            type: "value",
            min: 0,
            max: 50,
            interval: 5,
          },
          series: [
            {
              name: "每日体检登记数",
              type: "line",
              stack: "Total",
              data: this.personYYNum,
            },
            {
              name: "每日团体登记数",
              type: "line",
              stack: "Total",
              data: this.reportNum,
            },
            {
              name: "每日发布报告数",
              type: "line",
              stack: "Total",
              data: this.teamYYNum,
            },
          ],
        });
        let sizeFun = function () {
          myChart.resize();
        };
        window.addEventListener("resize", sizeFun);
        this.loading = false;
      });
      getChart().then((response) => {
        response.data.forEach((item) => {
          this.LineChart.push(item.date);
          this.personYYNum.push(item.tdcoun);
          this.reportNum.push(item.grcoun);
          this.teamYYNum.push(item.bgcoun);
        });
        let myChart = this.$echarts.init(document.getElementById("main3"));
        myChart.setOption({
          title: {
            text: "左耳矫正听力",
          },
          tooltip: {
            trigger: "axis",
          },
          // legend: {
          //   data: ["每日体检登记数", "每日团体登记数", "每日发布报告数"],
          // },
          grid: {
            left: "3%",
            right: "4%",
            bottom: "3%",
            containLabel: true,
          },
          toolbox: {
            feature: {
              saveAsImage: {},
            },
          },
          xAxis: {
            type: "category",
            boundaryGap: false,
            axisLine: {
              show: true,
              lineStyle: {
                color: "blue",
                size: 12,
                width: 0,
                tyle: "solid",
              },
            },
            data: this.LineChart,
          },
          yAxis: {
            type: "value",
            min: 0,
            max: 50,
            interval: 5,
          },
          series: [
            {
              name: "每日体检登记数",
              type: "line",
              stack: "Total",
              data: this.personYYNum,
            },
            {
              name: "每日团体登记数",
              type: "line",
              stack: "Total",
              data: this.reportNum,
            },
            {
              name: "每日发布报告数",
              type: "line",
              stack: "Total",
              data: this.teamYYNum,
            },
          ],
        });
        let sizeFun = function () {
          myChart.resize();
        };
        window.addEventListener("resize", sizeFun);
        this.loading = false;
      });
    },
    // 鼠标进入原图空间函数
    enterHandler() {
      // 层罩及放大空间的显示
@@ -496,35 +1042,35 @@
      this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.drawer = true;
      this.imgsrc = selection[0].picturePath;
      this.tjNumber = selection[0].customer.tjNumber;
      this.ids = selection.map((item) => item.id);
      selection.forEach((element) => {
        this.tableList = element.list;
        if (this.tableList.length != 0) {
          this.tableList.forEach((item) => {
            this.form.fixedValue = item.fixedValue;
            this.form.measuredValue = item.measuredValue;
          });
          this.$nextTick(() => {
            this.$refs.mu.toggleRowSelection(this.tableList[0], true);
          });
        } else {
          this.$refs.mu.clearSelection();
        }
      });
      // this.tableList.forEach(item => {
      //     this.imgsrc = item.dctt
      // })
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
      }
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    // handleSelectionChange(selection) {
    //   this.drawer = true;
    //   this.imgsrc = selection[0].picturePath;
    //   this.tjNumber = selection[0].customer.tjNumber;
    //   this.ids = selection.map((item) => item.id);
    //   selection.forEach((element) => {
    //     this.tableList = element.list;
    //     if (this.tableList.length != 0) {
    //       this.tableList.forEach((item) => {
    //         this.form.fixedValue = item.fixedValue;
    //         this.form.measuredValue = item.measuredValue;
    //       });
    //       this.$nextTick(() => {
    //         this.$refs.mu.toggleRowSelection(this.tableList[0], true);
    //       });
    //     } else {
    //       this.$refs.mu.clearSelection();
    //     }
    //   });
    //   // this.tableList.forEach(item => {
    //   //     this.imgsrc = item.dctt
    //   // })
    //   if (selection.length > 1) {
    //     let del_row = selection.shift();
    //     this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
    //   }
    //   this.single = selection.length !== 1;
    //   this.multiple = !selection.length;
    // },
    // /** 新增按钮操作 */
    // handleAdd() {
    //     this.reset();
@@ -651,4 +1197,42 @@
  float: left;
  position: relative;
}
.tanchuangbox_left {
  margin-top: 20px;
  margin-left: 20px;
  width: 50%;
}
.data-view {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 5px 15px;
}
#main {
  padding: 10px;
}
.nums {
  margin-left: 90px;
  margin-bottom: 10px;
}
.nums_txt {
  margin-right: 10px;
}
.tanchuangbox_left1 {
  display: flex;
}
.tanchuangbox {
  display: flex;
}
.tanchuangbox_right {
  width: 50%;
}
.ss {
  display: flex;
  flex-direction: column;
  margin-right: 10px;
}
.ss_txt {
  width: 60px;
}
</style>
vue.config.js
@@ -36,9 +36,9 @@
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        //target: `https://ltpeis.xaltjdkj.cn:5501/prod-api/getInfo`,
        target: `http://192.168.0.104:5011`,
        // target: `http://192.168.0.104:5011`,
        // // target: `http://192.168.0.99:8080/ltkj-admin`,
        // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
        target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
        // target: `http://10.168.0.9:5011`,
        changeOrigin: true,
        pathRewrite: {