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

@@ -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: '异常' },
],
},
};
},