最近项目的笔记总结。

最近vue3的项目 后端.net-findUI组件页面一起写 所以遇到了很多问题 写个总结记录一下 方便后续查找以免忘掉。

1、千分位数据处理(包含四舍五入小数点保留4位)

javascript 复制代码
if (num > 0) {
	num = Math.round(num * Math.pow(10, 4)) / Math.pow(10, 4); //四舍五入
	num = Number(num).toFixed(4); //补足位数
	let newNum = num.toString().split('.');
   let fomat = newNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
   fomat = fomat + '.' + newNum[1];
   return fomat;
}

如果有更好的处理方法也可以留言告诉我 欢迎!!!

2、A页面跳转B带参数后B页面接收并赋值给Tab页签组件

javascript 复制代码
F.ready(function () {
	let url = window.location.search.split("&");
	if (url[1]) {//这里是为了判断是否有这个参数 因为有的页面是传2个或者3个这个需要看当前页面的需求来定
		if (url[1].split("=").indexOf("tabIndex") != -1) {//看带过来的参数是否包含tabIndex这个属性 也可以是其他的名字 你自己定
			 let indexNum = url[1].split("=");
			 let index = parseInt(indexNum[1]);
			 F.ui.hidIsexpiry.setValue(index); //取值后给Tab页签赋值。
             onSearch(null, 0, 0);//赋值之后查询数据。
		}
	}
})

3、A页面跳转到B页面需要带时间type来区分时间区间值

javascript 复制代码
  var date = System.Web.HttpUtility.HtmlDecode(Context.Request.Query["date"]);
DateTime days = DateTime.Today;
DateTime endDays = DateTime.Today;
DateTime dt = DateTime.Now;
switch (date)
{ //如果需要获取带时分秒的 那么就用DateTime.Now.AddDays(-1)
  //本年
   case "0":
       days = new DateTime(dt.Year, 1, 1);
       endDays = DateTime.Today.AddDays(-1);
       break;
   //昨日
   case "2":
       days = DateTime.Today.AddDays(-1);
       endDays = DateTime.Today.AddSeconds(-1);
       break;
   //本月
   case "1":
       days = DateTime.Today.AddDays(-(DateTime.Today.Day - 1));
       endDays = DateTime.Today.AddDays(-1);
       break;
}

4.A页面跳转B带参数后B页面接收并赋值给下拉框绑定

javascript 复制代码
//跳转后页面状态赋值
let url = window.location.search.split("&");
if (url[1].split("=").indexOf("status") != -1) {
    let code = url[1].split("=");
    F.ui.status.setValue(code[1]);
}

5.轮播图效果(包含自适应布局 大屏是一页3个 小屏是一页2个 项目需求是需要展示8个模块)

html 复制代码
<a-carousel effect="fade">
	<div v-for="(item,index) in rowNum" :key="index">
		<a-row>
	        <a-col :span="12" v-for="(i,j) in 2" v-if="cardSpan==2&&(index+1)*2-(j+1)<filterName.length">
	            <div class="card" @@click="goHomePage(filterName[(index+1)*2-(j+1)])">
	                <div style="display:flex;">
	                    <img :src="'../res/images/0_'+filterName[(index+1)*2-(j+1)].dataType+'.png'" style="width:48px;height:48px;margin-right:10px;" />
	                    <div>
	                        <div>{{filterName[(index+1)*2-(j+1)].menuName}}</div>
	                        <div class="stockMoney" :title="filterName[(index+1)*2-(j+1)].totalMoney">{{filterName[(index+1)*2-(j+1)].totalMoney||0}}</div>
	                    </div>
	                </div>
	                <div style="margin-top:20px;">
	                    <div class="countNum">
	                        <span class="count">总品种数</span><span :title="filterName[(index+1)*2-(j+1)].productSum">{{filterName[(index+1)*2-(j+1)].productSum||0}}</span>
	                    </div>
	                    <div class="countNum">
	                        <span class="count">总数量</span><span :title="filterName[(index+1)*2-(j+1)].totalCount">{{filterName[(index+1)*2-(j+1)].totalCount||0}}</span>
	                    </div>
	                </div>
	            </div>
	        </a-col>
	        <a-col :span="8" v-for="(i,j) in 3" v-if="cardSpan==1&&(index+1)*3-(j+1)<filterName.length">
	            <div class="card" @@click="goHomePage(filterName[(index+1)*3-(j+1)])">
	                <div style="display:flex;">
	                    <img :src="'../res/images/0_'+filterName[(index+1)*3-(j+1)].dataType+'.png'" style="width:48px;height:48px;margin-right:10px;" />
	                    <div>
	                        <div>{{filterName[(index+1)*3-(j+1)].menuName}}</div>
	                        <div class="stockMoney" :title="filterName[(index+1)*2-(j+1)].totalMoney">{{filterName[(index+1)*3-(j+1)].totalMoney||0}}</div>
	                    </div>
	                </div>
	                <div style="margin-top:20px;">
	                    <div class="countNum"><span class="count">总品种数</span><span :title="filterName[(index+1)*2-(j+1)].productSum">{{formatNumber(filterName[(index+1)*2-(j+1)].productSum)||0}}</span></div>
	                    <div class="countNum"><span class="count">总数量</span><span :title="filterName[(index+1)*2-(j+1)].totalCount">{{formatNumber(filterName[(index+1)*2-(j+1)].totalCount)||0}}</span></div>
	                </div>
	            </div>
	        </a-col>
	    </a-row>
</div>
</a-carousel>

cardSpan 用来判断是大屏还是小屏,rowNum:0//低值耗材走马灯页数,(index+1)*2-(j+1)是用来获取当前页面的索引 不过因为我们的模块是固定8个 所以这个情况我没有测过如果只有3个模块下是否可以用 有时间我再测一下

javascript 复制代码
let width = window.screen.availWidth;
if (width >= 1920) {
    this.rowNum = Math.ceil(lg / 3);
    console.log(this.rowNum, 'rowNum');
    this.cardSpan = 1;
} else {
    this.rowNum = Math.ceil(lg / 2);
    this.cardSpan = 2;
}

差不多就这些 明天开始继续写vue3的项目 后续有新笔记再更新。

相关推荐
智者知已应修善业40 分钟前
【4060BD_5V应用电路图】2022-12-24
驱动开发·经验分享·笔记·硬件架构·硬件工程
2601_966949652 小时前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
m0_734571762 小时前
深入理解5g <十八>传输块tbsize的计算
开发语言·5g
小李不想当小白4 小时前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
RAN11426760084 小时前
1.3第一个程序的介绍
开发语言·qt
blue_ice .4 小时前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
远翔调光芯片^138287988725 小时前
ECP5702能芯科技PD取电芯片在市场上的优势有哪些?
开发语言·人工智能·单片机·嵌入式硬件·智能家居
高级程序源5 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
泡海椒5 小时前
规则引擎对比:JQuick-Java vs Drools 轻量场景选型对比
java·开发语言
2601_965384266 小时前
口腔黏膜清洁的工程化路径:从表面形貌表征到清洁策略匹配
经验分享·笔记