工作遇到问题与解决办法(二)

news2024/11/25 4:56:37

弹出确认框

this.$confirm('确定删除全部添加的数据吗?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          // 确定操作
          this.addYpslTempList=[];
          this.isSelect=false;
          //删除状态
          this.addMultiple = true;
          this.$message({
            type: 'success',
            message: '删除成功'
          });
        }).catch(() => {
          // 取消操作
          this.$message({
            type: 'info',
            message: '已取消'
          })
        });

表格内搜索

定义搜索条件

yYpmc:"",

搜索列

<el-table-column
          label="药品名称"
          width="180px">
          <template slot="header" slot-scope="scope">
            药品名称
            <el-input
              v-model="searchYpmc"
              size="mini"
              placeholder="输入药品关键字搜索"/>
          </template>
          <template slot-scope="scope">
           <span>{{scope.row.yYpmc}}</span>
          </template>
        </el-table-column>

表格使用

 <el-table v-loading="ykLoading"
                :data="ykList.filter(data => !searchYpmc || data.yYpmc.includes(searchYpmc))"
                @row-click="handleCurrent" height="400px">

批量添加

返回成功添加个数

elementui form 表单点击重置自动重置

<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="处方" prop="hLxbm">
        <el-select  placeholder="请选择处方"
                    v-model="queryParams.hLxbm" clearable>
          <el-option
            v-for="item in dict.type.CFLX"
            :key="item.value"
            :value="item.value"
            :label="item.label"/>
        </el-select>
      </el-form-item>
      <el-form-item label="药品种类" prop="yZlbm">
        <el-select  placeholder="请选择药品种类"
                    v-model="queryParams.yZlbm" clearable>
          <el-option
            v-for="item in dict.type.YP_ZLBM"
            :key="item.value"
            :value="item.value"
            :label="item.label"/>
        </el-select>
      </el-form-item>

      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>

form v-model绑定数据与el-form-item的props属性值对应

queryParams: {
        pageNum: 1,
        pageSize: 10,
        hLxbm: null,
        yZlbm: null,
        bh: null,
      },
<el-form :model="queryParams"        
<el-form-item label="处方" prop="hLxbm">

重置方法

    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");  //与ref="queryForm" 对应
    },

表格单元格的值-根据不同值显示不同颜色背景

<el-table-column label="标识" width="160" align="center" prop="dbbz" >
  <template slot-scope="scope">
    <el-tag
      v-if="scope.row.dbbz == '0'"
      type="warning"
      disable-transitions>调拨中</el-tag>
    <el-tag
      v-if="scope.row.dbbz == '1'"
      type="success"
      disable-transitions>调拨完成</el-tag>
    <el-tag
      v-if="scope.row.dbbz == '2'"
      type="danger"
      disable-transitions>退回</el-tag>
  </template>

</el-table-column>

报错不允许从数据类型 varbinary 到 datetime2 的隐式转换。请使用 CONVERT 函数来运行此查询

**原因:**批量添加时,添加时间字段为空

**解决:**把数据库字段类型由datatime2改为datatime,xml文件的SQL参数中增加jdbcType = TIMESTAMP,例如:#{item.time, jdbcType = TIMESTAMP}。可行(适用于精度要求不那么高的情况)

SQLserver datatime 和datetime2区别
DateTime字段类型对应的时间格式是 yyyy-MM-dd HH:mm:ss.fff ,3个f,精确到1毫秒(ms),示例 2014-12-03 17:06:15.433 。

DateTime2字段类型对应的时间格式是 yyyy-MM-dd HH:mm:ss.fffffff ,7个f,精确到0.1微秒(μs),示例 2014-12-03 17:23:19.2880929 。

如果用SQL的日期函数进行赋值,DateTime字段类型要用 GETDATE() ,DateTime2字段类型要用 SYSDATETIME() 。

el-table 合计列

定义合计列

方法

getSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '总计';
          return;
        }
        const values = data.map(item => Number(item[column.property]));
        if (column.property === "hCrdj" || column.property === "yCrjj") {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr);
            if (!isNaN(value)) {
              return prev + curr;
            } else {
              return prev;
            }
          }, 0);
          sums[index] += '元';
        }
      });

      return sums;
    },

