diff --git a/src/views/farm/task/index.vue b/src/views/farm/task/index.vue index 59aac16..fd70eda 100644 --- a/src/views/farm/task/index.vue +++ b/src/views/farm/task/index.vue @@ -48,17 +48,29 @@ <!-- 列表 --> <el-table v-loading="loading" :data="list"> - <el-table-column label="" align="center" prop="id" /> - <el-table-column label="" align="center" prop="name" /> - <el-table-column label="" align="center" prop="content" /> - <el-table-column label="" align="center" prop="resources" /> - <el-table-column label="" align="center" prop="images" /> - <el-table-column label="" align="center" prop="planStartTime" width="180"> + <el-table-column label="任务ID" align="center" prop="id" /> + <el-table-column label="任务名" align="center" prop="name" /> + <el-table-column label="任务内容" align="center" prop="content" /> + <el-table-column label="需要的资源" align="center" prop="resources" /> + + + <el-table-column label="图片" align="center" prop="images" > + <template slot-scope="scope"> + <el-image + v-if="scope.row.images[0] != null" + style="" + :src="scope.row.images[0]" + :preview-src-list="scope.row.images"> + </el-image> + </template> + </el-table-column> + + <el-table-column label="开始时间" align="center" prop="planStartTime" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.planStartTime) }}</span> </template> </el-table-column> - <el-table-column label="" align="center" prop="planEndTime" width="180"> + <el-table-column label="截止时间" align="center" prop="planEndTime" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.planEndTime) }}</span> </template> @@ -85,23 +97,35 @@ <!-- 对话框(添加 / 修改) --> <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-item label="" prop="name"> + <el-form-item label="任务名" prop="name"> <el-input v-model="form.name" placeholder="请输入" /> </el-form-item> - <el-form-item label=""> + <el-form-item label="任务内容"> <editor v-model="form.content" :min-height="192"/> </el-form-item> - <el-form-item label="" prop="resources"> - <el-input v-model="form.resources" placeholder="请输入" /> + + + <el-form-item label="资源选择"> + <el-select v-model="selectResourceList" multiple placeholder="请选择"> + <el-option + v-for="item in resourceList" + :key="item.id" + :label="item.name" + :value="item.id"> + {{item.name}} + </el-option> + </el-select> </el-form-item> - <el-form-item label="" prop="images"> - <el-input v-model="form.images" placeholder="请输入" /> + + <el-form-item label="任务图片"> + <imageUpload v-model="form.images"/> </el-form-item> - <el-form-item label="" prop="planStartTime"> - <el-date-picker clearable v-model="form.planStartTime" type="date" value-format="yyyy-MM-dd" placeholder="选择" /> + + <el-form-item label="任务开始时间" prop="planStartTime"> + <el-date-picker clearable v-model="form.planStartTime" type="date" value-format="timestamp" placeholder="选择" /> </el-form-item> - <el-form-item label="" prop="planEndTime"> - <el-date-picker clearable v-model="form.planEndTime" type="date" value-format="yyyy-MM-dd" placeholder="选择" /> + <el-form-item label="任务结束时间" prop="planEndTime"> + <el-date-picker clearable v-model="form.planEndTime" type="date" value-format="timestamp" placeholder="选择" /> </el-form-item> <el-form-item label="优先级" prop="weight"> <el-input v-model="form.weight" placeholder="请输入优先级" /> @@ -117,12 +141,15 @@ <script> import { createTask, updateTask, deleteTask, getTask, getTaskPage, exportTaskExcel } from "@/api/farm/task"; +import ImageUpload from '@/components/ImageUpload'; import Editor from '@/components/Editor'; +import { getResourcePage } from "@/api/farm/resource"; export default { name: "Task", components: { Editor, + ImageUpload, }, data() { return { @@ -157,14 +184,27 @@ export default { form: {}, // 表单校验 rules: { - } + }, + resourceList:[], + selectResourceList:[], }; }, created() { + this.getResource(); this.getList(); }, methods: { - /** 查询列表 */ + /**查询资源*/ + getResource(){ + getResourcePage({ + pageNo: 1, + pageSize: 10, + name: null, + }).then(res=>{ + this.resourceList = res.data.list; + }) + }, + /** 查询任务列表 */ getList() { this.loading = true; // 处理查询参数 @@ -174,9 +214,35 @@ export default { this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); // 执行查询 getTaskPage(params).then(response => { - this.list = response.data.list; - this.total = response.data.total; - this.loading = false; + //1 循环list + response.data.list.forEach(element => { + if(element.images != null){ + //有图片转json + element.images = JSON.parse(element.images); + }else{ + //无图片给个空 + element.images = []; + } + + //2 循环每个list对象的resource + element.resources = JSON.parse(element.resources); + let resourceName = ''; + element.resources.forEach((inn) =>{ + //3 每个resouce循环比较 resourceList,取得名字 + this.resourceList.forEach((resource) =>{ + if(inn == resource.id){ + resourceName += (resource.name + ","); + } + } + ) + }) + element.resources = resourceName; + + + }); + this.list = response.data.list; + this.total = response.data.total; + this.loading = false; }); }, /** 取消按钮 */ @@ -223,6 +289,17 @@ export default { const id = row.id; getTask(id).then(response => { this.form = response.data; + if(response.data.resources != null){ + let resourceArr = JSON.parse(response.data.resources); + this.form.resources = resourceArr; + this.selectResourceList = resourceArr; + } + + if(response.data.images != null){ + let imagesArr = JSON.parse(response.data.images); + this.form.images = imagesArr; + } + this.open = true; this.title = "修改农场项目"; }); @@ -233,6 +310,16 @@ export default { if (!valid) { return; } + //资源转json + this.form.resources = JSON.stringify(this.selectResourceList); + + //图片转json + let im = this.form.images; + if(im != null && typeof(im) != 'object'){ + let imgArr = im.split(",") + this.form.images = JSON.stringify(imgArr); + } + // 修改的提交 if (this.form.id != null) { updateTask(this.form).then(response => {