Former-commit-id: 7885803e16f1ec65869039a376c9e4ed2bb92de7
Former-commit-id: 6262509d53a0d6b13538392c3f85ff247d78c12e
TSXN
wanggang 5 years ago
parent d770402680
commit 0e71c9ba7f

@ -56,13 +56,7 @@ namespace Infrastructure.Web.Mvc
.ToList());
ViewData["EntityTypeExt"] = typeof(TEntity);
ViewData["ModelTypeExt"] = typeof(TDisplayModel);
if (this.Request.Headers["accept"].ToString().Contains("json", StringComparison.OrdinalIgnoreCase))
{
model.ViewData = ViewData;
model.Schema = this.GetSchema();
return Json(model, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
}
return View(model);
return Result(model);
}
[HttpGet]
@ -81,7 +75,7 @@ namespace Infrastructure.Web.Mvc
{
var model = Activator.CreateInstance<TEditModel>();
this.ToEditModel(null, model);
return View(model);
return Result(model);
}
[HttpPost]
@ -105,7 +99,7 @@ namespace Infrastructure.Web.Mvc
}
}
this.ToEditModel(null, model);
return View(model);
return Result(model);
}
[HttpGet]
@ -116,7 +110,7 @@ namespace Infrastructure.Web.Mvc
var entity = query.FirstOrDefault(o => o.Id == id);
var model = entity.To<TEditModel>();
this.ToEditModel(entity, model);
return View(model);
return Result(model);
}
[HttpPost]
@ -142,7 +136,7 @@ namespace Infrastructure.Web.Mvc
}
}
this.ToEditModel(entity, model);
return View(model);
return Result(model);
}
[HttpPost]
@ -295,14 +289,14 @@ namespace Infrastructure.Web.Mvc
{
if (this.Request.Headers["accept"].ToString().Contains("json", StringComparison.OrdinalIgnoreCase))
{
return Json(model);
return Json(new
{
schema = this.GetJsonSchema<TEditModel>(),
model,
data = ViewData
}, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
}
return View(model);
}
public object GetSchema()
{
return this.GetJsonSchema<TEditModel>();
}
}
}

@ -10,9 +10,9 @@
<div class="row">
<div class="col-12 col-sm-6 col-md-4 col-lg-3" v-for="(value,key,index) in data.schema.properties" v-if="showForQuery(key,value)">
<div class="form-group row">
<label class="col-sm-3 col-form-label" :for="key" :title="value.type+value.format">{{value.title}}:</label>
<label class="col-sm-3 col-form-label" :for="key">{{value.title}}:</label>
<div class="col-sm-9">
<component :is="getQueryComponent(value)" :title="value.title" :name="'query.'+key" :value="data.query[key]" v-if="data.query" />
<component :is="getQueryComponent(value)" :title="value.title" :name="'model.query.'+key" :value="data.model.query[key]" v-if="data.model.query" />
</div>
</div>
</div>
@ -44,12 +44,12 @@
</tr>
</thead>
<tbody>
<tr v-for="item in data.list">
<tr v-for="item in data.model.list">
<td>
<input type="checkbox" name="list[]" :value="item.Id" />
</td>
<td v-for="(value,key,index) in data.schema.properties" v-if="key!=='id'">
<component :is="getDisplayComponent(key)" v-bind:key="key" v-bind:value="item[key]" v-bind:data="data.viewData" />
<component :is="getDisplayComponent(key)" v-bind:key="key" v-bind:value="item[key]" v-bind:data="data.data" />
</td>
<td v-if="hasPermission('Edit')">
<a href="javascript:;" class="btn btn-sm btn-info">编辑</a>
@ -60,7 +60,7 @@
</div>
</div>
<!--page list-->
<pagination :nav="load" :index="data.pageIndex" :size="data.pageSize" :total="data.totalCount" />
<pagination :nav="load" :index="data.model.pageIndex" :size="data.model.pageSize" :total="data.model.totalCount" />
</div>
</div>
</div>
@ -76,28 +76,33 @@
url: '/IoTCenter/Admin/' + this.$route.query.entity + '/Index',
entity: this.$route.query.entity,
data: {
pageIndex: 1,
pageSize: 20,
list: [],
schema: {}
schema: {
title: ''
},
model: {
pageIndex: 1,
pageSize: 20,
list: [],
},
data: {}
}
}
},
mounted: function () {
this.load(this.data.pageIndex, this.data.pageSize);
this.load(this.data.model.pageIndex, this.data.model.pageSize);
},
methods: {
load: function (index, size) {
if (index) {
this.data.pageIndex = index;
this.data.model.pageIndex = index;
}
if (size) {
this.data.pageSize = size;
this.data.model.pageSize = size;
}
var vm = this;
var url = config.baseUrl + this.url;
var query = $("form.query").serialize();
var page = 'pageIndex=' + this.data.pageIndex + '&pageSize=' + this.data.pageSize;
var page = 'pageIndex=' + this.data.model.pageIndex + '&pageSize=' + this.data.model.pageSize;
if (query) {
url += '?' + query + '&' + page;
}

Loading…
Cancel
Save