Browse Source

项目 两级区域

master
zhanyunjiu 3 years ago
parent
commit
34776ec744
  1. 55
      src/views/farm/project/index.vue

55
src/views/farm/project/index.vue

@ -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;
} }
} }
}; };

Loading…
Cancel
Save