当前位置: 首页 > news >正文

昆明网站搭建网站运营融资网站建设方案

昆明网站搭建网站运营,融资网站建设方案,网站建设构造学习,wordpress子站点404概要 提示#xff1a;这里可以描述概要 前面的输入框是发票金额#xff0c;后面的输入框是累计发票金额#xff08;含本次#xff09;--含本次就代表后倾请求的接口的数据#xff08;不是保存后返显的-因为保存后返显的是含本次#xff09;是不含本次的所以在输入发票金…概要 提示这里可以描述概要 前面的输入框是发票金额后面的输入框是累计发票金额含本次--含本次就代表后倾请求的接口的数据不是保存后返显的-因为保存后返显的是含本次是不含本次的所以在输入发票金额的时候累计发票金额含本次也会跟着变化 输入框的联动 前面本次发票金额的输入框只能输入数值类型的数值最多生效两位小数多了会报错后面累计发票金额含本次的输入框可以修改值也是只能输入数值类型的数值最多生效两位小数多了会报错输入数值要实时变动而不是失去焦点后再计算千分位也是实时出现 , 而不是失去焦点的时候才有千分位 整体思路 提示这里可以描述思路 后面输入框累计发票金额含本次的值虽然可以修改但是前面的输入框本次发票金额在输入值的时候也要计算得用后台请求的值加上本次发票金额而且输入框的值输入错的话不能让其提交所以得有表单验证输入框的值是实时变化的所以可以用监听。 首先监听本次发票金额确定实时输入的值是数值而不是汉字英文字符标点什么的而且在输入框输入的是  0.零点几的时候会有 0.这个时候 累计发票金额含本次会自动加上前面本次发票金额的值 不能报错 技术选型 提示这里可以对技术选项解释 在监听验证数据的时候验证数据书不是数值包括在发票金额输入 0. 的时候 累计发票金额含本次实时 加上 本次发票金额 不能是 NAN  如果 用 正则验证 不行 如果用正则 当是 0. 的时候会报错 无论用那种都不识别 但是是 0.3 能识别 因此不能用正则 而且 如果用正则的话 首先要判断输入的值是 数值  还得判定 带小数的和不带小数的   那么用什么呢   Number(val) 可以判定 如果不是数值 就会返回 NAN 如果是 0. 则会返回0 这样就完美的解决了问题 html页面 el-form:modelshenPiDialogFormrefshenPiDialogForm:rulesshenPiDialogRuleclassdemo-ruleForm:label-widthshenPiLabelWidthel-row :span24el-col :span12el-form-item label本次发票金额元 propcurrentNowMoneyel-input v-model.trimshenPiDialogForm.currentNowMoney/el-input/el-form-item/el-colel-col :span12el-form-itemlabel累计发票金额含本次元propcumulativeInvoicesel-input v-modelshenPiDialogForm.cumulativeInvoices/el-input/el-form-item/el-col/el-rowel-row :span24el-col :span12el-form-item label缓付金额人民币小写元 prop{{ shenPiDialogForm.deferredAmount }}/el-form-item/el-colel-col :span12 /el-col/el-rowel-form-itemel-buttontypeprimaryv-loading.fullscreen.lockloadingclicksubmitForm(shenPiDialogForm)提交/el-buttonel-button clickresetForm(shenPiDialogForm)取消/el-button/el-form-item/el-form js页面 1用到的引入 1本次申请金额 转大写 /**Author: FangbinGuo*Date:2023-04-15 12:05:11*Description:*/ // 本次申请金额 转大写 export function ZhuanDaXie(number) {let newVal;if(String(number).indexOf(,)){//如果是千分位的话 会有 , 去掉 ,newValString(number).replace(/\,/g,);}else{newValnumber;}let numberValNumber(newVal);// 将 传入的值 转换为 数值let result ;if(isNaN(numberVal)||numberVal0){// 如果 传入的 值 不是数值 或者 传入的金额 小于零result} else {if (number ! number ! null number ! 0 number ! 0) {// 如果 输入的值 非零 非 空if(String(number).indexOf(.)){// 如果 含 小数if(String(newVal).slice(String(newVal).indexOf(.)).length3){// 如果 小数部分超过两位result}else{// 如果 小数部分不超过两位resultzhuanHanZi(newVal)}}else{// 如果不含小数resultzhuanHanZi(newVal)}}else if(number0||number0){result零整}else{result}}return result } // 将 传入的数值 转为 汉字 export function zhuanHanZi(val){let hanZi;let unit 仟佰拾亿仟佰拾万仟佰拾元角分;let str ;val 00;const point val.indexOf(.);if (point 0) {val val.substring(0, point) val.substr(point 1, 2);}unit unit.substr(unit.length - val.length);for (let i 0; i val.length; i) {str 零壹贰叁肆伍陆柒捌玖.charAt(val.charAt(i)) unit.charAt(i);}return hanZi str.replace(/零(仟|佰|拾|角)/g, 零).replace(/(零)/g, 零).replace(/零(万|亿|元)/g, $1).replace(/(亿)万|(拾)/g, $1$2).replace(/^元零?|零分/g, )// .replace(/元$/g, 元);.replace(/元$/g, 元) 整; } 2 数值转千分位 与 千分位转数值 /**Author: FangbinGuo*Date:2023-04-20 09:45:26*Description: 数值转千分位 与 千分位转数值*/ import { MessageBox, Message } from element-ui;export function numberToQianFenWei(value) {let ShuZhireg/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,9})|([1-9]\d*)|0)$/;let newValueif(String(value).indexOf(,)){newValueString(value).replace(/\,/g,);// newValueString(value).replaceAll(,,);}else{newValuevalue;}if (newValue0||newValue0) return 0;if (newValue||newValuenull||newValueundefined) return ;// 获取整数部分const intPart Math.trunc(newValue);// debuggerif(ShuZhireg.test(intPart)){// 整数部分处理增加,const intPartFormat intPart.toString().replace(/(\d)(?(?:\d{3})$)/g, $1,)// 预定义小数部分let floatPart // 将数值截取为小数部分和整数部分const valueArray value.toString().split(.)if (valueArray.length 2) { // 有小数部分floatPart valueArray[1].toString() // 取得小数部分return intPartFormat . floatPart}return intPartFormat floatPart}else{// Message({// message: 输入有误请仔细查看,// type: error,// });return value;}}// 千分位传到后台 后台不识别 所以 传给后台的金额不能是千分位的数字 要转成正常数值 export function qianFenWeiZhuanToNumber(val){if(val ! val ! null val ! 0){let valStrval;if(valStr.indexOf(,)) {return valStr.replace(/\,/g,);}else{return valStr}}else{return val}}3表单的自定义验证方法 // 校验数值 必填 可以为0 但是不能为空 ---必填最多两位小数 export function JinEBuNengWeiKong(rule, value, callback) {let SguZhireg/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]\d*)|0)$/;if(valuenull||value){callback(new Error(请输入数值,不能为空));}else if(value0){callback();}else{let newVal;if(String(value).indexOf(,)){//如果是千分位的数值去掉里面的 , 后再验证newValString(value).replace(/\,/g,);}else{newValvalue;}if(!SguZhireg.test(newVal)){callback(new Error(请输入最多只有两位小数且为正数的数值));}else if(newVal.toString().indexOf(.)-1){//如果没有小数点if(newVal.toString().length13){callback(new Error(输入的数不得超过千亿))}else{callback()}}else if(newVal.toString().indexOf(.)12){//如果有小数点callback(new Error(输入的数不得超过千亿))}else{callback()}} } 3方法与监听 import {numberToQianFenWei,qianFenWeiZhuanToNumber, } from /utils/qianFenWei.js;//引入方法 import { ZhuanDaXie } from /utils/chineseNumber;//引入方法 import {LJFPJE,//累计发票金额 } from /api/noWorkPayment/index.js;//接口 import {JinEBuNengWeiKong, } from /utils/toolsObj.js;//引入表单验证方法data() {return {loading:false,contractId:,//累计发票金额 用到的 参数lineId:,//累计发票金额 用到的 参数shenPiLabelWidth: 210px,// 审批弹窗shenPiDialogForm: {flowEventId:,//流程idcurrentNowMoney:0,//本次发票金额cumulativeInvoices:,//累计发票金额deferredAmount:,//缓付金额},BCSJZF:,//本次实际支付NumBCFPJE:0,//本次发票金额 数值形式NumLJFPJEHBC:0,//累计发票金额含本次 数值形式NumLJFPJEBHBC:0,//累计发票金额不含本次 数值形式shenPiDialogRule: {// 本次发票金额currentNowMoney: [{ required: true, validator: JinEBuNengWeiKong, trigger: blur },],// 累计发票金额cumulativeInvoices: [{ required: true, validator: JinEBuNengWeiKong, trigger: blur },],},};},watch:{// 本次发票金额shenPiDialogForm.currentNowMoney: function (newVAl, oldVal) {this.NumBCFPJEqianFenWeiZhuanToNumber(newVAl);this.shenPiDialogForm.currentNowMoneynumberToQianFenWei(newVAl);// 首先分为有值和没有值if(newVAl||newVAlnull){//如果输入框没值this.shenPiDialogForm.currentNowMoney ;this.NumBCFPJE0;}else {//如果输入框有值 判断是不是数值类型if(Number(this.NumBCFPJE)||Number(this.NumBCFPJE)0){// 如果this.NumBCFPJE0.时 Number(0.) 的值是0 0是false 就进入不了里面if(String(this.NumBCFPJE).indexOf(.)0){//如果数值中 含小数// 将不是千分位的数值 转成字符串let strNewValString(this.NumBCFPJE);// 小数点前的数值let numDotstrNewVal.slice(0,(String(this.NumBCFPJE).indexOf(.)-0)1);// 小数点后的数值let dotNumstrNewVal.slice((String(this.NumBCFPJE).indexOf(.)-0)1,);// 小数点后面两位let baoLiuLiangWeidotNum.slice(0,(String(this.NumBCFPJE).indexOf(.)-0)3);let NumValRes;if(String(dotNum).length2 ){// 小数后超过两位 截取到小数点后两位的值 后拼接NumValResString(numDot).concat(baoLiuLiangWei);return this.$message.error(最多两位小数);}else{// 如果小数点正好两位 那么直接拼接NumValResString(numDot).concat(dotNum);}// 使用 小数点前的数值/千分位和小数点后保留两位的数值this.NumBCFPJEqianFenWeiZhuanToNumber(NumValRes);this.shenPiDialogForm.currentNowMoneynumberToQianFenWei(NumValRes);}else{//如果数值中 不含小数this.NumBCFPJEqianFenWeiZhuanToNumber(newVAl);this.shenPiDialogForm.currentNowMoneynumberToQianFenWei(newVAl);}}else{//不是数值 一定是错的报错this.$message.error(请输入数值)this.shenPiDialogForm.currentNowMoney ;this.NumBCFPJE0;}}this.NumLJFPJEHBC(this.NumBCFPJE-0)(this.NumLJFPJEBHBC-0);this.shenPiDialogForm.cumulativeInvoices((this.NumBCFPJE-0)(this.NumLJFPJEBHBC-0)).toFixed(2);},// 累计发票金额 shenPiDialogForm.cumulativeInvoices: function (newVAl, oldVal) {if (newVAl 0 || newVAl null || newVAl 0) {this.shenPiDialogForm.cumulativeInvoices newVAl;this.NumLJFPJEHBC0;this.NumLJFPJEBHBC0;} else {this.NumLJFPJEHBCqianFenWeiZhuanToNumber(newVAl);this.NumLJFPJEBHBC((this.NumLJFPJEHBC-0)-(this.NumBCFPJE-0)).toFixed(2);this.shenPiDialogForm.cumulativeInvoices numberToQianFenWei(newVAl);}},},methods: {// 累计发票金额 验工与非验工 的参数不一样getLJFPJE(){this.loadingtrue;this.NumLJFPJEBHBC;this.shenPiDialogForm.cumulativeInvoices;LJFPJE({contractId:this.contractId,segmentId:this.clickData.segmentId,lineId:this.lineId,}).then(res{this.loadingfalse;if(res.code0){this.NumLJFPJEBHBC(res.data.cumulativeInvoices-0);this.shenPiDialogForm.cumulativeInvoicesnumberToQianFenWei(res.data.cumulativeInvoices);}})},} 小结 提示这里可以添加总结 这里最重要的是对 0. 的验证 如果是用正则验证大家可以试一下在输入 0. 时是报错的但是0.2又不会报错 用了 Number(val) 来判断是不是 数值 用 Number(val)0( 因为 Number(0.)0  )  来判定 0. 输入的也是 数值
http://www.pierceye.com/news/83325/

