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

View File

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

View File

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

View File

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

View File

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

View File

@@ -71,7 +71,7 @@ export default {
/** 验证格式 */ /** 验证格式 */
rules: { 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); reslove(record);
} else { } else {

View File

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

View File

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

View File

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

View File

@@ -66,7 +66,7 @@
<a-radio-group button-style="solid" v-model="form.houseInfo.structuralDismantling"> <a-radio-group button-style="solid" v-model="form.houseInfo.structuralDismantling">
<a-radio-button <a-radio-button
:key="item.code" :key="item.code"
:value="item.code" :value="+item.code"
v-for="item in codes.houseStructuralDismantling" v-for="item in codes.houseStructuralDismantling"
>{{ item.value }}</a-radio-button> >{{ item.value }}</a-radio-button>
</a-radio-group> </a-radio-group>
@@ -77,7 +77,7 @@
<a-radio-group button-style="solid" v-model="form.houseInfo.addingLayer"> <a-radio-group button-style="solid" v-model="form.houseInfo.addingLayer">
<a-radio-button <a-radio-button
:key="item.code" :key="item.code"
:value="item.code" :value="+item.code"
v-for="item in codes.houseAddingLayer" v-for="item in codes.houseAddingLayer"
>{{ item.value }}</a-radio-button> >{{ item.value }}</a-radio-button>
</a-radio-group> </a-radio-group>
@@ -133,14 +133,14 @@
const defaultForm = { const defaultForm = {
/* ... */ /* ... */
houseInfo: { houseInfo: {
houseSite: null, houseSite: ['1'],
adjacentConstruction: null, adjacentConstruction: ['0'],
chemicalErosion: null, chemicalErosion: ['0'],
structuralDismantling: null, structuralDismantling: '0',
addingLayer: null, addingLayer: '0',
repairAndReinforce: null, repairAndReinforce: ['0'],
historicalCalamity: null, historicalCalamity: ['0'],
functionalChange: null, functionalChange: ['0'],
otherContents: null, otherContents: null,
}, },
}; };
@@ -222,6 +222,13 @@ export default {
/** 将默认数据覆盖到form */ /** 将默认数据覆盖到form */
const record = this.param && this.param.record; 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); const form = this.$_.cloneDeep(defaultForm);
if (record) { if (record) {
@@ -243,6 +250,12 @@ export default {
const record = this.$_.cloneDeep(this.form); 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); reslove(record);

View File

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

View File

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

View File

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

View File

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

View File

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