'use strict';
var currentcontext;
var hostcontext;
var hostweb;
var allSurveys;
var hostUrl;
var list;
var allProducts;
var allCustomers;
var field = null;
(function () {
$(document).ready(function () {
hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
currentcontext = new SP.ClientContext.get_current();
hostcontext = new SP.AppContextSite(currentcontext, hostUrl);
hostweb=hostcontext.get_web();
fixNavgation();
getSurvey();
getProduct();
getCustomer();
getSelf();
$("#btn_survey_add").click(function(){
showModal();
return false;
});
$("#btn_survey_add_submit").click(function(){
addSurvey();
return false;
});
});
function showModal()
{
$("#modal_survey_add").modal("show");
}
function addSurvey()
{
list = hostweb.get_lists().getByTitle("Surveys");
var itemCreateInfo = new SP.ListItemCreationInformation();
var item = list.addItem(itemCreateInfo);
item.set_item("Title", $("#txt_survey_salesrepname").val());
item.set_item("Cleanliness",$("#sel_survey_cleanliness").val());
item.set_item("Lighting",$("#sel_survey_lighting").val());
item.set_item("ShelfPlacement",$("#sel_survey_shelfplacement").val());
item.set_item("AislePlacement",$("#sel_survey_aisleplacement").val());
var customerValue = new SP.FieldLookupValue();
customerValue.set_lookupId($("#sel_survey_customer").val());
item.set_item("Customer",customerValue);
var productValue = new SP.FieldLookupValue();
productValue.set_lookupId($("#sel_survey_product").val());
item.set_item("Product",productValue);
item.update();
currentcontext.load(item);
currentcontext.executeQueryAsync(
successAddHandler,
errorAddHandler
);
}
function successAddHandler(data, req) {
alert("添加成功!");
$("#modal_survey_add").modal("hide");
getSurvey();
getProduct();
getCustomer();
}
function errorAddHandler(sender, args) {
alert("Error: " + args.get_message());
}
function getSurvey()
{
list = hostweb.get_lists().getByTitle("Surveys");
var camlString = "";
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(camlString);
allSurveys = list.getItems(camlQuery);
currentcontext.load(allSurveys);
currentcontext.executeQueryAsync(
successGetHandler, errorGetHandler
);
}
function successGetHandler(data, req) {
//alert(allSurveys.get_count());
var surveysHTML = "";
var enumerator = allSurveys.getEnumerator();
while (enumerator.moveNext()) {
var survey = enumerator.get_current();
surveysHTML = surveysHTML +
"<tr><td>" + survey.get_id() +
"</td><td>" + survey.get_item("Title") +
"</td><td>" + survey.get_item("Cleanliness") +
"</td><td>" + survey.get_item("Lighting") +
"</td><td>" + survey.get_item("ShelfPlacement") +
"</td><td>" + survey.get_item("AislePlacement") +
"</td><td>" + survey.get_item("Customer").get_lookupValue() +
"</td><td>" + survey.get_item("Product").get_lookupValue() +
"</td></tr>";
}
$("#survey_data_body").empty();
document.getElementById("survey_data_body").innerHTML =
surveysHTML;
}
function errorGetHandler(sender, args) {
alert("Error: " + args.get_message());
}
function getProduct()
{
list = hostweb.get_lists().getByTitle("Products");
var camlString = "";
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(camlString);
allProducts = list.getItems(camlQuery);
currentcontext.load(allProducts);
currentcontext.executeQueryAsync(
successGetProductHandler, errorGetProductHandler
);
}
function successGetProductHandler(data, req) {
var productsHTML = "";
var enumerator = allProducts.getEnumerator();
while (enumerator.moveNext()) {
var product = enumerator.get_current();
productsHTML = productsHTML +
"<option value='" + product.get_id() + "'>" + product.get_item("Title") + "</option>";
}
$("#sel_survey_product").empty();
document.getElementById("sel_survey_product").innerHTML =
productsHTML;
}
function errorGetProductHandler(sender, args) {
alert("Error: " + args.get_message());
}
/*加载下拉列表值*/
function getSelf() {
list = hostweb.get_lists().getByTitle("Surveys");
field = currentcontext.castTo(list.get_fields().getByInternalNameOrTitle("Lighting"), SP.FieldChoice);
currentcontext.load(field);
currentcontext.executeQueryAsync(ReadChoiceSuccess, ReadChoiceFailure);
}
/*加载下拉列表值*/
function ReadChoiceSuccess(sender, args) {
var choices = field.get_choices();
}
function ReadChoiceFailure(sender, args) {
alert("f")
}
function getCustomer()
{
list = hostweb.get_lists().getByTitle("Customers");
var camlString = "";
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(camlString);
allCustomers = list.getItems(camlQuery);
currentcontext.load(allCustomers);
currentcontext.executeQueryAsync(
successGetCustomerHandler, errorGetCustomerHandler
);
}
function successGetCustomerHandler(data, req) {
var customersHTML = "";
var enumerator = allCustomers.getEnumerator();
while (enumerator.moveNext()) {
var customer = enumerator.get_current();
customersHTML = customersHTML +
"<option value='" + customer.get_id() + "'>" + customer.get_item("Title") + "</option>";
}
$("#sel_survey_customer").empty();
document.getElementById("sel_survey_customer").innerHTML =
customersHTML;
}
function errorGetCustomerHandler(sender, args) {
alert("Error: " + args.get_message());
}
function getQueryStringParameter(paramToRetrieve) {
var params =
document.URL.split("?")[1].split("&");
//var strParams = "";
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split("=");
if (singleParam[0] == paramToRetrieve)
return singleParam[1];
}
}
function fixNavgation()
{
$("#href_product").attr("href","Products.aspx"+window.location.search);
$("#href_customer").attr("href","Customers.aspx"+window.location.search);
$("#href_survey").attr("href","Default.aspx"+window.location.search);
}
})();