update 房屋详情表单和巡查登记表单,除文件上传外的其他字段正常保存/更新/读取显示的实现

This commit is contained in:
2021-06-07 23:16:56 +08:00
parent c6ecf3bc3e
commit 2156f2d71c
16 changed files with 90 additions and 70 deletions

View File

@@ -398,7 +398,7 @@ namespace Ewide.Application
/// 房屋使用状态
/// </summary>
[Comment("房屋使用状态")]
public int? UsedStatus { get; set; }
public int? HouseUsedStatus { get; set; }
/// <summary>
/// 1、待建档需要建档的数据未暂存未保存的2、暂存点击了暂存的数据3、待提交点击了保存的数据 4、退回审核被退回的数据5、审核中6、审核通过

View File

@@ -299,7 +299,7 @@
房屋等级 1,2,3,4,C,d
</summary>
</member>
<member name="P:Ewide.Application.BsHouseInfo.UsedStatus">
<member name="P:Ewide.Application.BsHouseInfo.HouseUsedStatus">
<summary>
房屋使用状态
</summary>
@@ -920,7 +920,7 @@
房屋等级 1,2,3,4,C,d
</summary>
</member>
<member name="P:Ewide.Application.HouseInfoInput.UsedStatus">
<member name="P:Ewide.Application.HouseInfoInput.HouseUsedStatus">
<summary>
房屋使用状态
</summary>

View File

@@ -194,7 +194,7 @@ namespace Ewide.Application
/// <summary>
/// 房屋使用状态
/// </summary>
public int? UsedStatus { get; set; }
public int? HouseUsedStatus { get; set; }
#endregion
#region drawing

View File

