Browse Source

新增,编辑,详情使用一个组件/智能搜索房屋接口联调/

V1.0
mk 2 years ago
parent
commit
95a16814d1
  1. 105
      src/views/modules/base/residentManagement/resiDisability/addForm.vue
  2. 22
      src/views/modules/base/residentManagement/resiDisability/resiDisability.vue
  3. 1
      src/views/modules/cpts/base/index.vue
  4. 7
      src/views/modules/shequ/chaxun.vue
  5. 44
      src/views/modules/shequ/cpts/smatr-rules.vue

105
src/views/modules/base/residentManagement/resiDisability/addForm.vue

@ -24,10 +24,13 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="联系电话"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">联系电话: </span>
<span>{{ formData.mobile || "--" }}</span>
</div>
<el-form-item label-width="100px" label="联系电话" v-else>
<el-input <el-input
v-model="formData.mobile" v-model="formData.mobile"
placeholder="请输入" placeholder="请输入"
@ -39,7 +42,11 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="证件类型" prop="idType"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">证件类型: </span>
<span>{{ formData.idTypeName || "--" }}</span>
</div>
<el-form-item label-width="100px" label="证件类型" prop="idType" v-else>
<el-select v-model="formData.idType" clearable> <el-select v-model="formData.idType" clearable>
<el-option <el-option
v-for="item in dicts.idCard_type" v-for="item in dicts.idCard_type"
@ -52,7 +59,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="证件号" prop="idNum"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">证件号: </span>
<span>{{ formData.idNum || "--" }}</span>
</div>
<el-form-item label-width="100px" label="证件号" prop="idNum" v-else>
<el-input <el-input
v-model="formData.idNum" v-model="formData.idNum"
placeholder="请输入" placeholder="请输入"
@ -64,7 +75,13 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="性别"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">性别: </span>
<span>{{ formData.gender?formData.gender=='1'?'男':formData.gender=='2'?'女':'--':'--' }}</span
>
</div>
<el-form-item label-width="100px" label="性别" v-else>
<el-select v-model="formData.gender" clearable> <el-select v-model="formData.gender" clearable>
<el-option <el-option
v-for="item in genderList" v-for="item in genderList"
@ -77,7 +94,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="本地户籍"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">本地户籍: </span>
<span>{{ formData.localResidenceFlag?formData.localResidenceFlag=='1'?'是':formData.localResidenceFlag=='0'?'否':'--':'--' }}</span
>
</div>
<el-form-item label-width="100px" label="本地户籍" v-else>
<el-select v-model="formData.localResidenceFlag" clearable> <el-select v-model="formData.localResidenceFlag" clearable>
<el-option <el-option
v-for="item in binaryOptionList" v-for="item in binaryOptionList"
@ -93,7 +115,11 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label-width="100px" label="户籍地址" class="wd-wr"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">户籍地址: </span>
<span>{{ formData.placeOfDomicile || "--" }}</span>
</div>
<el-form-item label-width="100px" label="户籍地址" class="wd-wr" v-else>
<el-input <el-input
v-model="formData.placeOfDomicile" v-model="formData.placeOfDomicile"
placeholder="请输入" placeholder="请输入"
@ -105,7 +131,11 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label-width="100px" label="现居地址" class="wd-wr"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">现居地址: </span>
<span>{{ formData.currentResidence || "--" }}</span>
</div>
<el-form-item label-width="100px" label="现居地址" class="wd-wr" v-else>
<el-input <el-input
v-model="formData.currentResidence" v-model="formData.currentResidence"
placeholder="请输入" placeholder="请输入"
@ -117,7 +147,11 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="残疾类别"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">残疾类别: </span>
<span>{{ formData.disabilityCategoryName || "--" }}</span>
</div>
<el-form-item label-width="100px" label="残疾类别" v-else>
<el-select v-model="formData.disabilityCategoryCode" clearable> <el-select v-model="formData.disabilityCategoryCode" clearable>
<el-option <el-option
v-for="item in dicts.disability_category_code" v-for="item in dicts.disability_category_code"
@ -130,7 +164,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="残疾级别"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">残疾级别: </span>
<span>{{ formData.disabilityLevelName || "--" }}</span>
</div>
<el-form-item label-width="100px" label="残疾级别" v-else>
<el-select v-model="formData.disabilityLevel" clearable> <el-select v-model="formData.disabilityLevel" clearable>
<el-option <el-option
v-for="item in dicts.disability_level" v-for="item in dicts.disability_level"
@ -146,7 +184,11 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="残疾证号" > <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">残疾证号: </span>
<span>{{ formData.disabilityNum || "--" }}</span>
</div>
<el-form-item label-width="100px" label="残疾证号" v-else>
<el-input <el-input
v-model="formData.disabilityNum" v-model="formData.disabilityNum"
placeholder="请输入" placeholder="请输入"
@ -155,7 +197,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="低保"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">低保: </span>
<span>{{ formData.subsistenceAllowanceFlag?formData.subsistenceAllowanceFlag=='1'?'是':formData.subsistenceAllowanceFlag=='0'?'否':'--':'--' }}</span
>
</div>
<el-form-item label-width="100px" label="低保" v-else>
<el-select v-model="formData.subsistenceAllowanceFlag" clearable> <el-select v-model="formData.subsistenceAllowanceFlag" clearable>
<el-option <el-option
v-for="item in binaryOptionList" v-for="item in binaryOptionList"
@ -171,7 +218,11 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="退休金额" > <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">退休金额: </span>
<span>{{ formData.retirementAmount || "--" }}</span>
</div>
<el-form-item label-width="100px" label="退休金额" v-else>
<el-input <el-input
v-model="formData.retirementAmount" v-model="formData.retirementAmount"
placeholder="请输入" placeholder="请输入"
@ -180,7 +231,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="月收入"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">月收入: </span>
<span>{{ formData.monthIncome || "--" }}</span>
</div>
<el-form-item label-width="100px" label="月收入" v-else>
<el-input <el-input
v-model="formData.monthIncome" v-model="formData.monthIncome"
placeholder="请输入" placeholder="请输入"
@ -192,7 +247,11 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="联系人" > <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">联系人: </span>
<span>{{ formData.contactName || "--" }}</span>
</div>
<el-form-item label-width="100px" label="联系人" v-else>
<el-input <el-input
v-model="formData.contactName" v-model="formData.contactName"
placeholder="请输入" placeholder="请输入"
@ -201,7 +260,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label-width="100px" label="联系电话"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">联系电话: </span>
<span>{{ formData.contactMobile || "--" }}</span>
</div>
<el-form-item label-width="100px" label="联系电话" v-else>
<el-input <el-input
v-model="formData.contactMobile" v-model="formData.contactMobile"
placeholder="请输入" placeholder="请输入"
@ -213,7 +276,11 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label-width="100px" label="备注" class="wd-wr"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">备注: </span>
<span>{{ formData.remark || "--" }}</span>
</div>
<el-form-item label-width="100px" label="备注" class="wd-wr" v-else>
<el-input <el-input
v-model="formData.remark" v-model="formData.remark"
placeholder="请输入" placeholder="请输入"
@ -247,6 +314,10 @@ let loading; // 加载动画
export default { export default {
props: { props: {
formType:{
type:String,
default:'add'
},
source: { source: {
//manage visiual //manage visiual
type: String, type: String,

22
src/views/modules/base/residentManagement/resiDisability/resiDisability.vue

@ -445,7 +445,7 @@
@handleClose="handleClose" @handleClose="handleClose"
></add-form> ></add-form>
</el-dialog> </el-dialog>
<el-dialog <!-- <el-dialog
v-if="showDetail" v-if="showDetail"
:visible.sync="showDetail" :visible.sync="showDetail"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -462,7 +462,7 @@
@diaDetailClose="diaDetailClose" @diaDetailClose="diaDetailClose"
> >
</detail-form> </detail-form>
</el-dialog> </el-dialog> -->
</div> </div>
</template> </template>
@ -473,12 +473,11 @@ import nextTick from "dai-js/tools/nextTick";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import axios from "axios"; import axios from "axios";
import addForm from "./addForm"; import addForm from "./addForm";
import detailForm from "./detailForm"; // import detailForm from "./detailForm";
// import editForm from "./editForm";
export default { export default {
// editForm // detailForm
components: { addForm, detailForm }, components: { addForm },
data() { data() {
let endDisabledDate = (time) => { let endDisabledDate = (time) => {
@ -536,7 +535,7 @@ export default {
showAdd: false, showAdd: false,
showEdit: false, showEdit: false,
showDetail: false, // showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情", detailDiaTitle: "详情",
@ -604,12 +603,16 @@ export default {
this.addDiaTitle = "新增"; this.addDiaTitle = "新增";
this.formType = "add"; this.formType = "add";
this.showAdd = true; this.showAdd = true;
}, },
// //
async handleDetail(row) { async handleDetail(row) {
this.detailDiaTitle = "详情"; this.addDiaTitle = "详情";
this.showDetail = true; this.showDetail = true;
this.formType = "add";
this.showAdd = true;
this.$nextTick(() => {
this.$refs.ref_add_form.initForm("detail", row);
});
}, },
// //
diaDetailClose() { diaDetailClose() {
@ -628,7 +631,6 @@ export default {
this.showAdd = false; this.showAdd = false;
this.showDetail = false; this.showDetail = false;
this.showEdit = false; this.showEdit = false;
}, },
// //
handleOk() { handleOk() {

1
src/views/modules/cpts/base/index.vue

@ -33,6 +33,7 @@
</el-option> </el-option>
</el-select> </el-select>
</template> </template>
<template v-else-if="item.type == 'cascader'"> <template v-else-if="item.type == 'cascader'">
<el-cascader v-model="item.value" <el-cascader v-model="item.value"
:placeholder="item.placeholder || '请选择'" :placeholder="item.placeholder || '请选择'"

7
src/views/modules/shequ/chaxun.vue

@ -547,7 +547,10 @@ export default {
this.searchStatus = "ing"; this.searchStatus = "ing";
}, },
async getRulesList() { async getRulesList() {
let url = "/actual/base/residentBaseInfo/residentSearchRules"; let url =
this.searchData.type == "jumin"
? "/actual/base/residentBaseInfo/residentSearchRules"
: "/actual/base/communityHouse/houseSearchRules";
let formData = new FormData(); let formData = new FormData();
formData.append("searchKey", this.searchData.searchKey); formData.append("searchKey", this.searchData.searchKey);
formData.append("type", this.searchData.type); formData.append("type", this.searchData.type);
@ -641,7 +644,7 @@ export default {
}, },
async getSearchFangwu() { async getSearchFangwu() {
const url = "/actual/base/communityHouse/communitySearch"; const url = "/actual/base/communityHouse/houseSearch";
const { const {
searchData: { searchKey }, searchData: { searchKey },
searchFangwu: { pageSize, pageNo }, searchFangwu: { pageSize, pageNo },

44
src/views/modules/shequ/cpts/smatr-rules.vue

@ -20,7 +20,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="字段类别" align="center" width="120"> <el-table-column label="字段类别" align="center" width="120">
<template slot-scope="scope" v-if="scope.row.dataSource == 'resi'"> <template slot-scope="scope">
<el-select <el-select
v-model="scope.row.itemGroupId" v-model="scope.row.itemGroupId"
placeholder="请选择" placeholder="请选择"
@ -49,10 +49,8 @@
<el-option <el-option
v-for="item in scope.row.itemIdOpction" v-for="item in scope.row.itemIdOpction"
:label="item.label" :label="item.label"
:value=" :value="item.itemId"
scope.row.dataSource == 'resi' ? item.itemId : item.colKey :key="item.itemId"
"
:key="scope.row.dataSource == 'resi' ? item.itemId : item.colKey"
> >
</el-option> </el-option>
</el-select> </el-select>
@ -247,8 +245,10 @@ export default {
policyFlag: "1", policyFlag: "1",
}; };
} else if (row.dataSource === "house") { } else if (row.dataSource === "house") {
url = "/governance/policy/item-list/house"; url = "/oper/customize/icformitemgroup/list";
params = {}; params = {
formCode: "community_info",
};
} }
if (url && params) { if (url && params) {
@ -279,12 +279,19 @@ export default {
// //
async handleChangeFieldsType(row, index, type) { async handleChangeFieldsType(row, index, type) {
console.log(row, index, "字段类别row"); console.log(row, index, "字段类别row");
if (row.dataSource != "resi") return; //
const url = "/oper/customize/icformitem/getItemListV2"; const url = "/oper/customize/icformitem/getItemListV2";
let params = { let params;
if (row.dataSource != "resi") {
params = {
groupId: row.itemGroupId,
};
} else {
params = {
groupId: row.itemGroupId, groupId: row.itemGroupId,
policyFlag: "1", policyFlag: "1",
}; };
}
console.log(this.tableData[index], index); console.log(this.tableData[index], index);
this.hadeleClearForm(this.tableData[index], index); this.hadeleClearForm(this.tableData[index], index);
if (!type) { if (!type) {
@ -307,29 +314,20 @@ export default {
async handleChangeFieldsName(row, index) { async handleChangeFieldsName(row, index) {
console.log(row, "字段名称row"); console.log(row, "字段名称row");
var arr = []; var arr = [];
// colKeycolumnName
if (row.dataSource == "house" || row.dataSource == "stat") {
arr = row.itemIdOpction.filter((item) => item.colKey == row.itemId);
this.tableData[index].tableName = arr[0].tableName;
this.tableData[index].colKey = arr[0].colKey;
} else if (row.dataSource == "resi" && row.itemId != "") {
arr = row.itemIdOpction.filter((item) => item.itemId == row.itemId); arr = row.itemIdOpction.filter((item) => item.itemId == row.itemId);
this.tableData[index].tableName = arr[0].tableName; this.tableData[index].tableName = arr[0].tableName;
this.tableData[index].colKey = arr[0].columnName; this.tableData[index].colKey = arr[0].columnName;
}
if (row.itemId == "") return; if (row.itemId == "") return;
// optionoptionSourceType
console.log(arr[0].optionSourceType);
if (arr[0].optionSourceType == "remote") { if (arr[0].optionSourceType == "remote") {
let strFlag = arr[0].optionSourceValue.includes("/");
let url = ""; let url = "";
let params = {}; let params = {};
if (row.dataSource == "house") { if (strFlag) {
url = arr[0].optionSourceUrl;
params = JSON.parse(arr[0].optionSourceParam);
} else {
url = arr[0].optionSourceValue; url = arr[0].optionSourceValue;
} else {
url = "/sys/dict/data/dictlist";
params = { dictType: arr[0].optionSourceValue };
} }
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
if (code == 0) { if (code == 0) {
arr[0].options = data; arr[0].options = data;

Loading…
Cancel
Save