相关文章:

  • 网站开发培训少儿天津做网站哪家服务好
  • 单位做网站需要准备什么网页设计素材怎么放进去
  • aardio 网站开发wordpress建站原理
  • 网页设计代码文字浮动宁波seo入门教程
  • 怎么在网上做装修网站优化公司治理
  • 网站怎么防黑客wordpress 不能评论
  • 免费ppt课件下载网站静态网站开发项目实验报告
  • 海口建设局网站个人建站除了wordpress
  • 中山市做网站公司同一个空间可以做两个网站么
  • 中国三大门户网站是哪三个html网页设计小作业的代码部分
  • 在线做流程图的网站做网站有兼职的吗
  • 塔城市建设局网站做空eth网站
  • 上海网站设计找哪家昆明网站词排名优化
  • 网站做商标在那类网络美工是干啥的
  • 沌口网站建设网站推广如何做的
  • 淘客app网站是怎么做的c 做网站 知乎
  • 网站套模板教程轻创优选地推app
  • 长春建设工程信息网站广西建设工程造价管理协会网站
  • 加盟网站制作公司wordpress 国内镜像
  • 苏州网站排名方案怎么做自己的快递查询网站
  • python可以做网站后台吗免费域名注册平台永久
  • 昆明网站建设首选才力北京定制网络营销推广
  • 网站盈利了湖北网站建设xiduyun
  • 佛山外贸网站建设行情关键词搜索指数
  • 织梦调用网站名称两学一做 知识竞赛网站
  • 途牛网站建设方案电商网络销售是做什么
  • 珠海建网站设计asp.net做的小网站
  • 做网站怎么赚钱广告杭州网站改版
  • 江门网站推广多少钱网站代码字体变大
  • 全定制网站开发湖北省住建厅网站官网