Update区域更新和新增时是否有重复

This commit is contained in:
2021-05-06 10:52:07 +08:00
parent 9ca1b0a2bf
commit 9146a96130
5 changed files with 25 additions and 10 deletions

View File

@@ -32,6 +32,7 @@ namespace Ewide.Core.Service.Area
public async Task AddAreaCode(AreaCodeInput input)
{
CheckInput(input);
CheckArea(input);
await _areaCodeRep.InsertNowAsync(input.Adapt<SysAreaCode>());
await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
}
@@ -112,6 +113,7 @@ namespace Ewide.Core.Service.Area
public async Task UpdateAreaCode(AreaCodeInput input)
{
CheckInput(input);
CheckArea(input);
var area = input.Adapt<SysAreaCode>();
await area.UpdateNowAsync();
await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
@@ -126,5 +128,15 @@ namespace Ewide.Core.Service.Area
//检查是否有子节点
return true;
}
private bool CheckArea(AreaCodeInput input)
{
var any = _areaCodeRep.DetachedEntities.Any(p => p.AdCode == input.AdCode && p.Code != input.Code);
if (any)
{
throw Oops.Oh("区域编码重复");
}
return true;
}
}
}

View File

@@ -32,6 +32,7 @@ export default {
this.visible = true;
this.$nextTick(() => {
this.formBody.onInit();
});
},

View File

@@ -14,6 +14,7 @@ export default {
return {
visible: false,
confirmLoading: false,
};
},

View File

@@ -9,14 +9,14 @@
<a-select-option :key="i" :value="item.code" v-for="(item, i) in levelType">{{ item.value }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="区域名称" prop="name">
<a-form-model-item label="名称" prop="name">
<a-input placeholder="请输入区域名称" v-model="form.name" />
</a-form-model-item>
<a-form-model-item label="参数编码" prop="code">
<a-input placeholder="请输入参数编码" v-model="form.code" />
<a-form-model-item label="编码" prop="code" >
<a-input placeholder="请输入参数编码" :disabled="exist" v-model="form.code" />
</a-form-model-item>
<a-form-model-item label="显示编码" prop="showCode">
<a-input placeholder="请输入显示编码" v-model="form.showCode" />
<a-form-model-item label="区域编码" prop="adCode">
<a-input placeholder="请输入显示编码" v-model="form.adCode" />
</a-form-model-item>
<a-form-model-item label="排序" prop="sort">
<a-input-number :max="1000" :min="0" class="w-100-p" placeholder="请输入排序" v-model="form.sort" />
@@ -34,14 +34,14 @@ export default {
return {
/** 表单数据 */
form: {},
exist:false,
/** 验证格式 */
rules: {
levelType: [{ required: true, message: '请选择参数类型' }],
name: [{ required: true, message: '请输入参数名称' }],
code: [{ required: true, message: '请输入参数编码' }],
showCode: [{ required: true, message: '请输入显示编码' }],
adCode: [{ required: true, message: '请输入参数编码' }],
code: [{ required: true, message: '请输入显示编码' }],
},
/** 加载异步数据状态 */
loading: false,
/** 其他成员属性 */
@@ -57,6 +57,7 @@ export default {
* 在打开编辑页时允许填充数据
*/
onFillData(record) {
this.exist = true;
/** 将默认数据覆盖到form */
this.form = this.$_.cloneDeep({
...record,

View File

@@ -79,8 +79,8 @@ export default {
sorter: true,
},
{
title: '显示编号',
dataIndex: 'showCode',
title: '区域编号',
dataIndex: 'adCode',
sorter: true,
},
{