使用合计

<el-table v-loading="loadingDetil"
                :data="crkListDetil.filter(data => !searchDetailYpmc || data.yYpmc.includes(searchDetailYpmc))"
                :summary-method="getSummaries"
                show-summary
                height="400px" >

el-table 使用字典

引入字段

export default {
  name: "Crk",
  dicts: ['KSBM','Y_CDBM'],

数据表使用

        <el-table-column label="产地" width="200px" align="center" prop="yCdbm" >
          <template slot-scope="scope">
            <dict-tag :options="dict.type.Y_CDBM" :value="scope.row.yCdbm"/>
          </template>
        </el-table-column>

js与vue使用字典

引入字段

export default {
  name: "Crk",
  dicts: ['KSBM','Y_CDBM'],

js

this.dict.type.YP_ZLBM

element ui 时间范围

vue

<el-date-picker
            value-format="yyyy-MM-dd HH:mm:ss"
            v-model="queryParams.dateScope"
            type="datetimerange"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            :default-time="['12:00:00']">
          </el-date-picker>

js

if(this.queryParams.dateScope==null || this.queryParams.dateScope==""){
        this.queryParams.startDate=null;
        this.queryParams.endDate=null;
      }else{
        this.queryParams.startDate=this.queryParams.dateScope[0];
        this.queryParams.endDate=this.queryParams.dateScope[1];
      }

后端java 实体类

    //起始时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    //结束时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

**注意:**时间格式对应到 前端就能传入时间格式

数据库

行变化列

SELECT m.ysxm,sum(m.H) H
FROM
(SELECT t.ysbm,u.nick_name as ysxm,
       CASE WHEN t.fylb='H' THEN t.m_sfje  ELSE 0 END AS 'H',
       CASE WHEN t.fylb='N' THEN t.m_sfje  ELSE 0 END AS 'N',
       CASE WHEN t.fylb='1' THEN t.m_sfje  ELSE 0 END AS '1'
FROM m_brfy as t
LEFT JOIN sys_user as u on u.user_id=t.ysbm and u.dept_id='101'
where t.m_tkbs='0' and t.dept_id = '101' ) m
where m.ysbm='11'
GROUP BY m.ysxm

动态表格

实体类

package com.qlh.yhis.mz.mzsf.vo;

//门诊收费对应的类型
public class FyLbVo {
    //费用编码
    private String fylb;
    //费用名称
    private String fymc;
    //一个医生对应该费用总收费
    private Float sumFy;

    public String getFylb() {
        return fylb;
    }

    public void setFylb(String fylb) {
        this.fylb = fylb;
    }

    public String getFymc() {
        return fymc;
    }

    public void setFymc(String fymc) {
        this.fymc = fymc;
    }

    public Float getSumFy() {
        return sumFy;
    }

    public void setSumFy(Float sumFy) {
        this.sumFy = sumFy;
    }
}


package com.qlh.yhis.mz.mzsf.vo;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;

//门诊收费人员
public class MzSfVo {

    //机构id
    private Long deptId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    private String ysbm;

    private String ksbm;
    //所用项目总和的费用金额
    private Float sumFyje;

    //查询条件多选科室
    private String ksbms[];

    //查询条件多选医生
    private String ysbms[];

    //查询条件多选收费项目
    private String fylbs[];

    //表格显示
    private String fybms[];


    private List<FyLbVo> lbVoList;

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getYsbm() {
        return ysbm;
    }

    public void setYsbm(String ysbm) {
        this.ysbm = ysbm;
    }

    public String getKsbm() {
        return ksbm;
    }

    public void setKsbm(String ksbm) {
        this.ksbm = ksbm;
    }

    public Float getSumFyje() {
        return sumFyje;
    }

    public void setSumFyje(Float sumFyje) {
        this.sumFyje = sumFyje;
    }

    public List<FyLbVo> getLbVoList() {
        return lbVoList;
    }

    public void setLbVoList(List<FyLbVo> lbVoList) {
        this.lbVoList = lbVoList;
    }

    public String[] getKsbms() {
        return ksbms;
    }

    public void setKsbms(String[] ksbms) {
        this.ksbms = ksbms;
    }

    public String[] getYsbms() {
        return ysbms;
    }

    public void setYsbms(String[] ysbms) {
        this.ysbms = ysbms;
    }

    public String[] getFylbs() {
        return fylbs;
    }

    public void setFylbs(String[] fylbs) {
        this.fylbs = fylbs;
    }

    public String[] getFybms() {
        return fybms;
    }

    public void setFybms(String[] fybms) {
        this.fybms = fybms;
    }
}

mapper

 List<Map<String,Object>> listMzsfVoByMzsfVo(MzSfVo mzsfVo);

xml实现

<select id="listMzsfVoByMzsfVo" parameterType="com.qlh.yhis.mz.mzsf.vo.MzSfVo" resultType="java.util.Map">
        SELECT m.ysxm,
        <foreach item="fybm" collection="fybms" separator=",">
            sum(${fybm}) as ${fybm}
        </foreach>
        FROM
        (SELECT t.ysbm,u.nick_name as ysxm,
        <foreach item="fybm" collection="fybms"  separator="," >
            CASE WHEN t.fylb=substring(#{fybm},2,len(#{fybm})) THEN t.m_sfje  ELSE 0 END AS ${fybm}
        </foreach>
        FROM m_brfy as t
        LEFT JOIN sys_user as u on u.user_id=t.ysbm and u.dept_id=#{deptId}
        <where>
            <if test="startDate != null "> and t.rbrq >= #{startDate}</if>
            <if test="endDate != null "> and  #{endDate} >= t.rbrq </if>
            and t.m_tkbs='0' and t.dept_id = #{deptId}
        </where>) m
        <where>
            <if test="ysbms != null ">
                and m.ysbm in
                <foreach item="ysbm" collection="ysbms" open="(" separator="," close=")">
                    #{ysbm}
                </foreach>
            </if>
        </where>
        GROUP BY m.ysxm
    </select>

controller

加F的意思是在表中主键是int 类型,int 类型不能分组或者求和,需要转换为字符串类型

@ApiOperation("查询门诊费用医生统计费用类型")
    @GetMapping("/byysbm/fylb/list")
    public AjaxResult listfylb(MzSfVo mzSfVo){
        HashMap<String,String[]> result = new HashMap<>();
        List<FyLbVo> listFylbVo = mzsfService.listFylbByFybm(mzSfVo);
        //表头
        String names[] =new String[listFylbVo.size()+2];
        //表数据
        String vals[] = new String[listFylbVo.size()+2];
        names[0]="医生姓名";
        vals[0]="ysxm";
        //每一行的合计
        names[listFylbVo.size()+1]="合计";
        vals[listFylbVo.size()+1]="sumRow";
        for (int i = 0; i < listFylbVo.size(); i++) {
            names[i+1]=listFylbVo.get(i).getFymc();
            vals[i+1]="F"+listFylbVo.get(i).getFylb();
        }
        result.put("name",names);
        result.put("val",vals);
        return success(result);
    }

    @ApiOperation("查询门诊费用医生统计")
    @GetMapping("/byysbm/list")
    public TableDataInfo listVoByYsbm(MzSfVo mzSfVo)
    {
        startPage();
        //需要的列
        List<FyLbVo> listFylbVo = mzsfService.listFylbByFybm(mzSfVo);
        String fylb[] = new String[listFylbVo.size()];
        //表格显示
        String fybms[] = new String[listFylbVo.size()];
        for (int i = 0; i < listFylbVo.size(); i++) {
            fylb[i]=listFylbVo.get(i).getFylb();
            fybms[i]="F"+listFylbVo.get(i).getFylb();
        };
        mzSfVo.setFylbs(fylb);
        mzSfVo.setFybms(fybms);
        List<Map<String,Object>> list = mzsfService.listMzsfVoByMzsfVo(mzSfVo);
        for (int i = 0; i < list.size(); i++) {
            Map<String,Object> temp = list.get(i);
            float sum = 0.00f;
            for (Map.Entry<String, Object> entry : temp.entrySet()) {
                if(entry.getKey().substring(0,1)=="F"||"F".equals(entry.getKey().substring(0,1)))
                    sum += new Float(entry.getValue()+"") ;
            }
            temp.put("sumRow",sum);
        }
        return getDataTable(list);
    }

vue前端

动态表格

<template>
  <div class="app-container">
    <ta-card title="条件搜索" :bordered="false" :showExpand="false" style="margin-bottom: 18px;">
      <el-form :model="queryParams"
               ref="queryform"
               size="small"
               @submit.native.prevent
               :inline="true"
               label-width="80px">
        <el-form-item label="查询时间" prop="dateScope">
          <el-date-picker
            value-format="yyyy-MM-dd HH:mm:ss"
            v-model="queryParams.dateScope"
            type="datetimerange"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            :default-time="['12:00:00']">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="医生" prop="ysbms"  width="70px">
          <el-select v-model="queryParams.ysbms"  multiple clearable placeholder="请选择医生" filterable >
            <el-option
              v-for="item in dict.type.SYS_USER"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="费用类型" prop="fylbs"  width="70px">
          <el-select v-model="queryParams.fylbs"  multiple clearable placeholder="请选择费用类别" filterable >
            <el-option
              v-for="item in dict.type.FYLB"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item :style="isCollapse?'position: absolute;right: 4.8%;':'position: absolute;right: 1.1%;'">
          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        </el-form-item>
      </el-form>
    </ta-card>
    <ta-card title="门诊收费统计-医生统计" :bordered="false" :showExpand="false">
      //动态表格
      <el-table :data="tableData" stripe>
        <el-table-column
          v-for="(item, index) in tableHeader"
          :key="index"
          :prop="item.val"
          :label="item.name"

        >
        </el-table-column>
      </el-table>
      <pagination
        :total="total"
        :page.sync="queryParams.pageNum"
        :limit.sync="queryParams.pageSize"
        @pagination="getList"
      />
    </ta-card>
  </div>
</template>

<style lang="less">
.el-table .exit-row{
  background: #f6f68b;
}
.el-table .success-row{
  background: #d4f6c1;
}
</style>

<script>
import { listMzsfByYsbm,listMzsfFylbByYsbm } from '@/api/analysis/mz/mzsf'
export default {
  name: 'ysbm',
  dicts: ['SYS_USER','FYLB'],
  data () {
    return {
      // 总条数
      total: 0,
      //表格数据加载状态
      loading: false,
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        dateScope:null,
        startDate:null,
        endDate:null,
        ysbms:null,
        fylbs:null,
      },
      tableData: [],  // 获取到的表格数据
      tableHeader: []  // 表头数据
    }
  },
  created() {
    this.getList();
  },
  methods:{
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryform");
      this.queryParams.yTjpzh=null;
      this.handleQuery();
    },
    //初始化查询
    getList(){
      this.loading=true;
      if(this.queryParams.dateScope==null || this.queryParams.dateScope==""){
        this.queryParams.startDate=null;
        this.queryParams.endDate=null;
      }else{
        this.queryParams.startDate=this.queryParams.dateScope[0];
        this.queryParams.endDate=this.queryParams.dateScope[1];
      }
      //查询表格数据
      listMzsfByYsbm(this.queryParams).then(response => {
        this.tableData = response.rows;
        this.total = response.total;
      });
      //获取表头设置表头的name(key)-val(表头名字)
      listMzsfFylbByYsbm(this.queryParams).then(response => {
        //每次刷新表头为空
        this.tableHeader=[];
        let headNameArr=response.data.name; //表头名
        let headValArr=response.data.val; //表头对应的字段名,也就是Java实体类对应的属性
        // 转化表头数据
        headNameArr.forEach((item, index) => {
          this.tableHeader.push({
            val: headValArr[index], // 表头对应的表头名
            name: item // 表中要显示的数据
          })
        })
        console.log(this.tableHeader);
      });
      this.loading = false;
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('/mz/mzrctjbb/byysbm/export', {
        ...this.queryParams
      }, `yptj_${new Date().getTime()}.xlsx`)
    },
  }
}

</script>

滑动开关效果

在这里插入图片描述

前端页面代码

<el-table-column label="状态" align="center" prop="stop" >
        <template v-slot="{row}" >
          <el-switch  v-model="row.stop"
                      @change="handleDelete(row)"
                      style="display: block"
                      active-color="#13ce66"
                      inactive-color="#ff4949"
                      active-text="使用"
                      inactive-text="停止"
                      :active-value='0'
                      :inactive-value='1'>

          </el-switch>
        </template>
      </el-table-column>

触发方法

/** 删除按钮操作 */
    handleDelete(row) {
      const fkmc = row.fkmc;
      const stop = row.stop;
      if(stop==1){
        this.$confirm('是否确认停止付款方式为"' + fkmc + '"的数据项?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          var fkfs = row;
          fkfs.stop = 1;
          updateFkStop(fkfs).then(response =>  {
            if(response.code=200){
              this.$message({
                type: 'success',
                message: '停止成功'
              });
            }else{
              this.$message({
                type: 'error',
                message: '停止失败'
              });
            }
          });
        }).catch(() => {
          // 取消操作
          this.$message({
            type: 'info',
            message: '已取消'
          })
          row.stop=0;
        });
      }else{
        this.$confirm('是否确认启用付款方式为"' + fkmc + '"的数据项?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          var fkfs = row;
          fkfs.stop = 0;
          updateFkStop(fkfs).then(response =>  {
            if(response.code=200){
              this.$message({
                type: 'success',
                message: '启用成功'
              });
            }else{
              this.$message({
                type: 'error',
                message: '启用失败'
              });
            }
          });
        }).catch(() => {
          // 取消操作
          this.$message({
            type: 'info',
            message: '已取消'
          })
          row.stop=1;
        });
      }

    },

