Merge branch 'master' of http://118.178.224.202:3000/ewide/ewide_core
This commit is contained in:
@@ -98,6 +98,8 @@ namespace Ewide.Application.Service.HouseProjectInfo
|
|||||||
var areaCodeRep = Db.GetRepository<SysAreaCode>();
|
var areaCodeRep = Db.GetRepository<SysAreaCode>();
|
||||||
var projects = await _houseProjectInfoRep.DetachedEntities
|
var projects = await _houseProjectInfoRep.DetachedEntities
|
||||||
.Join(areaCodeRep.DetachedEntities, p => p.AreaCode, a => a.Code, (p, a) => new { p, AreaName = a.Name })
|
.Join(areaCodeRep.DetachedEntities, p => p.AreaCode, a => a.Code, (p, a) => new { p, AreaName = a.Name })
|
||||||
|
.Where(!string.IsNullOrEmpty(input.Name), x => x.p.Name.Contains(input.Name))
|
||||||
|
.Where(!string.IsNullOrEmpty(input.Note), x => x.p.Note.Contains(input.Note))
|
||||||
.Where(!string.IsNullOrEmpty(input.AreaCode), x => x.p.AreaCode == input.AreaCode)
|
.Where(!string.IsNullOrEmpty(input.AreaCode), x => x.p.AreaCode == input.AreaCode)
|
||||||
.Where(!string.IsNullOrEmpty(input.pid) , x=> x.p.AreaCode.Contains(input.pid))
|
.Where(!string.IsNullOrEmpty(input.pid) , x=> x.p.AreaCode.Contains(input.pid))
|
||||||
.Select(x => new { x.p.Id, x.p.Name, x.p.Note, x.p.Sort, x.p.AreaCode, x.AreaName, x.p.Type }.Adapt<HouseProjectOutput>()).ToPagedListAsync(input.PageNo, input.PageSize);
|
.Select(x => new { x.p.Id, x.p.Name, x.p.Note, x.p.Sort, x.p.AreaCode, x.AreaName, x.p.Type }.Adapt<HouseProjectOutput>()).ToPagedListAsync(input.PageNo, input.PageSize);
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ export default {
|
|||||||
houseProejctAdd: ['/houseProjectInfo/add', 'post'],
|
houseProejctAdd: ['/houseProjectInfo/add', 'post'],
|
||||||
houseProejctEdit: ['/houseProjectInfo/edit', 'post'],
|
houseProejctEdit: ['/houseProjectInfo/edit', 'post'],
|
||||||
houseProejctDelete: ['/houseProjectInfo/delete', 'post'],
|
houseProejctDelete: ['/houseProjectInfo/delete', 'post'],
|
||||||
houseProejctDetail:['/houseProjectInfo/detail','get']
|
houseProejctDetail: ['/houseProjectInfo/detail', 'get'],
|
||||||
|
houseProjectNextSort:['/houseProjectInfo/nextSort','get']
|
||||||
}
|
}
|
||||||
@@ -10,25 +10,27 @@
|
|||||||
<a-icon slot="indicator" spin type="loading" />
|
<a-icon slot="indicator" spin type="loading" />
|
||||||
<div class="yo-form-group">
|
<div class="yo-form-group">
|
||||||
<!-- 表单控件 -->
|
<!-- 表单控件 -->
|
||||||
<a-form-model-item label="所属区域" prop="areaCode">
|
<div class="p-md">
|
||||||
<!-- <a-tree-select :dropdown-style="{ maxHeight: '300px', overflow: 'auto' }" :tree-data="areaData" :replace-fields="{ value: 'code', title: 'name', children: 'children' }" placeholder="请选择所属区域" tree-default-expand-all v-model="form.areaId" /> -->
|
<a-alert message="tips:选择所属区域和类型之后,项目名称、项目序号自动生成,无需手动填写。项目备注请填写房屋所属单位的名称、道路的名称或大厦的名称,比如XX中学、XX大厦、XX小区等。登记项目时,应在项目备注中明确项目所指对象。" />
|
||||||
<a-cascader :field-names="{ label: 'name', value: 'code', children: 'children' }" :options="areaData" expand-trigger="hover" placeholder="请选择所属区域" v-model="form.areaCode" :display-render="displayRender" />
|
</div>
|
||||||
</a-form-model-item>
|
|
||||||
<a-form-model-item label="项目名称" prop="name">
|
|
||||||
<a-input placeholder="请输入项目名称" v-model="form.name" />
|
|
||||||
</a-form-model-item>
|
|
||||||
<a-form-model-item label="排序" prop="sort">
|
|
||||||
<a-input placeholder="请输入排序" v-model="form.sort"> </a-input>
|
|
||||||
</a-form-model-item>
|
|
||||||
<a-form-model-item label="备注" prop="note">
|
|
||||||
<a-textarea :rows="4" placeholder="请输入备注" v-model="form.note"></a-textarea>
|
|
||||||
</a-form-model-item>
|
|
||||||
<a-form-model-item label="类型" prop="type">
|
<a-form-model-item label="类型" prop="type">
|
||||||
<a-radio-group v-model="form.type">
|
<a-radio-group button-style="solid" v-model="form.type">
|
||||||
<a-radio-button :value="1"> 住宅 </a-radio-button>
|
<a-radio-button :value="1"> 住宅 </a-radio-button>
|
||||||
<a-radio-button :value="2"> 非住宅 </a-radio-button>
|
<a-radio-button :value="2"> 非住宅 </a-radio-button>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
<a-form-model-item label="所属区域" prop="areaCode">
|
||||||
|
<a-cascader :field-names="{ label: 'name', value: 'code', children: 'children' }" :options="areaData" expand-trigger="hover" placeholder="请选择所属区域" v-model="form.areaCode" :display-render="displayRender" @change="formAreaCodeChange" />
|
||||||
|
</a-form-model-item>
|
||||||
|
<a-form-model-item label="项目名称" prop="name">
|
||||||
|
<a-input placeholder="选择所属区域和类型之后自动生成" v-model="form.name" :disabled="true" />
|
||||||
|
</a-form-model-item>
|
||||||
|
<a-form-model-item label="序号" prop="sort">
|
||||||
|
<a-input placeholder="选择所属区域和类型之后自动生成" v-model="form.sort" :disabled="true"> </a-input>
|
||||||
|
</a-form-model-item>
|
||||||
|
<a-form-model-item label="备注" prop="note">
|
||||||
|
<a-textarea :rows="4" placeholder="请输入备注,填写房屋所属单位的名称、道路的名称或大厦的名称,比如XX中学、XX大厦、XX小区等。登记项目时,应在项目备注中明确项目所指对象。" v-model="form.note"></a-textarea>
|
||||||
|
</a-form-model-item>
|
||||||
<!-- ... -->
|
<!-- ... -->
|
||||||
</div>
|
</div>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
@@ -50,7 +52,7 @@ export default {
|
|||||||
note: [{ required: true, message: '请输入备注' }],
|
note: [{ required: true, message: '请输入备注' }],
|
||||||
name: [{ required: true, message: '请输入项目名称' }],
|
name: [{ required: true, message: '请输入项目名称' }],
|
||||||
sort: [{ required: true, message: '请输入排序' }],
|
sort: [{ required: true, message: '请输入排序' }],
|
||||||
areaCode: [{ required: true, message: '请选择所属区域' }],
|
areaCode: [{ required: true, message: '请选择所属区域,必须选到社区' }],
|
||||||
type: [{ required: true, message: '请选择类型' }],
|
type: [{ required: true, message: '请选择类型' }],
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -58,10 +60,42 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
/** 其他成员属性 */
|
/** 其他成员属性 */
|
||||||
areaData: [],
|
areaData: [],
|
||||||
|
intEntity: {},
|
||||||
/* ... */
|
/* ... */
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
created() {
|
||||||
|
// 用于监视复杂表达式的函数
|
||||||
|
this.$watch(
|
||||||
|
// 表达式 `this.a + this.b` 每次得出一个不同的结果时
|
||||||
|
// 处理函数都会被调用。
|
||||||
|
// 这就像监听一个未被定义的计算属性
|
||||||
|
() => [this.form.areaCode, this.form.type],
|
||||||
|
(newVal, oldVal) => {
|
||||||
|
// 做点什么
|
||||||
|
if (this.form.areaCode.length == 4 && this.form.type) {
|
||||||
|
if (this.intEntity.id && this.intEntity.type == this.form.type) {
|
||||||
|
this.$set(this.form, 'sort', this.intEntity.sort);
|
||||||
|
this.$set(this.form, 'name', this.intEntity.name);
|
||||||
|
} else {
|
||||||
|
this.loading = true;
|
||||||
|
this.$api
|
||||||
|
.houseProjectNextSort({ areaCode: this.form.areaCode[this.form.areaCode.length - 1], type: this.form.type })
|
||||||
|
.then((res) => {
|
||||||
|
this.$set(this.form, 'sort', res.data);
|
||||||
|
this.$set(this.form, 'name', '项目' + this.toChinesNum(res.data));
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$set(this.form, 'sort', this.intEntity.sort);
|
||||||
|
this.$set(this.form, 'name', this.intEntity.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/**
|
/**
|
||||||
* 必要的方法
|
* 必要的方法
|
||||||
@@ -102,6 +136,13 @@ export default {
|
|||||||
areaCode: areaCode.length == 4 ? areaCode : [],
|
areaCode: areaCode.length == 4 ? areaCode : [],
|
||||||
/* ... */
|
/* ... */
|
||||||
});
|
});
|
||||||
|
this.intEntity = this.$_.cloneDeep({
|
||||||
|
...defaultForm,
|
||||||
|
...params.record,
|
||||||
|
/** 在此处添加其他默认数据转换 */
|
||||||
|
areaCode: areaCode.length == 4 ? areaCode : [],
|
||||||
|
/* ... */
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -167,6 +208,30 @@ export default {
|
|||||||
displayRender({ labels }) {
|
displayRender({ labels }) {
|
||||||
return labels[labels.length - 1];
|
return labels[labels.length - 1];
|
||||||
},
|
},
|
||||||
|
toChinesNum(val) {
|
||||||
|
let num = parseInt(val);
|
||||||
|
let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
|
||||||
|
let unit = ['', '十', '百', '千', '万'];
|
||||||
|
let getWan = (temp) => {
|
||||||
|
let strArr = temp.toString().split('').reverse();
|
||||||
|
let newNum = '';
|
||||||
|
for (var i = 0; i < strArr.length; i++) {
|
||||||
|
newNum = (i == 0 && strArr[i] == 0 ? '' : i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? '' : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) + newNum;
|
||||||
|
}
|
||||||
|
return newNum;
|
||||||
|
};
|
||||||
|
let overWan = Math.floor(num / 10000);
|
||||||
|
let noWan = num % 10000;
|
||||||
|
if (noWan.toString().length < 4) noWan = '0' + noWan;
|
||||||
|
|
||||||
|
let chinanum = overWan ? getWan(overWan) + '万' + getWan(noWan) : getWan(num);
|
||||||
|
return chinanum;
|
||||||
|
},
|
||||||
|
formAreaCodeChange(val) {
|
||||||
|
if (val.length != 4) {
|
||||||
|
this.form.areaCode = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
/* ... */
|
/* ... */
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
<a-form-model-item label="项目名称">
|
<a-form-model-item label="项目名称">
|
||||||
<a-input placeholder="请输入项目名称" v-model="query.name" />
|
<a-input placeholder="请输入项目名称" v-model="query.name" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
<a-form-model-item label="项目备注">
|
||||||
|
<a-input placeholder="请输入项目名称" v-model="query.note" />
|
||||||
|
</a-form-model-item>
|
||||||
<!-- ... -->
|
<!-- ... -->
|
||||||
</Auth>
|
</Auth>
|
||||||
<Auth auth="authCode:add" slot="operator">
|
<Auth auth="authCode:add" slot="operator">
|
||||||
|
|||||||
Reference in New Issue
Block a user