@model sbcLabSystem.Models.Backstage.LabViewModel
|
@{
|
ViewBag.Title = "添加实验室";
|
Layout = "~/Views/Shared/Master.cshtml";
|
}
|
<script>
|
var viewModel;
|
var viewModel_Table;
|
$(function () {
|
viewModel = new myViewModel_User(@Html.Raw(Json.Encode(Model)));
|
viewModel_Table = new myViewModel_User(@Html.Raw(Json.Encode(Model)));
|
ko.applyBindings(viewModel, $(".container")[0]);
|
ko.applyBindings(viewModel_Table, $(".container")[1]);
|
})
|
function myViewModel_User(data) {
|
var self = this;
|
ko.mapping.fromJS(data, mapping, self);
|
}
|
var mapping = {
|
'Labinfo': {
|
create: function (options) {
|
return new Labinfo(options.data);
|
}
|
},
|
'SimliarLabList': {
|
create: function (options) {
|
return new similarLabInfo(options.data);
|
}
|
}
|
}
|
function similarLabInfo(data) {
|
var self = this;
|
self.useThisLab = function () {
|
console.log(ko.toJS(viewModel.Labinfo));
|
$.messager.confirm("操作确认", "是否使用采信此实验室信息?", function () {
|
DoAjaxPost("@Url.Action("ConfirmLabInfo", "Backstage")",
|
JSON.stringify({
|
oriLabId: self.Id(),
|
targetLab: ko.toJS(viewModel.Labinfo)
|
|
}),
|
function (json) {
|
$.messager.popup("采信成功!");
|
window.location.href="@Url.Action("Index", "Backstage")"
|
});
|
});
|
}
|
ko.mapping.fromJS(data, {}, self);
|
}
|
function Labinfo(data) {
|
var self = this;
|
self.similarLabQuery = function () {
|
DoAjaxPost("@Url.Action("GetSimilarLab", "Backstage")",
|
"{\"LabName\":\"{0}\"}".format(self.CompanyName()), function (json) {
|
$.messager.popup("搜索完成!");
|
ko.mapping.fromJS(json, mapping, viewModel_Table);
|
});
|
}
|
self.LabCode = ko.observable(data.LabCode).extend({
|
required: {
|
params: true,
|
message: "实验室代码不能为空"
|
}
|
}).extend({
|
pattern: {
|
params: /^([\u4E00-\u9FA5]|\w)*$/,
|
message: "不能有特殊符号!"
|
}
|
});
|
self.LabLoginName = ko.observable(data.LabLoginName).extend({
|
required: {
|
params: true,
|
message: "登录名不能为空"
|
}
|
}).extend({
|
pattern: {
|
params: /^([\u4E00-\u9FA5]|\w)*$/,
|
message: "不能有特殊符号!"
|
}
|
});
|
|
//self.PostCode = ko.observable(data.PostCode).extend({
|
// required: {
|
// params: true,
|
// message: "邮编不能为空"
|
// }
|
//}).extend({
|
// pattern: {
|
// params: /[1-9]\d{5}(?!\d)/,
|
// message: "邮编格式不正确"
|
// }
|
//})
|
self.ManagerName = ko.observable(data.ManagerName).extend({
|
required: {
|
params: true,
|
message: "姓名不能为空"
|
}
|
}).extend({
|
pattern: {
|
params: /^([\u4E00-\u9FA5]|\w)*$/,
|
message: "不能有特殊符号!"
|
}
|
})
|
self.ManagerPhone = ko.observable(data.ManagerPhone).extend({
|
required: {
|
params: true,
|
message: "固定电话不能为空"
|
}
|
});
|
// .extend({
|
// pattern: {
|
// params: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,
|
// message: "固定电话格式不正确!"
|
// }
|
//});
|
self.ManagerMobile = ko.observable(data.ManagerMobile).extend({
|
required: {
|
params: true,
|
message: "手机不能为空"
|
}
|
});
|
|
// .extend({
|
// pattern: {
|
// params: /^(13[0-9]|18[0-9]|17[0-9]|15[0|1|3|6|7|8|9]|18[8|9])\d{8}$/,
|
// message: "手机格式不正确!"
|
// }
|
//})
|
self.ManagerEmail = ko.observable(data.ManagerEmail).extend({
|
required: {
|
params: true,
|
message: "邮箱不能为空"
|
}
|
}).extend({
|
email: {
|
params: true,
|
message: "邮箱格式不正确"
|
}
|
});
|
self.OperatorName = ko.observable(data.OperatorName).extend({
|
required: {
|
params: true,
|
message: "姓名不能为空"
|
}
|
}).extend({
|
pattern: {
|
params: /^([\u4E00-\u9FA5]|\w)*$/,
|
message: "不能有特殊符号!"
|
}
|
})
|
self.OperatorPhone = ko.observable(data.OperatorPhone).extend({
|
required: {
|
params: true,
|
message: "固定电话不能为空"
|
}
|
});
|
//.extend({
|
// pattern: {
|
// params: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,
|
// message: "固定电话格式不正确!"
|
// }
|
//});
|
self.OperatorMobile = ko.observable(data.OperatorMobile).extend({
|
required: {
|
params: true,
|
message: "手机不能为空"
|
}
|
});
|
//.extend({
|
// pattern: {
|
// params: /^(13[0-9]|18[0-9]|17[0-9]|15[0|1|3|6|7|8|9]|18[8|9])\d{8}$/,
|
// message: "手机格式不正确!"
|
// }
|
//})
|
self.OperatorEmail = ko.observable(data.OperatorEmail).extend({
|
required: {
|
params: true,
|
message: "邮箱不能为空"
|
}
|
}).extend({
|
email: {
|
params: true,
|
message: "邮箱格式不正确"
|
}
|
});
|
self.fsPassword = function () {
|
self.errors = ko.validation.group(self, { deep: true });
|
if (self.errors().length == 0) {
|
$.ajax({
|
type: "post",
|
url: '@Url.Action("UpdatePassword", "Backstage")',
|
dataType: 'json',
|
cache: false,
|
contentType: 'application/json; charset=utf-8',
|
data: JSON.stringify(ko.toJS(self)),
|
success: function (data) {
|
$.messager.popup(data);
|
},
|
error: function (err) {
|
}
|
});
|
}
|
else { self.errors.showAllMessages(); }
|
}
|
self.seve = function () {
|
self.errors = ko.validation.group(self, { deep: true });
|
if (self.errors().length == 0) {
|
DoAjaxPost("@Url.Action("SubmitLab", "Backstage")", JSON.stringify(ko.toJS(self)), function (json) {
|
$.messager.popup("保存成功 ");
|
window.location.href = "@Url.Action("Index", "Backstage")";
|
});
|
}
|
else { self.errors.showAllMessages(); }
|
}
|
ko.mapping.fromJS(data, {}, self)
|
}
|
</script>
|
<div class="container">
|
<div class="row">
|
<div class="col-xs-12">
|
<ol class="breadcrumb">
|
<li><a href="@Url.Action("Index","Backstage")">报名申请管理</a></li>
|
<li class="active">查看实验室</li>
|
</ol>
|
</div>
|
</div>
|
<div class="row" data-bind="with:Labinfo">
|
<table class="table table-bordered">
|
<tr class="active">
|
<td align="right" width="120">实验室名称:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:LabName" />
|
|
</td>
|
<td align="right" width="120">单位名称:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:CompanyName" />
|
|
</td>
|
</tr>
|
<tr class="active">
|
<td align="right" width="120">实验室代码:</td>
|
<td>
|
<input disabled name="" type="text" id="" style="width:100%;" data-bind="value:LabCode" />
|
|
</td>
|
<td align="right" width="120">用户名:</td>
|
<td>
|
<input disabled name="" type="text" id="" style="width:100%;" data-bind="value:LabLoginName" />
|
</td>
|
<td align="right" width="120">实验室密码:</td>
|
<td>
|
<button class="btn btn-default"
|
data-bind="click:fsPassword,style:{display:State()>0?'inline-block':'none'}">
|
重新发送密码
|
</button>
|
|
</td>
|
</tr>
|
<tr class="active">
|
<td align="right" width="120">地址:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:Address" />
|
|
</td>
|
<td align="right" width="120">省市(地区):</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:Province" />
|
</td>
|
<td align="right" width="120">邮编:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:PostCode" />
|
</td>
|
</tr>
|
<tr class="success">
|
<td align="right" width="120">负责人姓名:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:ManagerName" />
|
|
</td>
|
<td align="right" width="120">负责人固话:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:ManagerPhone" />
|
|
</td>
|
<td align="right" width="120">负责人传真:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:ManagerFax" />
|
|
</td>
|
</tr>
|
<tr class="success">
|
<td align="right" width="120">负责人手机:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:ManagerMobile" />
|
|
</td>
|
<td align="right" width="120">负责人邮箱:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:ManagerEmail" />
|
|
</td>
|
</tr>
|
<tr class="danger">
|
<td align="right" width="120">操作人姓名:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:OperatorName" />
|
|
</td>
|
<td align="right" width="120">操作人固话:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:OperatorPhone" />
|
|
</td>
|
<td align="right" width="120">操作人传真:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:OperatorFax" />
|
|
</td>
|
</tr>
|
<tr class="danger">
|
<td align="right" width="120">操作人手机:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:OperatorMobile" />
|
|
</td>
|
<td align="right" width="120">操作人邮箱:</td>
|
<td>
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:OperatorEmail" />
|
|
</td>
|
</tr>
|
<tr class="warning">
|
<td align="right" width="120">备注:</td>
|
<td colspan="5">
|
<input name="" type="text" id="" style="width:100%;" data-bind="value:Remarks" />
|
</td>
|
</tr>
|
<tr>
|
<td colspan="6">
|
<button class="btn btn-primary center-block" style="width:100%" data-bind="click:seve,style:{display:State()>0?'inline-block':'inline-block'}">保 存</button>
|
</td>
|
</tr>
|
</table>
|
</div>
|
</div>
|
<div class="container">
|
<div class="row" data-bind="with:Labinfo">
|
<div class="col-xs-12">
|
<form class="form-inline" data-bind="submit:similarLabQuery">
|
<div class="form-group">
|
<label for="companyName">单位名称</label>
|
<input type="text" data-bind="textInput:CompanyName" class="form-control" id="companyName" required>
|
</div>
|
<button type="submit" class="btn btn-default">模糊查询</button>
|
</form>
|
</div>
|
</div>
|
<div style="overflow: auto;">
|
<div style="width: 3000px; overflow: hidden;">
|
<table class="table table-responsive table-hover table-bordered">
|
<thead>
|
<tr>
|
<th width="80px;">操作</th>
|
<th>实验室名称</th>
|
<th>实验室代码</th>
|
<th>单位名称</th>
|
<th>用户名</th>
|
<th>地址</th>
|
<th>省市(地区)</th>
|
<th>邮编</th>
|
<th>实验室负责人姓名</th>
|
<th>实验室负责人固话</th>
|
<th>实验室负责人手机号码</th>
|
<th>实验室负责人邮箱</th>
|
</tr>
|
</thead>
|
<tbody data-bind="foreach:SimliarLabList">
|
<tr>
|
<td>
|
<button type="button" data-bind="click:useThisLab" class="btn btn-primary">确认</button>
|
</td>
|
<td><span data-bind="text:LabName"></span></td>
|
<td><span data-bind="text:LabCode"></span></td>
|
<td><span data-bind="text:CompanyName"></span></td>
|
<td><span data-bind="text:LabLoginName"></span></td>
|
<td><span data-bind="text:Address"></span></td>
|
<td><span data-bind="text:Province"></span></td>
|
<td><span data-bind="text:PostCode"></span></td>
|
<td><span data-bind="text:ManagerName"></span></td>
|
<td><span data-bind="text:ManagerPhone"></span></td>
|
<td><span data-bind="text:ManagerMobile"></span></td>
|
<td><span data-bind="text:ManagerEmail"></span></td>
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
|
</div>
|
</div>
|