婚恋网站翻译可以做吗,成都住建局官网怎么查询楼盘剩余房,库存管理软件有哪些,网站设计师前景文章目录 antVvue3 单选框选中加入逻辑运算#xff0c;再次点击取消选中#xff0c;不计入逻辑运算需求增加点击事件逻辑处理效果 antVvue3 单选框选中加入逻辑运算#xff0c;再次点击取消选中#xff0c;不计入逻辑运算 需求
在做项目时#xff0c;多次遇到单选框需要再… 文章目录 antVvue3 单选框选中加入逻辑运算再次点击取消选中不计入逻辑运算需求增加点击事件逻辑处理效果 antVvue3 单选框选中加入逻辑运算再次点击取消选中不计入逻辑运算 需求
在做项目时多次遇到单选框需要再次点击时取消选中的效果上次感觉没有遇到困难就没有记录这次增加了逻辑计算在此记录一下。 参数选择处需要增加再次选择进行取消选择的操作。 数学逻辑是在选中参数选择时参数选择需要参与运算不选择时不参与运算。 增加点击事件 之前不需要取消的单选框正常使用change就可以需要第二次点击取消选中的单选框使用change无法达到想要的效果所以我们这里给他增加一个click事件。 逻辑处理
getComplianceDesc方法 由于不需要进行额外的判断直接进行逻辑判断即可
const getComplianceDesc () {let d formStateEdit.value.dValue,a formStateEdit.value.aValue,k formStateEdit.value.kValue,ra formStateEdit.value.raValue,rk formStateEdit.value.rkValueif (d 1) {formStateEdit.value.score 0} else if (d 2) {formStateEdit.value.score /} else if ((d 0 a 1 k 0) || (d 0 a 0 k 1)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.5).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score (0.5).toFixed(4)}} else if ((d 0 a 0 k 0) || (d 0 a 2 k 2)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 1).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score (1).toFixed(4)}} else {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.25).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score (0.25).toFixed(4)}}}getNowRaValue 方法 const lastRaValue ref()const newRaValue ref()const getNowRaValue (key) {newRaValue.value keyif (newRaValue.value lastRaValue.value) {newRaValue.value undefinedlastRaValue.value undefinedformStateEdit.value.raValue undefinedlet d formStateEdit.value.dValue,a formStateEdit.value.aValue,k formStateEdit.value.kValue,ra formStateEdit.value.raValue,rk formStateEdit.value.rkValueif (d 1) {formStateEdit.value.score 0} else if (d 2) {formStateEdit.value.score /} else if ((d 0 a 1 k 0) || (d 0 a 0 k 1)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.5).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score 0.5}} else if ((d 0 a 0 k 0) || (d 0 a 2 k 2)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 1).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score 1}} else {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.25).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score 0.25}}} else {lastRaValue.value newRaValue.valueformStateEdit.value.raValue newRaValue.valuelet d formStateEdit.value.dValue,a formStateEdit.value.aValue,k formStateEdit.value.kValue,ra formStateEdit.value.raValue,rk formStateEdit.value.rkValueif (d 1) {formStateEdit.value.score 0} else if (d 2) {formStateEdit.value.score /} else if ((d 0 a 1 k 0) || (d 0 a 0 k 1)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.5).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score 0.5}} else if ((d 0 a 0 k 0) || (d 0 a 2 k 2)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 1).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score 1}} else {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.25).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score 0.25}}}}getNowRkValue方法
const lastRkValue ref()const newRkValue ref()const getNowRkValue (key) {newRkValue.value keyif (newRkValue.value lastRkValue.value) {newRkValue.value undefinedlastRkValue.value undefinedformStateEdit.value.rkValue undefinedlet d formStateEdit.value.dValue,a formStateEdit.value.aValue,k formStateEdit.value.kValue,ra formStateEdit.value.raValue,rk formStateEdit.value.rkValueif (d 1) {formStateEdit.value.score 0} else if (d 2) {formStateEdit.value.score /} else if ((d 0 a 1 k 0) || (d 0 a 0 k 1)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.5).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score 0.5}} else if ((d 0 a 0 k 0) || (d 0 a 2 k 2)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 1).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score 1}} else {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.25).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score 0.25}}} else {lastRkValue.value newRkValue.valueformStateEdit.value.rkValue newRkValue.valuelet d formStateEdit.value.dValue,a formStateEdit.value.aValue,k formStateEdit.value.kValue,ra formStateEdit.value.raValue,rk formStateEdit.value.rkValueif (d 1) {formStateEdit.value.score 0} else if (d 2) {formStateEdit.value.score /} else if ((d 0 a 1 k 0) || (d 0 a 0 k 1)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.5).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.5).toFixed(4)} else {formStateEdit.value.score 0.5}} else if ((d 0 a 0 k 0) || (d 0 a 2 k 2)) {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 1).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 1).toFixed(4)} else {formStateEdit.value.score 1}} else {if (ra) {if (rk) {formStateEdit.value.score (Number(ra) * Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score (Number(ra) * 0.25).toFixed(4)}} else if (rk) {formStateEdit.value.score (Number(rk) * 0.25).toFixed(4)} else {formStateEdit.value.score 0.25}}}}注意
首次打开编辑页面时候需要给lastRaValue、lastRkValue赋上初值。可以Number()字符串转数字类型以及.toFixed(4)保留一下小数不然会出现超额数字出现随机数概率挺高的这里的ra为0.2rk为1.2的时候基本都会出现所以加上了这两个操作。
此外getNowRaValue以及getNowRkValue方法存在大量逻辑冗余曾尝试直接给formStateEdit.value.raValue、formStateEdit.value.rkValue赋值然后进行逻辑操作但是失败了大家有需要可以精进一下。
效果