项目 两级区域
This commit is contained in:
@@ -81,7 +81,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="项目名" align="center" prop="name" />
|
<el-table-column label="项目名" align="center" prop="name" />
|
||||||
<!-- <el-table-column label="项目内容" align="center" prop="content" /> -->
|
<!-- <el-table-column label="项目内容" align="center" prop="content" /> -->
|
||||||
<el-table-column label="区域名" align="center" prop="areas" width="80" >
|
<el-table-column label="区域名" align="center" prop="areas" width="180" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{areasConvert(scope.row.areas)}}</span>
|
<span>{{areasConvert(scope.row.areas)}}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -142,12 +142,21 @@
|
|||||||
<el-form-item label="项目内容" prop="content">
|
<el-form-item label="项目内容" prop="content">
|
||||||
<editor v-model="form.content" :min-height="192"/>
|
<editor v-model="form.content" :min-height="192"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="区域选择" prop="areas">
|
<!-- <el-form-item label="区域选择" prop="areas">
|
||||||
<el-select v-model="form.areas" multiple placeholder="请选择">
|
<el-select v-model="form.areas" multiple placeholder="请选择">
|
||||||
<el-option v-for="item in areasList" :key="item.id" :label="item.name" :value="item.id"> {{item.name}}
|
<el-option v-for="item in areasList" :key="item.id" :label="item.name" :value="item.id"> {{item.name}}
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
</el-form-item> -->
|
||||||
|
|
||||||
|
|
||||||
|
<el-form-item label="区域选择" prop="assemAreaList">
|
||||||
|
<el-cascader :options="assemAreaList" :props="props" emitPath clearable ref="chooseA" v-model="form.areas">
|
||||||
|
</el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<el-form-item label="作物选择" prop="cropId">
|
<el-form-item label="作物选择" prop="cropId">
|
||||||
<el-select v-model="form.cropId" placeholder="请选择">
|
<el-select v-model="form.cropId" placeholder="请选择">
|
||||||
<el-option v-for="item in cropList" :key="item.id" :label="item.name" :value="item.id"> {{item.name}}
|
<el-option v-for="item in cropList" :key="item.id" :label="item.name" :value="item.id"> {{item.name}}
|
||||||
@@ -238,6 +247,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
|
props: { multiple: true , emitPath: false},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true, message: "不能为空", trigger: "blur" }],
|
name: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||||
@@ -248,6 +258,10 @@ export default {
|
|||||||
areasList:[],
|
areasList:[],
|
||||||
cropList:[],
|
cropList:[],
|
||||||
membersList:[],
|
membersList:[],
|
||||||
|
|
||||||
|
assemAreaList: [],
|
||||||
|
areasParentList: [],
|
||||||
|
areasSonList: []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -267,10 +281,18 @@ export default {
|
|||||||
},
|
},
|
||||||
areasConvert(areas){
|
areasConvert(areas){
|
||||||
let areasName = "";
|
let areasName = "";
|
||||||
this.areasList.forEach(item => {
|
areas.forEach(selectArea =>{
|
||||||
areas.forEach( pArea =>{
|
this.areasList.forEach(son => {
|
||||||
if (pArea == item.id) {
|
//二级区域
|
||||||
areasName += item.name + "\n";
|
let name = "";
|
||||||
|
if(selectArea == son.id){
|
||||||
|
this.areasList.forEach(parent =>{
|
||||||
|
if(parent.id == son.parentId){
|
||||||
|
name = parent.name +"/";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
name += son.name ;
|
||||||
|
areasName += name +"\n";
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -288,7 +310,6 @@ export default {
|
|||||||
getAreaPage({
|
getAreaPage({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 100,
|
pageSize: 100,
|
||||||
parentId: 0
|
|
||||||
}).then(res =>{
|
}).then(res =>{
|
||||||
this.areasList = res.data.list;
|
this.areasList = res.data.list;
|
||||||
})
|
})
|
||||||
@@ -376,12 +397,14 @@ export default {
|
|||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.getCpUserList();
|
this.getCpUserList();
|
||||||
|
this.assemArea();
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "添加农场项目";
|
this.title = "添加农场项目";
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
|
this.assemArea();
|
||||||
const id = row.id;
|
const id = row.id;
|
||||||
getProject(id).then(response => {
|
getProject(id).then(response => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
@@ -459,6 +482,24 @@ export default {
|
|||||||
this.$download.excel(response, '${table.classComment}.xls');
|
this.$download.excel(response, '${table.classComment}.xls');
|
||||||
this.exportLoading = false;
|
this.exportLoading = false;
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
|
||||||
|
assemArea() {
|
||||||
|
let parentLsit = this.areasList.filter(t => t.parentId == 0);
|
||||||
|
let sonList = this.areasList.filter(s => s.parentId != 0);
|
||||||
|
let firstList = [];
|
||||||
|
parentLsit.forEach(p => {
|
||||||
|
this.areasParentList.push(p);
|
||||||
|
let secondList = [];
|
||||||
|
sonList.forEach(s => {
|
||||||
|
if (p.id == s.parentId) {
|
||||||
|
this.areasSonList.push(s);
|
||||||
|
secondList.push({ value: s.id, label: s.name });
|
||||||
|
}
|
||||||
|
})
|
||||||
|
firstList.push({ value: p.id, label: p.name, children: secondList })
|
||||||
|
})
|
||||||
|
this.assemAreaList = firstList;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user