@@ -27,14 +27,16 @@ namespace Ewide.Application.Service.HouseSafety.HouseInfo
private readonly IRepository<BsHouseCode> _houseCodeRep;
private readonly IRepository<BsHouseInfo> _houseInfoRep;
private readonly IRepository<BsHouseTask> _houseTaskRep;
private readonly IUserManager _userManager;
private readonly IDapperRepository _dapperRepository;
public HouseInfoService(IRepository<BsHouseCode> HouseCodeRep,IRepository<BsHouseInfo> HouseInfoRep, IUserManager userManager, IDapperRepository dapperRepository)
public HouseInfoService(IRepository<BsHouseCode> HouseCodeRep,IRepository<BsHouseInfo> HouseInfoRep, IRepository<BsHouseTask> HouseTaskRep, IUserManager userManager, IDapperRepository dapperRepository)
{
_houseCodeRep = HouseCodeRep;
_houseInfoRep = HouseInfoRep;
_houseTaskRep = HouseTaskRep;
_userManager = userManager;
_dapperRepository = dapperRepository;
}
@@ -74,9 +76,8 @@ namespace Ewide.Application.Service.HouseSafety.HouseInfo
[AllowAnonymous]
public async Task<HouseInfoOutputForDetailPage> GetByTaskId([Required] string taskId)
{
var houseTaskRep = Db.GetRepository<BsHouseTask>();
//获取任务实体
var houseTask = await houseTaskRep.DetachedEntities.FirstOrDefaultAsync(t=>t.Id == taskId);
var houseTask = await _houseTaskRep.DetachedEntities.FirstOrDefaultAsync(t=>t.Id == taskId);
if(houseTask == null) throw Oops.Oh("任务不存在");
//获取房屋编码信息
@@ -102,11 +103,10 @@ WHERE HC.Id=@HouseCodeId", new { houseTask.HouseCodeId }
HouseCode = houseCodeOutput
};
houseInfoOutputForDetailPage.PatrolInfo = new HouseTaskOutput
{
PatrolDate = houseTask.PatrolDate.GetValueOrDefault(DateTime.Now),
PatrolUser = String.IsNullOrEmpty(houseTask.PatrolUser) ? currentUser.Name : houseTask.PatrolUser
};
var taskOutput = houseTask.Adapt<HouseTaskOutput>();
taskOutput.PatrolDate = houseTask.PatrolDate.GetValueOrDefault(DateTime.Now);
taskOutput.PatrolUser = String.IsNullOrEmpty(houseTask.PatrolUser) ? currentUser.Name : houseTask.PatrolUser;
houseInfoOutputForDetailPage.PatrolInfo = taskOutput;
if (houseInfo == null)
{

View File

@@ -107,7 +107,7 @@ namespace Ewide.Application
}
public class EditHouseTaskInput
public class EditHouseTaskInput : HouseTaskInput
{
[Required(ErrorMessage = "任务Id不能为空")]
public string Id { get; set; }

View File

@@ -71,7 +71,7 @@ export default {
/** 验证格式 */
rules: {
/* ... */
'houseInfo.facadePhoto': [{ required: true, message: '请上传外立面照片' }],
// 'houseInfo.facadePhoto': [{ required: true, message: '请上传外立面照片' }],
},
/** 加载异步数据状态 */
@@ -135,7 +135,7 @@ export default {
/** 验证通过后可以对数据进行转换得到想要提交的格式 */
/* ... */
record.facadePhoto = record.facadePhoto.map((p) => p.response).join(',');
record.houseInfo.facadePhoto = record.houseInfo.facadePhoto.map((p) => p.response).join(',');
reslove(record);
} else {

View File

@@ -93,6 +93,10 @@ export default {
await this.onLoadCodes();
/** 将默认数据覆盖到form */
const record = this.param && this.param.record;
record.houseInfo.drawingMaterial = record.houseInfo.drawingMaterial
? record.houseInfo.drawingMaterial.split(',')
: ['1'];
const form = this.$_.cloneDeep(defaultForm);
if (record) {
@@ -114,6 +118,7 @@ export default {
const record = this.$_.cloneDeep(this.form);
/** 验证通过后可以对数据进行转换得到想要提交的格式 */
record.houseInfo.drawingMaterial = this.form.houseInfo.drawingMaterial.join(',');
/* ... */
reslove(record);

View File

@@ -43,7 +43,7 @@
<a-radio-group button-style="solid" v-model="form.houseInfo.houseUsedStatus">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseUsedStatus"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -52,7 +52,7 @@
<a-radio-group button-style="solid" v-model="form.houseInfo.houseGrade">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseGrade"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -68,8 +68,8 @@ const defaultForm = {
/* ... */
houseInfo: {
// identification: null,
houseUsedStatus: null,
houseGrade: null,
houseUsedStatus: '1',
houseGrade: '1',
},
};

View File

@@ -71,18 +71,18 @@ export default {
title: '图纸资料存档处',
component: () => import('./drawing'),
},
{
title: '相关附件资料',
component: () => import('./attachments'),
},
// {
// title: '物业维修资金',
// component: () => import('./fund'),
// title: '相关附件资料',
// component: () => import('./attachments'),
// },
// // {
// // title: '物业维修资金',
// // component: () => import('./fund'),
// // },
// {
// title: '建筑概貌',
// component: () => import('./aspect'),
// },
{
title: '建筑概貌',
component: () => import('./aspect'),
},
{
title: '调查单位',
component: () => import('./unit'),
@@ -103,10 +103,7 @@ export default {
const form = this.$refs.forms[i];
try {
const data = await form.onGetData();
formData = {
...formData,
...data,
};
formData = this.$_.defaultsDeep(formData, data);
} catch (e) {
flag = false;
reject(e);

View File

@@ -66,7 +66,7 @@
<a-radio-group button-style="solid" v-model="form.houseInfo.structuralDismantling">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseStructuralDismantling"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -77,7 +77,7 @@
<a-radio-group button-style="solid" v-model="form.houseInfo.addingLayer">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseAddingLayer"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -133,14 +133,14 @@
const defaultForm = {
/* ... */
houseInfo: {
houseSite: null,
adjacentConstruction: null,
chemicalErosion: null,
structuralDismantling: null,
addingLayer: null,
repairAndReinforce: null,
historicalCalamity: null,
functionalChange: null,
houseSite: ['1'],
adjacentConstruction: ['0'],
chemicalErosion: ['0'],
structuralDismantling: '0',
addingLayer: '0',
repairAndReinforce: ['0'],
historicalCalamity: ['0'],
functionalChange: ['0'],
otherContents: null,
},
};
@@ -222,6 +222,13 @@ export default {
/** 将默认数据覆盖到form */
const record = this.param && this.param.record;
record.houseInfo.houseSite = record.houseInfo.houseSite.split(',');
record.houseInfo.adjacentConstruction = record.houseInfo.adjacentConstruction.split(',');
record.houseInfo.chemicalErosion = record.houseInfo.chemicalErosion.split(',');
record.houseInfo.repairAndReinforce = record.houseInfo.repairAndReinforce.split(',');
record.houseInfo.historicalCalamity = record.houseInfo.historicalCalamity.split(',');
record.houseInfo.functionalChange = record.houseInfo.functionalChange.split(',');
const form = this.$_.cloneDeep(defaultForm);
if (record) {
@@ -243,6 +250,12 @@ export default {
const record = this.$_.cloneDeep(this.form);
/** 验证通过后可以对数据进行转换得到想要提交的格式 */
record.houseInfo.houseSite = this.form.houseInfo.houseSite.join(',');
record.houseInfo.adjacentConstruction = this.form.houseInfo.adjacentConstruction.join(',');
record.houseInfo.chemicalErosion = this.form.houseInfo.chemicalErosion.join(',');
record.houseInfo.repairAndReinforce = this.form.houseInfo.repairAndReinforce.join(',');
record.houseInfo.historicalCalamity = this.form.houseInfo.historicalCalamity.join(',');
record.houseInfo.functionalChange = this.form.houseInfo.functionalChange.join(',');
/* ... */
reslove(record);

View File

@@ -236,14 +236,14 @@ const defaultForm = {
/* ... */
houseInfo: {
propertyRights: null,
straightHouseCount: null,
selfHouseCount: null,
otherCount: null,
businessCount: null,
changeHouseCount: null,
resettlementHouseCount: null,
privateHouseCount: null,
houseCount: null,
straightHouseCount: 0,
selfHouseCount: 0,
otherCount: 0,
businessCount: 0,
changeHouseCount: 0,
resettlementHouseCount: 0,
privateHouseCount: 0,
houseCount: 0,
propertyUnit: null,
propertyUnitUser: null,
propertyUnitUserTel: null,

View File

@@ -22,7 +22,7 @@
<a-radio-group button-style="solid" v-model="form.patrolInfo.initGrade">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseInitGrade"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -33,7 +33,7 @@
<a-radio-group button-style="solid" v-model="form.patrolInfo.damageGrade">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseDamageGrade"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -44,7 +44,7 @@
<a-radio-group button-style="solid" v-model="form.patrolInfo.comprehensiveGrade">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.houseGrade"
>{{ item.value }}</a-radio-button>
</a-radio-group>

View File

@@ -22,7 +22,7 @@
<a-radio-group button-style="solid" v-model="form.patrolInfo.handlingOpinion">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.handlingOpinion"
>{{ item.value }}</a-radio-button>
</a-radio-group>
@@ -46,7 +46,7 @@
<a-radio-group button-style="solid" v-model="form.patrolInfo.rectifyAndReform">
<a-radio-button
:key="item.code"
:value="item.code"
:value="+item.code"
v-for="item in codes.rectifyAndReform"
>{{ item.value }}</a-radio-button>
</a-radio-group>

View File

@@ -52,10 +52,10 @@ export default {
title: '巡查基本情况',
component: () => import('./base'),
},
{
title: '房屋检查',
component: () => import('./inspection'),
},
// {
// title: '房屋检查',
// component: () => import('./inspection'),
// },
{
title: '等级划分',
component: () => import('./grade'),
@@ -84,10 +84,7 @@ export default {
const form = this.$refs.forms[i];
try {
const data = await form.onGetData();
formData = {
...formData,
...data,
};
formData = this.$_.defaultsDeep(formData, data);
} catch (e) {
flag = false;
reject(e);

View File

@@ -151,7 +151,7 @@ export default {
/** 验证通过后可以对数据进行转换得到想要提交的格式 */
/* ... */
record.facadePhoto = record.facadePhoto.map((p) => p.response).join(',');
//record.facadePhoto = record.facadePhoto.map((p) => p.response).join(',');
reslove(record);
} else {

View File

@@ -20,12 +20,15 @@
<a-col :span="24">
<a-form-model-item class="ant-row-flex" label="正常与否" prop="patrolInfo.patrolResult">
<a-radio-group button-style="solid" v-model="form.patrolInfo.patrolResult">
<a-radio-button value="0">正常</a-radio-button>
<a-radio-button value="-1">异常</a-radio-button>
<a-radio-button
:key="item.code"
:value="+item.code"
v-for="item in codes.patrolResult"
>{{ item.value }}</a-radio-button>
</a-radio-group>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-col :span="24" v-show="form.patrolInfo.patrolResult == -1">
<a-form-model-item
class="ant-row-flex"
label="异常情况描述"
@@ -47,7 +50,7 @@
const defaultForm = {
/* ... */
patrolInfo: {
patrolResult: '0',
patrolResult: '"0"',
patrolResultRemark: null,
},
};
@@ -75,7 +78,12 @@ export default {
/** 其他成员属性 */
/* ... */
codes: {},
codes: {
patrolResult: [
{ code: '0', value: '正常' },
{ code: '-1', value: '异常' },
],
},
};
},