MeiRiYiCheng_1_old/YBDevice.NWeb/Pages/Order/Edit.cshtml

347 lines
16 KiB
Plaintext

@page
@model YBDevice.NWeb.Pages.Order.EditModel
@{
ViewData["Title"] = "编辑订单";
}
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-tab layui-tab-brief" lay-filter="ordertab">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="ordr">订单信息</li>
<li lay-id="equ">绑定设备</li>
</ul>
<div class="layui-tab-content layui-form">
<div class="layui-tab-item layui-show">
<div class="form-horizontal">
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Name">名称</label>
<div class="col-md-4">
<input type="text" class="layui-input" id="Name" name="Name" value="@Model.data.Name" placeholder="请输入订单名称" lay-verify="required" />
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Type">类型</label>
<div class="col-md-4">
<select id="Type" name="Type" lay-filter="Type">
@foreach (var item in Model.types)
{
if (Model.data.Type == item.Key)
{
<option value="@((int)item.Key)" selected>@item.Value</option>
}
else
{
<option value="@((int)item.Key)">@item.Value</option>
}
}
</select>
</div>
</div>
<div id="urldiv">
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="TotalCount">总需量</label>
<div class="col-md-4">
<input type="text" class="layui-input" id="TotalCount" name="TotalCount" value="@Model.data.TotalCount" placeholder="请输入总需量" lay-verify="required" />
<span class="tiptext">订单总共需求量,为0则无上限</span>
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="DayLimit">日需量</label>
<div class="col-md-4">
<input type="text" class="layui-input" id="DayLimit" name="DayLimit" value="@Model.data.DayLimit" placeholder="请输入日需量" lay-verify="required" />
<span class="tiptext">每日最大需求量,为0则无上限</span>
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="StartTime">开始时间</label>
<div class="col-md-4">
<input type="text" class="layui-input ydatetime" autocomplete="off" id="StartTime" name="StartTime" value="@Model.data.StartTime" placeholder="请选择开始时间" />
<span class="tiptext">如果不选则表示立即开始</span>
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="EndTime">结束时间</label>
<div class="col-md-4">
<input type="text" class="layui-input ydatetime" id="EndTime" autocomplete="off" name="EndTime" value="@Model.data.EndTime" placeholder="请选择结束时间" />
<span class="tiptext">如果不选则表示不会到期结束</span>
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Priority">优先级</label>
<div class="col-md-4">
<input type="text" class="layui-input" id="Priority" name="Priority" value="@Model.data.Priority" placeholder="请输入优先级" />
<span class="tiptext">数字越大越先被取到</span>
</div>
</div>
<div class="text-center col-md-7">
<button class="btn btn-primary btn-lg js-next" type="button">下一步</button>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" class="layui-input" id="Code" placeholder="请输入设备序列号" />
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select id="devicetype">
<option value="0">选择设备类型</option>
@foreach (var item in Model.devicetypes)
{
<option value="@item.Code">@item.Name</option>
}
</select>
</div>
</div>
<div class="layui-inline">
<button class="btn btn-primary btn-lg js-search" type="button">查询</button>
<button class="btn btn-primary btn-lg" lay-submit lay-filter="submit" type="button">提交</button>
</div>
</div>
<div class="layui-row" id="equlistdiv">
</div>
<div class="layui-form-item layui-row">
<div id="pagediv" class="text-right"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="equlisttpl">
{{# if(d.items.length > 0){ }}
<div class="layui-form-item layui-row">
<div class="layui-col-xs3 layui-col-sm3 layui-col-md3">
{{# if(d.isall){ }}
<input type="checkbox" lay-filter="isall" lay-skin="primary" title="全选" checked />
{{# }else{ }}
<input type="checkbox" lay-filter="isall" lay-skin="primary" title="全选" />
{{# } }}
</div>
</div>
{{# } }}
<div class="layui-form-item layui-row">
{{# layui.each(d.items,function(index,item) { }}
<div class="layui-col-xs3 layui-col-sm3 layui-col-md3" style="margin-bottom:10px;">
{{# if(item.ischecked || d.isall) { }}
<input type="checkbox" lay-skin="primary" data-equid="{{item.equid}}" title="{{item.name}}[{{item.facecode}}" checked />
{{# }else { }}
<input type="checkbox" lay-skin="primary" data-equid="{{item.equid}}" title="{{item.name}}[{{item.facecode}}" />
{{# } }}
</div>
{{# }); }}
{{# if(d.items.length === 0){ }}
<h3 class="text-center">无可用的设备</h3>
{{# } }}
</div>
</script>
<script type="text/html" id="urltpl">
{{# if(d.type == 1) { }}
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Url">公众号</label>
<div class="col-md-4">
<select id="Url" name="Url" lay-filter="Url" lay-verify="required">
{{# layui.each(d.list,function(index,item) { }}
{{# if(item.authorizer_appid == d.defaultvalue) { }}
<option value="{{item.authorizer_appid}}" selected>{{item.nick_name}}</option>
{{# }else{ }}
<option value="{{item.authorizer_appid}}">{{item.nick_name}}</option>
{{# } }}
{{# }); }}
{{# if(d.list.length === 0){ }}
<option value="">无可用的公众号</option>
{{# } }}
</select>
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="OrderType">订单用途</label>
<div class="col-md-4">
<select id="OrderType" name="OrderType" lay-filter="OrderType">
@foreach (var item in Model.bindtypes)
{
if (item.Value != "1")
{
if (Model.data.OrderType == item.Key)
{
<option value="@((int)item.Key)" selected>@item.Value</option>
}
else
{
<option value="@((int)item.Key)">@item.Value</option>
}
}
}
</select>
<span class="tiptext">用户测量:关注公众号,</span>
<span class="tiptext">用户绑定:只适用于WIFI绑定设备</span>
</div>
</div>
{{# }else if(d.type == 2){ }}
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Url">链接</label>
<div class="col-md-4">
<input type="text" class="layui-input" id="Url" name="Url" value="@Model.data.Url" placeholder="请输入链接地址" lay-verify="required" />
</div>
</div>
{{# }else { }}
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Url">小程序</label>
<div class="col-md-4">
<select id="Url" name="Url" lay-filter="Url" lay-verify="required">
{{# layui.each(d.list,function(index,item) { }}
{{# if(item.authorizer_appid == d.defaultvalue) { }}
<option value="{{item.authorizer_appid}}" selected>{{item.nick_name}}</option>
{{# }else{ }}
<option value="{{item.authorizer_appid}}">{{item.nick_name}}</option>
{{# } }}
{{# }); }}
{{# if(d.list.length === 0){ }}
<option value="">无可用的小程序</option>
{{# } }}
</select>
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="Page">小程序首页</label>
<div class="col-md-4">
<input type="text" class="layui-input" id="Page" name="Page" value="@Model.data.Page" placeholder="请输入首页地址" lay-verify="required" />
</div>
</div>
<div class="layui-form-item row">
<label class="layui-form-label col-md-3" for="OrderType">订单用途</label>
<div class="col-md-4">
<select id="OrderType" name="OrderType" lay-filter="OrderType">
@foreach (var item in Model.bindtypes)
{
if (item.Value != "3")
{
if (Model.data.OrderType == item.Key)
{
<option value="@((int)item.Key)" selected>@item.Value</option>
}
else
{
<option value="@((int)item.Key)">@item.Value</option>
}
}
}
</select>
<span class="tiptext">设备管理:用于商户端小程序,</span>
<span class="tiptext">用户测量:用户测量小程序</span>
</div>
</div>
{{# } }}
</script>
@section Scripts{
<script type="text/javascript">
layui.use(['form', 'common', 'laytpl', 'element', 'laypage'], function () {
var form = layui.form, laytpl = layui.laytpl, element = layui.element, laypage = layui.laypage,
common = layui.common;
var page = 1;
var jsondata = [];
var isall = false;
form.on("select(Type)", function (data) {
var value = data.value;
var jsondata = {
"type": value,
"defaultvalue": '@Model.data.Url'
};
var officetype = value == 1 ? 1 : 2;
if (value != 2) {
common.ajax({
url: "/api/official/getalllist?type=" + officetype,
success: function (res) {
jsondata["list"] = res.data;
var getTpl = urltpl.innerHTML, view = document.getElementById('urldiv');
laytpl(getTpl).render(jsondata, function (html) {
view.innerHTML = html;
form.render("select");
});
}
});
} else {
var getTpl = urltpl.innerHTML, view = document.getElementById('urldiv');
laytpl(getTpl).render(jsondata, function (html) {
view.innerHTML = html;
});
}
});
$("#Type").siblings("div.layui-form-select").find('dl').find('.layui-this').click();
form.on("submit(submit)", function (data) {
data.field['id'] = '@Model.data.Id';
var equids = [];
if (!isall) {
$("#equlistdiv").find("input").each(function () {
if ($(this).prop("checked")) {
equids.push($(this).data("equid"));
}
});
} else {
equids.push(0);
}
data.field["equids"] = equids;
console.log(data.field);
common.ajax({
url: "/api/order/Submit",
type: "post",
data: data.field
});
});
$(".js-next").on("click", function () {
element.tabChange('ordertab', 'equ');
});
$(".js-search").on("click", function () {
var code = $("#Code").val();
var type = $("#devicetype").val();
common.ajax({
url: "/api/order/getorderequlist?orderid=" + '@Model.data.Id' + "&code=" + code + "&page=" + page + "&type=" + type,
success: function (res) {
if (res.data.items.length >0 && res.data.items[0].isall) {
isall = true;
}
jsondata = res;
loadtpl();
}
});
});
function loadtpl() {
var getTpl = equlisttpl.innerHTML, view = document.getElementById('equlistdiv');
jsondata.data["isall"] = isall;
laytpl(getTpl).render(jsondata.data, function (html) {
view.innerHTML = html;
form.render("checkbox");
laypage.render({
elem: "pagediv",
count: jsondata.data.totalnum,
limit: jsondata.data.limit,
curr: jsondata.data.page,
jump: function (obj, first) {
page = obj.curr;
if (!first) {
$(".js-search").trigger("click");
}
}
});
});
}
form.on("checkbox(isall)", function (val) {
isall = val.elem.checked;
if (!isall) {
for (var i = 0; i < jsondata.data.items.length; i++) {
jsondata.data.items[i].ischecked = false;
}
}
loadtpl();
});
$(".js-search").trigger("click");
});
</script>
}