|
|
<?php
use blobt\widgets\Icheck; use backend\models\ars\ExpressTemplate;
/* @var $this yii\web\View */ /* @var $model backend\models\ars\ExpressTemplate */ /* @var $form yii\widgets\ActiveForm */ ?>
<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'calculation')->widget(Icheck::className(), ["items" => ExpressTemplate::$calculation, 'type' => "radio"]) ?>
<?= $form->field($model, 'basic_amount')->textInput() ?>
<?= $form->field($model, 'basic_price')->textInput() ?>
<?= $form->field($model, 'extra_amount')->textInput() ?>
<?= $form->field($model, 'extra_price')->textInput() ?>
<?php $js=<<<JS const formList = [//切换时,class对应的标题
{ "field-expresstemplate-basic_amount":"基本重量(KG)", "field-expresstemplate-basic_price":"基本运费(元)", "field-expresstemplate-extra_amount":"续重重量(KG)", "field-expresstemplate-extra_price":"续重运费(元)" }, { "field-expresstemplate-basic_amount":"基本数量(件)", "field-expresstemplate-basic_price":"基本运费(元)", "field-expresstemplate-extra_amount":"续重数量(件)", "field-expresstemplate-extra_price":"续重运费(元)" } ] const udfVal = [//初始值
[0.1,"0.00"], [1,"0.00"] ] var calType = 1;//初始的计算方式0:计重 1:计件
function changeCalType(type){//当切换计算方式
$.each(formList[type],function(index,value){ //更改文字标题
$("." + index).children("label").html(value) }); $(".form-control").eq(1).val(udfVal[type][0])//重置初始值
$(".form-control").eq(2).val(udfVal[type][1]) calType = type; } $(document).ready(function(){ $(".form-control").eq(1).blur(function(){ if (calType == 0) { if($(this).val() < 0.1){ $(this).val(0.1) } var basicAmount = $(this).val(); $(this).val(Math.floor(basicAmount * 10) / 10); } else{ if($(this).val() < 1){ $(this).val(1) } var basicAmount = $(this).val(); $(this).val(Math.floor(basicAmount * 1) / 1); } }) $(".form-control").eq(2).blur(function(){ if($(this).val() < 0){ $(this).val("0.00") } var basicPrice = $(this).val(); $(this).val(basicPrice.toString().match(/^\d+(?:\.\d{0,2})?/)); }) $(".form-control").eq(3).blur(function(){ if (calType == 0) { if($(this).val() < 0){ $(this).val(0) } var basicAmount = $(this).val(); $(this).val(Math.floor(basicAmount * 10) / 10); } else{ if($(this).val() < 0){ $(this).val(0) } var basicAmount = $(this).val(); $(this).val(Math.floor(basicAmount * 1) / 1); } }) $(".form-control").eq(4).blur(function(){ if($(this).val() < 0){ $(this).val("0.00") } var basicPrice = $(this).val(); $(this).val(basicPrice.toString().match(/^\d+(?:\.\d{0,2})?/)); }) $("input:radio[name='ExpressTemplate[calculation]']").on('ifChecked', function(event){ changeCalType($(this).val()-1) }) changeCalType(calType) }) JS; $this->registerJs($js)
?>
|