组件传值

父组件

<medicalCoverCanJt :zBahData="singleJson" />

子组件

props: {
    zBahData: {
      type: Object,
      default: () => {
        return {};
      },
    },
  },
  created() {
    // 查询病案数据
    getData(this.zBahData.zBah).then((res) => {
      this.detailData = res.data;
    });
  },
  //监听
  watch: {
    zBahData(newVal, oldVal) {
      this.zBahData=newVal;
      getData(this.zBahData.zBah).then((res) => {
        this.detailData = res.data;
      });
    },
  },

传递时间

前端时间范围

导入

import moment from 'moment'; //引入js日期处理类库

事件转换为字符串类型

this.queryParams.startDateString=moment(this.queryParams.dateScope[0]).format("YYYY-MM-DD HH:mm:ss");

后端接收时间字符串,转换为时间类型

if(null!=yyhztjbbVo.getStartDateString()||""!=yyhztjbbVo.getStartDateString()||!"".equals(yyhztjbbVo.getStartDateString())){
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = null;
            try {
                date = formatter.parse(yyhztjbbVo.getStartDateString());
            } catch (ParseException e) {
                throw new RuntimeException(e);
            }
            yyhztjbbVo.setStartDate(date);
        }

点击表格某一行某行颜色发生变化

el-table

