WXL
2025-03-20 ffb5cf79a2d5d7603cb97e79bd04f598eceb0352
测试完成
已添加1个文件
已修改18个文件
241 ■■■■ 文件已修改
public/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
public/favicon2.ico 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/indicator.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/ScrollPane.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/linem/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/detailpage/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/satisfaction/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/medtechnician/SpecializedService.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/behospitalized.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/hospital.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/physical.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/profile/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/physical/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missioncreation.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sfstatistics/analyse/index.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/favicon.ico

public/favicon2.ico
src/api/AiCentre/indicator.js
@@ -23,6 +23,13 @@
    method: "get",
  });
}
// 指标统计
export function Labelstatistics(Id) {
  return request({
    url: "/smartor/serviceSubtaskDetail/countPatByTarget/" + Id,
    method: "get",
  });
}
// 修改指标及其关联选项
export function gettargetInfoedit(data) {
  return request({
src/layout/components/TagsView/ScrollPane.vue
@@ -87,7 +87,7 @@
      bottom: 0px;
    }
    .el-scrollbar__wrap {
      height: 49px;
      height: 59px;
    }
  }
}
src/views/followvisit/linem/index.vue
@@ -739,7 +739,7 @@
  justify-content: center;
  padding: 30px;
  background: #daeaf5;
