|
|
@ -47,6 +47,17 @@ |
|
|
|
<!-- 列表 --> |
|
|
|
<!-- 列表 --> |
|
|
|
<el-table v-loading="loading" stripe :data="list"> |
|
|
|
<el-table v-loading="loading" stripe :data="list"> |
|
|
|
<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="projectName" > |
|
|
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
|
|
<span> {{projectList.find(t=>t.id == scope.row.projectId ).name}} </span> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column label="作物名" align="center" prop="cropName" > |
|
|
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
|
|
<span> {{cropList.find(t=>t.id == scope.row.cropId ).name}} </span> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column label="作物数量" align="center" prop="cropNum" /> |
|
|
|
<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="resources" /> |
|
|
|
<el-table-column label="需要的资源" align="center" prop="resources" /> |
|
|
@ -92,14 +103,42 @@ |
|
|
|
<!-- 对话框(添加 / 修改) --> |
|
|
|
<!-- 对话框(添加 / 修改) --> |
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="项目选择"> |
|
|
|
|
|
|
|
<el-select v-model="form.projectId" placeholder="请选择"> |
|
|
|
|
|
|
|
<el-option |
|
|
|
|
|
|
|
v-for="item in projectList" |
|
|
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
|
|
:value="item.id"> |
|
|
|
|
|
|
|
{{item.name}} |
|
|
|
|
|
|
|
</el-option> |
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="作物选择"> |
|
|
|
|
|
|
|
<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> |
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="作物数量"> |
|
|
|
|
|
|
|
<el-input v-model="form.cropNum" placeholder="请输入"/> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="任务名" prop="name"> |
|
|
|
<el-form-item label="任务名" prop="name"> |
|
|
|
<el-input v-model="form.name" placeholder="请输入" /> |
|
|
|
<el-input v-model="form.name" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="任务内容"> |
|
|
|
<el-form-item label="任务内容"> |
|
|
|
<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="资源选择"> |
|
|
|
<!-- <el-form-item label="资源选择"> |
|
|
|
<el-select v-model="selectResourceList" multiple placeholder="请选择"> |
|
|
|
<el-select v-model="selectResourceList" multiple placeholder="请选择" @change="changeResource"> |
|
|
|
<el-option |
|
|
|
<el-option |
|
|
|
v-for="item in resourceList" |
|
|
|
v-for="item in resourceList" |
|
|
|
:key="item.id" |
|
|
|
:key="item.id" |
|
|
@ -108,7 +147,27 @@ |
|
|
|
{{item.name}} |
|
|
|
{{item.name}} |
|
|
|
</el-option> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <el-form-item label="资源类型选择"> |
|
|
|
|
|
|
|
<el-select v-model="selectResourceList" multiple placeholder="请选择" @change="changeResourceType"> |
|
|
|
|
|
|
|
<el-option |
|
|
|
|
|
|
|
v-for="item in resourceTypeList" |
|
|
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
|
|
:value="item.id"> |
|
|
|
|
|
|
|
{{item.name}} |
|
|
|
|
|
|
|
</el-option> |
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="demonstration">资源类型选择</span> |
|
|
|
|
|
|
|
<el-cascader :options="twoList" :props="props" clearable></el-cascader> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="任务图片"> |
|
|
|
<el-form-item label="任务图片"> |
|
|
|
<imageUpload v-model="form.images"/> |
|
|
|
<imageUpload v-model="form.images"/> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
@ -135,6 +194,10 @@ import { createTask, updateTask, deleteTask, getTask, getTaskPage, getTaskSearch |
|
|
|
import ImageUpload from '@/components/ImageUpload'; |
|
|
|
import ImageUpload from '@/components/ImageUpload'; |
|
|
|
import Editor from '@/components/Editor'; |
|
|
|
import Editor from '@/components/Editor'; |
|
|
|
import { getResourcePage } from "@/api/farm/resource"; |
|
|
|
import { getResourcePage } from "@/api/farm/resource"; |
|
|
|
|
|
|
|
import { getProjectPage} from "@/api/farm/project"; |
|
|
|
|
|
|
|
import { getCropPage} from "@/api/farm/crop"; |
|
|
|
|
|
|
|
import { getResourceTypePage} from "@/api/farm/resourceType"; |
|
|
|
|
|
|
|
import { values } from 'min-dash'; |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: "Task", |
|
|
|
name: "Task", |
|
|
@ -170,6 +233,9 @@ export default { |
|
|
|
resources: null, |
|
|
|
resources: null, |
|
|
|
images: null, |
|
|
|
images: null, |
|
|
|
weight: null, |
|
|
|
weight: null, |
|
|
|
|
|
|
|
projectId: null, |
|
|
|
|
|
|
|
cropId: null, |
|
|
|
|
|
|
|
cropNum: null |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 表单参数 |
|
|
|
// 表单参数 |
|
|
|
form: {}, |
|
|
|
form: {}, |
|
|
@ -178,12 +244,40 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
resourceList:[], |
|
|
|
resourceList:[], |
|
|
|
selectResourceList:[], |
|
|
|
selectResourceList:[], |
|
|
|
|
|
|
|
projectList:[], |
|
|
|
|
|
|
|
cropList:[], |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceTypeList:[], |
|
|
|
|
|
|
|
selectResourceTypeList:[], |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
twoList:[], |
|
|
|
|
|
|
|
props: { multiple: true } |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
created() { |
|
|
|
created() { |
|
|
|
this.getResource(); |
|
|
|
this.getResource(); |
|
|
|
|
|
|
|
this.getResourceTypeList(); |
|
|
|
|
|
|
|
this.getProjectList(); |
|
|
|
|
|
|
|
this.getCropList(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
|
|
|
|
getCropList(){ |
|
|
|
|
|
|
|
getCropPage({ |
|
|
|
|
|
|
|
pageNo: 1, |
|
|
|
|
|
|
|
pageSize: 100 |
|
|
|
|
|
|
|
}).then(res=>{ |
|
|
|
|
|
|
|
this.cropList = res.data.list; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
getProjectList(){ |
|
|
|
|
|
|
|
getProjectPage({ |
|
|
|
|
|
|
|
pageNo: 1, |
|
|
|
|
|
|
|
pageSize: 100 |
|
|
|
|
|
|
|
}).then(res=>{ |
|
|
|
|
|
|
|
this.projectList = res.data.list; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
/**查询资源*/ |
|
|
|
/**查询资源*/ |
|
|
|
getResource(){ |
|
|
|
getResource(){ |
|
|
|
getResourcePage({ |
|
|
|
getResourcePage({ |
|
|
@ -195,6 +289,14 @@ export default { |
|
|
|
this.getList(); |
|
|
|
this.getList(); |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
getResourceTypeList(){ |
|
|
|
|
|
|
|
getResourceTypePage({ |
|
|
|
|
|
|
|
pageNo: 1, |
|
|
|
|
|
|
|
pageSize: 100 |
|
|
|
|
|
|
|
}).then(res=>{ |
|
|
|
|
|
|
|
this.resourceTypeList = res.data.list; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
/** 查询任务列表 */ |
|
|
|
/** 查询任务列表 */ |
|
|
|
getList() { |
|
|
|
getList() { |
|
|
|
this.loading = true; |
|
|
|
this.loading = true; |
|
|
@ -232,6 +334,7 @@ export default { |
|
|
|
this.total = response.data.total; |
|
|
|
this.total = response.data.total; |
|
|
|
this.loading = false; |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
this.twoRescoure(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
/** 搜索条件查询任务列表 */ |
|
|
|
/** 搜索条件查询任务列表 */ |
|
|
|
getSearchList() { |
|
|
|
getSearchList() { |
|
|
@ -243,27 +346,27 @@ export default { |
|
|
|
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); |
|
|
|
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); |
|
|
|
// 执行查询 |
|
|
|
// 执行查询 |
|
|
|
getTaskSearchPage(params).then(response => { |
|
|
|
getTaskSearchPage(params).then(response => { |
|
|
|
response.data.list.forEach(element => { |
|
|
|
response.data.list.forEach(element => { |
|
|
|
if(element.images != null){ |
|
|
|
if(element.images != null){ |
|
|
|
element.images = JSON.parse(element.images); |
|
|
|
element.images = JSON.parse(element.images); |
|
|
|
}else{ |
|
|
|
}else{ |
|
|
|
element.images = []; |
|
|
|
element.images = []; |
|
|
|
} |
|
|
|
} |
|
|
|
element.resources = JSON.parse(element.resources); |
|
|
|
element.resources = JSON.parse(element.resources); |
|
|
|
let resourceName = ''; |
|
|
|
let resourceName = ''; |
|
|
|
element.resources.forEach((inn) =>{ |
|
|
|
element.resources.forEach((inn) =>{ |
|
|
|
this.resourceList.forEach((resource) =>{ |
|
|
|
this.resourceList.forEach((resource) =>{ |
|
|
|
if(inn == resource.id){ |
|
|
|
if(inn == resource.id){ |
|
|
|
resourceName += (resource.name + "、\n"); |
|
|
|
resourceName += (resource.name + "、\n"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
) |
|
|
|
}) |
|
|
|
}) |
|
|
|
element.resources = resourceName; |
|
|
|
element.resources = resourceName; |
|
|
|
}); |
|
|
|
}); |
|
|
|
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; |
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
@ -283,6 +386,9 @@ export default { |
|
|
|
planStartTime: undefined, |
|
|
|
planStartTime: undefined, |
|
|
|
planEndTime: undefined, |
|
|
|
planEndTime: undefined, |
|
|
|
weight: undefined, |
|
|
|
weight: undefined, |
|
|
|
|
|
|
|
projectName: undefined, |
|
|
|
|
|
|
|
cropId: undefined, |
|
|
|
|
|
|
|
cropNum: undefined |
|
|
|
}; |
|
|
|
}; |
|
|
|
this.resetForm("form"); |
|
|
|
this.resetForm("form"); |
|
|
|
}, |
|
|
|
}, |
|
|
@ -302,6 +408,7 @@ export default { |
|
|
|
/** 新增按钮操作 */ |
|
|
|
/** 新增按钮操作 */ |
|
|
|
handleAdd() { |
|
|
|
handleAdd() { |
|
|
|
this.reset(); |
|
|
|
this.reset(); |
|
|
|
|
|
|
|
this.twoRescoure(); |
|
|
|
this.open = true; |
|
|
|
this.open = true; |
|
|
|
this.title = "添加农场任务"; |
|
|
|
this.title = "添加农场任务"; |
|
|
|
}, |
|
|
|
}, |
|
|
@ -321,7 +428,6 @@ export default { |
|
|
|
let imagesArr = JSON.parse(response.data.images); |
|
|
|
let imagesArr = JSON.parse(response.data.images); |
|
|
|
this.form.images = imagesArr; |
|
|
|
this.form.images = imagesArr; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.open = true; |
|
|
|
this.open = true; |
|
|
|
this.title = "修改农场任务"; |
|
|
|
this.title = "修改农场任务"; |
|
|
|
}); |
|
|
|
}); |
|
|
@ -388,6 +494,23 @@ export default { |
|
|
|
this.$download.excel(response, '${table.classComment}.xls'); |
|
|
|
this.$download.excel(response, '${table.classComment}.xls'); |
|
|
|
this.exportLoading = false; |
|
|
|
this.exportLoading = false; |
|
|
|
}).catch(() => {}); |
|
|
|
}).catch(() => {}); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
twoRescoure(){ |
|
|
|
|
|
|
|
console.log("vvvvvvvvvv"); |
|
|
|
|
|
|
|
console.log(this.resourceTypeList); |
|
|
|
|
|
|
|
console.log(this.resourceList); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let arr = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.resourceTypeList.forEach((type) =>{ |
|
|
|
|
|
|
|
arr.push([value= type.id, label = type.name]); |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log(6666666666); |
|
|
|
|
|
|
|
console.log(arr); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|