<el-table v-loading="tjloading"
                    :data="jkbTjList"
                    v-model="selectedRows"
                    :row-style="selectedstyle"
                    highlight-current-row
                    @row-click="rowClick">

重写 highlight-current-row

<style scoped>

/* 用来设置当前页面element全局table 选中某行时的背景色*/
::v-deep .el-table__body tr.current-row>td{
  background-color: #6ee558 !important;
  color: #fff;
}


</style>

页面初始化第一行颜色

el-table

<el-table v-loading="tjloading"
                    :data="jkbTjList"
                    v-model="selectedRows"
                    :row-style="selectedstyle"
                    highlight-current-row

js

data(){
    returen{
        getIndex:null,
    }
} ,
created() {
    this.lastTjList();
 },
methods: {
    //页面初始展示上次提交
    lastTjList(){
		this.zJkpz=XXX;
    },
	selectedstyle ({row, rowIndex}) {
      if (this.zJkpz == row.zJkpz ) {
        return {	"background-color": "#6ee558" };
      }
    },
    //点击左边表格,右边表格发生变化
    rowClick (val) {
      this.zJkpz=val.zJkpz;
    },
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1312089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了

文章目录 下载安装修改Sdk的位置创建项目修改Gradle的位置查看AS版本工具栏–View项工具栏–Build下的功能说明Build Variants视图说明下载模拟器&#xff08;avd&#xff09;/安卓虚拟设备 屏幕熄灭功能关闭虚拟设备功能删除自己开发的应用软件将开发的应用运行到虚拟设备上。…

java全栈体系结构-架构师之路(持续更新中)

Java 全栈体系结构 数据结构与算法实战&#xff08;已更&#xff09;微服务解决方案数据结构模型(openresty/tengine)实战高并发JVM虚拟机实战性能调优并发编程实战微服务框架源码解读集合框架源码解读分布式架构解决方案分布式消息中间件原理设计模式JavaWebJavaSE新零售电商项…

安卓开发显示加载中

private ProgressDialog loadobj; // 显示 ProgressDialog loadobj loadobj.show(MainActivity.this, "正在加载", "请稍后..."); // 取消 ProgressDialog loadobj.dismiss();或者 public ProgressDialog progressDialog;public void loading(){// …

深入探讨用于图像和视频生成的基于transformer的扩散模型

今天这篇文章探索了基于Transformer的扩散模型&#xff0c;用于图像和视频生成。尽管Transformer体系结构因其灵活性和可扩展性&#xff0c;在各个领域占主导地位&#xff0c;但在视觉生成领域&#xff0c;主要使用基于 CNN 的U-Net体系结构&#xff0c;特别是在基于扩散的模型…

MPLS专线和互联网专线有什么区别?如何选择?

MPLS和互联网专线是什么&#xff1f; MPLS专线和互联网专线是企业网络连接的常见方式。MPLS专线基于多协议标签交换&#xff08;MPLS&#xff09;该技术利用专线连接两个或多个分支机构&#xff0c;提供高质量的数据传输服务。互联网专线是基于公共知识产权基础设施的连接方式…

ElementPlus中的分页逻辑与实现

ElementPlus中的分页逻辑与实现 分页是web开发中必不可少的组件&#xff0c;element团队提供了简洁美观的分页组件&#xff0c;配合table数据可以实现即插即用的分页效果。分页的实现可以分成两种&#xff0c;一是前端分页&#xff0c;二是后端分页。这两种分页分别适用于不同…

c/c++ 文件操作(2)

文件操作读和写 顺序读写 1、fgetc、fputc 函数功能fgetc字符输入函数----->对应打开方式是 “r”fputc字符输出函数-----> 对应打开方式是 “w” 2、fgets、fputs 函数功能fgets文本行输入函数------> 对应打开方式是"r"fputs文本行输出函数------>…

社交网络分析2(上):社交网络情感分析的方法、挑战与前沿技术

社交网络分析2&#xff08;上&#xff09;&#xff1a;社交网络情感分析的方法、挑战与前沿技术 写在最前面1. 情感分析的基本概念社交网络情感分析的挑战与应用 情感分析研究现状2. 根据分析的对象&#xff0c;情感分析可以划分为哪几种类型&#xff0c;简要地进行说明。词汇表…

如何测试和挑选 2024 年最佳 Mac 数据恢复软件

数据是无价的。有些具有货币价值&#xff0c;例如您的银行帐户详细信息或官方文件。其他的则具有情感价值且不可替代&#xff0c;例如家庭照片。所有这些都存储在您的硬盘中&#xff0c;任何事情都可能出错。它可能会遇到技术错误&#xff0c;例如恶意软件攻击或驱动器故障&…

认知觉醒(七)

认知觉醒(七) 第三章 元认知——人类的终极能能力 第一节 元认知&#xff1a;成长慢&#xff0c;是因为你不会“飞” 1946年10月24日&#xff0c;一群科学家为了研究太阳的紫外线&#xff0c;在美国新墨西哥州白沙导弹试验场发射了当时世界上最先进的V2液体火箭&#xff0…

RealSense最简单配置环境只需要5分钟,不用自行添加任何包含目录、库目录。Visual Studio2022、C++。

又开始搞点云了&#xff0c;现在用的是Intel的realsense。 看网上步骤都挺繁琐的&#xff0c;本文搭建只需要5分钟。直接用官方提供的属性表&#xff0c;不用自行添加任何包含目录、库目录。 第一分钟&#xff1a;用Visual Studio新建一个工程&#xff08;此时你是没有intel.…

机器学习算法---分类

当然&#xff0c;让我为您提供更详细的机器学习算法介绍&#xff0c;重点在于每种算法的原理、优缺点&#xff0c;并在注意事项中特别提到它们对非平衡数据和高维稀疏数据的适应性。 1. 决策树&#xff08;Decision Trees&#xff09; 原理&#xff1a; 决策树通过学习简单的…

TCP/UDP 协议

目录 一.TCP协议 1.介绍 2.报文格式 ​编辑 确认号 控制位 窗口大小 3.TCP特性 二.TCP协议的三次握手 1.tcp 三次握手的过程 三.四次挥手 2.有限状态机 四.tcp协议和udp协议的区别 五.udp协议 UDP特性 六.telnet协议 一.TCP协议 1.介绍 TCP&#xff08;Transm…

深入学习 C++编程,数据结构与算法关系

数据结构是计算机科学中非常重要的概念之一。它是一种组织和存储数据的方式&#xff0c;能够有效地操作和管理数据&#xff0c;以便提高算法的效率。 以下是一些为什么要有数据结构的原因&#xff1a; (1) 数据组织&#xff1a;数据结构可以帮助我们组织和管理大量的数据。通过…

SOLIDWORKS PDM—邮件信息系统

SOLIDWORKS产品数据管理 (PDM) 解决方案可帮助您控制设计数据&#xff0c;并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用 SOLIDWORKS PDM Professional&#xff0c;您的团队能够&#xff1a;1. 安全地存储和索引设计数据以实现快速检索&#xff1b;2. 打消关于…

java项目 出现同名不同类的解决方法(万能)

目录 前言1. 问题所示2. 原理分析3. 解决方法4. 补充前言 该问题尤为复杂,特别是对现成项目进行编辑,环境尤为繁琐!(不过新手也常见) 下面以自身bug为例,困惑了几天~ 主要讲解排查的方式以及根源! 1. 问题所示 先以看故事的形式看这篇文章,会对你有感而发 在A类中…

mysql 与mssql 命令有那些区别

use databasename 进入指定数据库名 命令一致 select databse() 查询当前进入数据库的名 mssql无法使用&#xff0c;mysql正常 mssql 暂无 C知道介绍 以下是MySQL和MSSQL命令的一些区别&#xff1a; 1. 连接数据库的命令不同&#xff1a; - MySQL&#xff1a;…

docker 安装keepalived

docker 安装keepalived 1.Keepalived 简介 Keepalived 是 Linux 下一个轻量级别的高可用解决方案。高可用(High Avalilability,HA)&#xff0c;其实两种不同的含义&#xff1a;广义来讲&#xff0c;是指整个系统的高可用行&#xff0c;狭义的来讲就是之主机的冗余和接管&…

56.微服务面试篇

目录 一、SpringCloud常见组件有哪些&#xff1f; 二、Nacos源码分析和Sentinel源码分析。 三、Nacos的服务注册表结构是怎样的&#xff1f; 四、Nacos如何支撑数十万服务注册压力&#xff1f; 五、Nacos如何避免并发读写冲突问题&#xff1f; 六、Nacos与Eureka的区别有…

Redis核心知识小结

基础 redis为什么快呢&#xff1f; 单线程基于io多路复用底层C语言对数据结构做了优化完全内存的操作 Redis6.0使用多线程是怎么回事? Redis不是说用单线程的吗&#xff1f;怎么6.0成了多线程的&#xff1f; Redis6.0的多线程是用多线程来处理数据的读写和协议解析&#x…