color:blue
  img {
    width: 100px;
    height: 100px;
@@ -755,7 +755,6 @@
  border: 1px solid #dcdfe6;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
    0 0 6px 0 rgba(0, 0, 0, 0.04);
  .topic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
src/views/followvisit/record/detailpage/index.vue
@@ -681,6 +681,7 @@
          subId: this.id,
          taskid: this.taskid,
          scriptid: item.id,
          templatequestionnum:item.scriptno,
          questiontext: item.scriptContent,
        };
        if (item.scriptType == 2 && item.scriptResult[0]) {
@@ -712,10 +713,13 @@
      this.tableDatatop.forEach((item, index) => {
        console.log(item.scriptResult, "scriptResult");
        item.scriptResult = item.scriptResult.join("&");
        item.templatequestionnum = index + 1;
        // item.templatequestionnum = index + 1;
        item.subId = this.id;
        item.taskid = this.taskid;
        item.asrtext = item.matchedtext;
        item.templatequestionnum = item.scriptno;
        item.targetid = item.targetid;
        item.scriptid = item.id;
        if (!item.id) {
          item.isoperation = 1;
        }
src/views/followvisit/satisfaction/index.vue
@@ -198,7 +198,7 @@
          key="nickName"
          prop="nickName"
        />
        <el-table-column
        <!-- <el-table-column
          label="主治医生"
          align="center"
          key="nickName"
@@ -209,7 +209,7 @@
          align="center"
          key="nickName"
          prop="nickName"
        />
        /> -->
        <el-table-column
          label="执行状态"
src/views/patient/medtechnician/SpecializedService.vue
@@ -304,7 +304,7 @@
          key="phone"
          prop="phone"
        />
        <el-table-column
        <!-- <el-table-column
          label="责任护士"
          width="120"
          align="center"
@@ -317,7 +317,7 @@
          align="center"
          key="drname"
          prop="drname"
        />
        /> -->
        <!-- <el-table-column
          label="病历号"
src/views/patient/patient/behospitalized.vue
@@ -216,7 +216,7 @@
            prop="bedNo"
            width="120"
          />
          <el-table-column
          <!-- <el-table-column
            label="主治医生"
            align="center"
            key="drname"
@@ -229,7 +229,7 @@
            key="nurseName"
            prop="nurseName"
            width="120"
          />
          /> -->
          <el-table-column
            label="操作"
src/views/patient/patient/hospital.vue
@@ -226,7 +226,7 @@
            prop="bedNo"
            width="120"
          />
          <el-table-column
          <!-- <el-table-column
            label="主治医生"
            align="center"
            key="drname"
@@ -239,7 +239,7 @@
            key="nurseName"
            prop="nurseName"
            width="120"
          />
          /> -->
          <el-table-column
            label="操作"
src/views/patient/patient/index.vue
@@ -207,8 +207,12 @@
                align="center"
                key="age"
                prop="age"
                width="60"
              />
                width="160"
              >   <template slot-scope="scope">
              <span v-if="scope.row.age">{{ scope.row.age }}{{scope.row.ageUnit }}</span><span v-if="scope.row.age2">{{ scope.row.age2 }}{{scope.row.ageUnit2 }}</span>
            </template>
          </el-table-column>
              <el-table-column
                label="出生年月"
                align="center"
@@ -963,7 +967,7 @@
        allhosp: "1",
        pageSize: 10,
        searchscope: 2,
        tagname:'',
        tagname: "",
        idcardno: undefined,
        name: undefined,
        status: undefined,
@@ -1085,7 +1089,7 @@
    },
    RiskMarker(row) {
      this.RiskVisible = true;
      this.RiskObj=row;
      this.RiskObj = row;
    },
    // 取消按钮
@@ -1115,13 +1119,13 @@
    /** 重置按钮操作 */
    resetQuery() {
      this.dateRange = [];
      this.queryParams= {
      (this.queryParams = {
        pageNum: 1,
        allhosp: "1",
        pageSize: 10,
        searchscope: 2,
      },
      this.handleQuery();
      }),
        this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
@@ -1201,14 +1205,13 @@
      });
    },
    RiskService() {
      this.RiskObj.visitFlag = this.Risklist.join(", ");
      this.RiskObj.visitType = this.Riskradio;
      alterpatient(this.RiskObj).then((res) => {
        if (res.code==200) {
        if (res.code == 200) {
          this.getList();
          this.Risklist=[];
          this.Riskradio=1;
          this.Risklist = [];
          this.Riskradio = 1;
          this.$modal.msgSuccess("异常记录成功");
        }
      });
src/views/patient/patient/physical.vue
@@ -241,13 +241,13 @@
            prop="hospitalname"
            width="120"
          />
          <el-table-column
          <!-- <el-table-column
            label="医生"
            align="center"
            key="drname"
            prop="drname"
            width="120"
          />
          /> -->
          <el-table-column
            label="就诊时间"
src/views/patient/patient/profile/index.vue
@@ -172,6 +172,8 @@
                      v-model="inputValue"
                      @change="handleInputConfirm"
                      filterable
                      remote
                      :remote-method="remoteMethod"
                      allow-create
                      default-first-option
                      placeholder="请选择/查询"
@@ -422,7 +424,7 @@
            prop="leavehospitaldistrictname"
            width="120"
          />
          <el-table-column
          <!-- <el-table-column
            label="主治医生"
            align="center"
            key="drname"
@@ -436,7 +438,7 @@
            key="nurseName"
            prop="nurseName"
            width="120"
          />
          /> -->
        </el-table>
        <pagination
          v-show="total > 0"
@@ -1261,6 +1263,8 @@
      });
    },
    remoteMethod(value) {
      console.log('触发');
      const illnessqueryParams = {
        pageNum: 1,
        pageSize: 100,
src/views/patient/physical/index.vue
@@ -336,7 +336,7 @@
          key="phone"
          prop="phone"
        />
        <el-table-column
        <!-- <el-table-column
          label="责任护士"
          width="120"
          align="center"
@@ -349,7 +349,7 @@
          align="center"
          key="drname"
          prop="drname"
        />
        /> -->
        <!-- <el-table-column
          label="病历号"
src/views/patient/propaganda/Missioncreation.vue
@@ -778,8 +778,8 @@
        { label: "身份证", width: "200", prop: "sfzh" },
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
        { label: "责任护士", width: "", prop: "nurseName" },
        { label: "主治医生", width: "", prop: "drname" },
        // { label: "责任护士", width: "", prop: "nurseName" },
        // { label: "主治医生", width: "", prop: "drname" },
        { label: "科室", width: "240", prop: "dept" },
        { label: "病区", width: "240", prop: "leavehospitaldistrictname" },
      ],
@@ -790,8 +790,8 @@
        { label: "身份证", width: "200", prop: "sfzh" },
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
        { label: "责任护士", width: "", prop: "nurseName" },
        { label: "主治医生", width: "", prop: "drname" },
        // { label: "责任护士", width: "", prop: "nurseName" },
        // { label: "主治医生", width: "", prop: "drname" },
        { label: "科室", width: "180", prop: "deptName" },
        { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
      ],
@@ -1196,8 +1196,8 @@
          { label: "身份证", width: "200", prop: "sfzh" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
          { label: "责任护士", width: "", prop: "nurseName" },
          { label: "医生", width: "", prop: "drname" },
          // { label: "责任护士", width: "", prop: "nurseName" },
          // { label: "医生", width: "", prop: "drname" },
          { label: "科室", width: "180", prop: "dept" },
          { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
        ];
src/views/patient/propaganda/index.vue
@@ -279,7 +279,7 @@
          key="sfzh"
          prop="sfzh"
        />
        <el-table-column
        <!-- <el-table-column
          label="责任护士"
          width="120"
          align="center"
@@ -292,7 +292,7 @@
          align="center"
          key="drname"
          prop="drname"
        />
        /> -->
        <!-- <el-table-column
src/views/patient/propaganda/particty.vue
@@ -884,8 +884,8 @@
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
        { label: "患者标签", width: "", prop: "tag" },
        { label: "责任护士", width: "", prop: "nurseName" },
        { label: "主治医生", width: "", prop: "drname" },
        // { label: "责任护士", width: "", prop: "nurseName" },
        // { label: "主治医生", width: "", prop: "drname" },
        { label: "科室", width: "240", prop: "dept" },
        { label: "病区", width: "240", prop: "leavehospitaldistrictname" },
      ],
@@ -898,8 +898,8 @@
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
        { label: "出院天数", width: "", prop: "endDay" },
        { label: "责任护士", width: "", prop: "nurseName" },
        { label: "主治医生", width: "", prop: "drname" },
        // { label: "责任护士", width: "", prop: "nurseName" },
        // { label: "主治医生", width: "", prop: "drname" },
        { label: "科室", width: "180", prop: "deptName" },
        { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
      ],
@@ -1527,8 +1527,8 @@
          { label: "年龄", width: "", prop: "age" },
        { label: "患者标签", width: "", prop: "tag" },
          { label: "出院天数", width: "", prop: "endDay" },
          { label: "责任护士", width: "", prop: "nurseName" },
          { label: "医生", width: "", prop: "drname" },
          // { label: "责任护士", width: "", prop: "nurseName" },
          // { label: "医生", width: "", prop: "drname" },
          { label: "科室", width: "180", prop: "dept" },
          { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
        ];
@@ -1542,8 +1542,8 @@
          { label: "年龄", width: "", prop: "age" },
        { label: "患者标签", width: "", prop: "tag" },
          { label: "出院天数", width: "", prop: "endDay" },
          { label: "责任护士", width: "", prop: "nurseName" },
          { label: "医生", width: "", prop: "drname" },
          // { label: "责任护士", width: "", prop: "nurseName" },
          // { label: "医生", width: "", prop: "drname" },
          { label: "科室", width: "180", prop: "dept" },
          { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
        ];
src/views/sfstatistics/analyse/index.vue
@@ -5,7 +5,14 @@
      <div class="value">
        <el-form ref="form" :model="form" label-width="120px">
          <el-form-item label="选择指标名称">
            <el-select v-model="value" filterable placeholder="请选择">
            <el-select
              remote
              :remote-method="remoteMethod"
              default-first-option
              v-model="value"
              filterable
              placeholder="请选择"
            >
              <el-option
                v-for="item in options"
                :key="item.value"
@@ -19,19 +26,30 @@
      </div>
    </div>
    <div class="formindex">
      <el-table :data="tableData" border style="width: 100%">
        <el-table-column prop="date" label="指标名称"> </el-table-column>
        <el-table-column prop="name" label="单项名称"> </el-table-column>
        <el-table-column prop="address" label="单项出现次数"> </el-table-column>
        <el-table-column prop="times" label="指标出现次数">
      <el-table
      v-loading="loading"
        :data="tableData"
        :span-method="objectSpanMethod"
        border
        :summary-method="getSummaries"
        show-summary
        style="width: 100%"
      >
        <el-table-column prop="targetname" label="指标名称"> </el-table-column>
        <el-table-column prop="targetShowCount" label="指标出现次数"> </el-table-column>
        <el-table-column prop="matchedtext" label="单项名称"> </el-table-column>
        <el-table-column prop="count" label="单项选中次数"> </el-table-column>
        <el-table-column prop="percentage" label="占比">
          <template slot-scope="scope">
            <span>{{ (Number(scope.row.percentage)*100).toFixed(2) }}%</span>            </template>
        </el-table-column>
        <el-table-column prop="proportion" label="占比"> </el-table-column>
      </el-table>
    </div>
  </div>
</template>
<script>
import { gettargetInfo, Labelstatistics } from "@/api/AiCentre/index";
export default {
  name: "indexanalysis",
  data() {
@@ -56,29 +74,117 @@
          name: "有",
          address: 1,
          times: 2,
          proportion: "50%",
          proportion: "50",
        },
        {
          date: "发热有无",
          name: "无",
          address: 1,
          times: 2,
          proportion: "50%",
          proportion: "50",
        },
        {
          date: "发热有无",
          name: "其他",
          address: 0,
          times: 2,
          proportion: "0%",
          proportion: "0",
        },
      ],
      queryParams: {
        pageNum: 1,
        pageSize: 66,
      },
    };
  },
  created() {},
  created() {
    this.getList();
  },
  methods: {},
  methods: {
    getList() {
      this.loading = true;
      gettargetInfo(this.queryParams).then((res) => {
        this.targetList = res.rows;
        this.Labelstatistics(res.rows[0].id)
      });
    },
    Labelstatistics(id){
      Labelstatistics(id).then((res) => {
        this.tableData = res.data;
        this.loading = false;
      });
    },
    remoteMethod(value) {
      const illnessqueryParams = {
        pageNum: 1,
        pageSize: 66,
        tagname: value,
      };
      setTimeout(() => {
        gettargetInfo(this.illnessqueryParams).then((res) => {
        this.targetList = res.rows;
      });
      }, 200);
    },
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0 || columnIndex === 1) {
        const totalRows = this.tableData.length;
        if (rowIndex === 0) {
          return [totalRows, 1];
        } else {
          // 其他行隐藏
          return [0, 0];
        }
      }
    },
    getSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        console.log(data, "data");
        if (index === 0) {
          sums[index] = "合计"; // 修改为“合计”更符合语义
          return;
        }
        if (column.property === "percentage") {
          // 对占比列进行特殊处理
          const values = data.map((item) => Number(item[column.property]));
          const total = values.reduce((prev, curr) => {
            const value = Number(curr);
            if (!isNaN(value)) {
              return prev + value;
            } else {
              return prev;
            }
          }, 0);
          sums[index] = `${total*100}%`; // 直接添加百分号
        } else if (column.property === "targetShowCount") {
          sums[index] = data[0].targetShowCount + " 次"; // 为次数相关列添加单位
        } else {
          const values = data.map((item) => Number(item[column.property]));
          if (!values.every((value) => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = Number(curr);
              if (!isNaN(value)) {
                return prev + curr;
              } else {
                return prev;
              }
            }, 0);
            if (column.property === "count") {
              sums[index] += " 次"; // 为次数相关列添加单位
            }
          } else {
            sums[index] = "/";
          }
        }
      });
      return sums;
    },
  },
};
</script>
@@ -89,7 +195,7 @@
    0 0 6px 0 rgba(0, 0, 0, 0.04);
  margin: 15px;
  .title-top {
    background-color: #00bbd3;
    background-color: #6784f2;
    color: #fff;
    padding: 10px 20px;
    font-size: 20px;
vue.config.js
@@ -37,7 +37,7 @@
      [process.env.VUE_APP_BASE_API]: {
        // target: `http://192.168.168.60:8095`,
        // target: `http://192.168.144.34:8095`,
        // target: `http://61.160.111.174:8095`,
        // target: `http://192.168.100.121:8095`,
        target:`http://localhost:8095`,
        // target: `http://192.168.101.135:8095`,
        // target: `http://192.168.101.166:8093`,