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) public async Task AddAreaCode(AreaCodeInput input)
{ {
CheckInput(input); CheckInput(input);
CheckArea(input);
await _areaCodeRep.InsertNowAsync(input.Adapt<SysAreaCode>()); await _areaCodeRep.InsertNowAsync(input.Adapt<SysAreaCode>());
await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync()); await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
} }
@@ -112,6 +113,7 @@ namespace Ewide.Core.Service.Area
public async Task UpdateAreaCode(AreaCodeInput input) public async Task UpdateAreaCode(AreaCodeInput input)
{ {
CheckInput(input); CheckInput(input);
CheckArea(input);
var area = input.Adapt<SysAreaCode>(); var area = input.Adapt<SysAreaCode>();
await area.UpdateNowAsync(); await area.UpdateNowAsync();
await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync()); await _sysCacheService.SetAreaCode(await _areaCodeRep.DetachedEntities.ToListAsync());
@@ -126,5 +128,15 @@ namespace Ewide.Core.Service.Area
//检查是否有子节点 //检查是否有子节点
return true; 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.visible = true;
this.$nextTick(() => { this.$nextTick(() => {
this.formBody.onInit(); this.formBody.onInit();
}); });
}, },

View File

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

View File

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