Browse Source

项目更改

master
小久哥 3 years ago
parent
commit
390af2fa36
  1. 134
      src/views/farm/project/index.vue

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

@ -55,13 +55,25 @@
<el-table-column label="ID" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<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"/> <!-- <el-table-column label="区域名" align="center" prop="areas"/> -->
<el-table-column label="区域名" align="center" prop="areas" width="80" >
<template slot-scope="scope">
<span>{{areasConvert(scope.row.areas)}}</span>
</template>
</el-table-column>
<el-table-column label="作物名" align="center" prop="cropId" > <el-table-column label="作物名" align="center" prop="cropId" >
<template slot-scope="scope"> <template slot-scope="scope">
<span> {{cropList.find(t=>t.id == scope.row.cropId ).name}} </span> <span> {{cropList.find(t=>t.id == scope.row.cropId ).name}} </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="项目成员" align="center" prop="members"/> <!-- <el-table-column label="项目成员" align="center" prop="members"/> -->
<el-table-column label="项目成员" align="center" prop="members">
<template slot-scope="scope">
<span>{{membersConvert(scope.row.members)}}</span>
</template>
</el-table-column>
<el-table-column label="图片" align="center" prop="images"> <el-table-column label="图片" align="center" prop="images">
<template slot-scope="scope"> <template slot-scope="scope">
@ -108,34 +120,20 @@
<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="assemAreaList">
<el-cascader
:options="assemAreaList"
:props="props"
clearable
ref="chooseA"
@change="changeArea"
v-model="form.areas">
</el-cascader>
</el-form-item> -->
<el-form-item label="区域选择" prop="selectAreasList">
<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>
<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}}
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="成员选择" prop="selectMembersList"> <el-form-item label="成员选择" prop="members">
<el-select v-model="selectMembersList" multiple placeholder="请选择"> <el-select v-model="form.members" multiple placeholder="请选择">
<el-option v-for="item in membersList" :key="item.id" :label="item.name" :value="item.id"> {{item.name}} <el-option v-for="item in membersList" :key="item.id" :label="item.name" :value="item.id"> {{item.name}}
</el-option> </el-option>
</el-select> </el-select>
@ -213,32 +211,41 @@ export default {
// //
rules: { rules: {
name: [{ required: true, message: "不能为空", trigger: "blur" }], name: [{ required: true, message: "不能为空", trigger: "blur" }],
// content: [{ required: true, message: "", trigger: "blur" }],
// selectAreasList: [{ required: true, message: "", trigger: "blur" }],
// cropId: [{ required: true, message: "", trigger: "blur" }],
// selectMembersList: [{ required: true, message: "", trigger: "blur" }],
planStartTime: [{ required: true, message: "不能为空", trigger: "blur" }], planStartTime: [{ required: true, message: "不能为空", trigger: "blur" }],
planEndTime: [{ required: true, message: "不能为空", trigger: "blur" }], planEndTime: [{ required: true, message: "不能为空", trigger: "blur" }],
weight: [{ required: true, message: "不能为空", trigger: "blur" }], weight: [{ required: true, message: "不能为空", trigger: "blur" }],
}, },
props: { multiple: true },
areasList:[], areasList:[],
assemAreaList:[],
areasParentList:[],
areasSonList:[],
selectAreasList:[],
cropList:[], cropList:[],
membersList:[], membersList:[],
selectMembersList:[]
}; };
}, },
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
membersConvert(members){
let membersName = "";
this.membersList.forEach(item =>{
members.forEach(memberId =>{
if (memberId == item.id) {
membersName += item.name +"\n";
}
})
})
return membersName;
},
areasConvert(areas){
let areasName = "";
this.areasList.forEach(item => {
areas.forEach( pArea =>{
if (pArea == item.id) {
areasName += item.name + "\n";
}
})
})
return areasName;
},
getCropList(){ getCropList(){
getCropPage({ getCropPage({
pageNo: 1, pageNo: 1,
@ -269,7 +276,7 @@ export default {
this.getAreasList(); this.getAreasList();
this.getCropList(); this.getCropList();
this.getCpUserList(); this.getCpUserList();
this.assemArea(); // this.assemArea();
this.loading = true; this.loading = true;
// //
let params = {...this.queryParams}; let params = {...this.queryParams};
@ -278,30 +285,6 @@ export default {
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// //
getProjectPage(params).then(response => { getProjectPage(params).then(response => {
response.data.list.forEach(element => {
element.areas = JSON.parse(element.areas);
let areaName = "";
element.areas.forEach(a=>{
this.areasList.filter(t=>t.id == a)[0].name;
areaName += this.areasList.filter(t=>t.id == a)[0].name +"、\n";
})
element.areas = areaName;
element.members = JSON.parse(element.members);
if(element.members != null){
let memberName = '';
element.members.forEach((mem) =>{
this.membersList.forEach((sel) =>{
if(mem == sel.id){
memberName += (sel.name + "、\n");
}
})
})
element.members = memberName;
}
});
this.list = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
this.loading = false; this.loading = false;
@ -373,25 +356,15 @@ 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.assemArea();
this.reset(); this.reset();
const id = row.id; const id = row.id;
getProject(id).then(response => { getProject(id).then(response => {
this.form = response.data; this.form = response.data;
let areasArray = JSON.parse(response.data.areas);
this.form.areas = areasArray;
this.selectAreasList = areasArray;
let membersArray = JSON.parse(response.data.members);
this.form.members = membersArray;
this.selectMembersList = membersArray;
this.open = true; this.open = true;
this.title = "修改农场项目"; this.title = "修改农场项目";
}); });
@ -403,8 +376,6 @@ export default {
if (!valid) { if (!valid) {
return; return;
} }
this.form.members = JSON.stringify(this.selectMembersList);
this.form.areas = JSON.stringify(this.form.areas);
// //
if (this.form.id != null) { if (this.form.id != null) {
@ -417,8 +388,6 @@ export default {
} }
// //
createProject(this.form).then(response => { createProject(this.form).then(response => {
this.form.areas = JSON.stringify(this.form.areas);
this.form.members = JSON.stringify(this.form.members);
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
@ -452,30 +421,7 @@ 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;
},
changeArea(){
} }
} }
}; };
</script> </script>

Loading…
Cancel
Save