集成框架生成的代码,能运行但需要逐个细化,部分功能前端部分需要重新进行命名。

This commit is contained in:
jlt
2022-03-27 20:04:17 +08:00
parent 3027dbb60e
commit ebcb37c23a
99 changed files with 11960 additions and 23 deletions

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询拱棚使用记录列表
export function listArchedrecord(query) {
return request({
url: '/csa/archedrecord/list',
method: 'get',
params: query
})
}
// 查询拱棚使用记录详细
export function getArchedrecord(id) {
return request({
url: '/csa/archedrecord/' + id,
method: 'get'
})
}
// 新增拱棚使用记录
export function addArchedrecord(data) {
return request({
url: '/csa/archedrecord',
method: 'post',
data: data
})
}
// 修改拱棚使用记录
export function updateArchedrecord(data) {
return request({
url: '/csa/archedrecord',
method: 'put',
data: data
})
}
// 删除拱棚使用记录
export function delArchedrecord(id) {
return request({
url: '/csa/archedrecord/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询菜地日志附件列表
export function listAttach(query) {
return request({
url: '/csa/attach/list',
method: 'get',
params: query
})
}
// 查询菜地日志附件详细
export function getAttach(id) {
return request({
url: '/csa/attach/' + id,
method: 'get'
})
}
// 新增菜地日志附件
export function addAttach(data) {
return request({
url: '/csa/attach',
method: 'post',
data: data
})
}
// 修改菜地日志附件
export function updateAttach(data) {
return request({
url: '/csa/attach',
method: 'put',
data: data
})
}
// 删除菜地日志附件
export function delAttach(id) {
return request({
url: '/csa/attach/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询会员卡列表
export function listCard(query) {
return request({
url: '/csa/card/list',
method: 'get',
params: query
})
}
// 查询会员卡详细
export function getCard(id) {
return request({
url: '/csa/card/' + id,
method: 'get'
})
}
// 新增会员卡
export function addCard(data) {
return request({
url: '/csa/card',
method: 'post',
data: data
})
}
// 修改会员卡
export function updateCard(data) {
return request({
url: '/csa/card',
method: 'put',
data: data
})
}
// 删除会员卡
export function delCard(id) {
return request({
url: '/csa/card/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询金币记录列表
export function listCoinrecord(query) {
return request({
url: '/csa/coinrecord/list',
method: 'get',
params: query
})
}
// 查询金币记录详细
export function getCoinrecord(id) {
return request({
url: '/csa/coinrecord/' + id,
method: 'get'
})
}
// 新增金币记录
export function addCoinrecord(data) {
return request({
url: '/csa/coinrecord',
method: 'post',
data: data
})
}
// 修改金币记录
export function updateCoinrecord(data) {
return request({
url: '/csa/coinrecord',
method: 'put',
data: data
})
}
// 删除金币记录
export function delCoinrecord(id) {
return request({
url: '/csa/coinrecord/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询沟通记录列表
export function listCommrecord(query) {
return request({
url: '/csa/commrecord/list',
method: 'get',
params: query
})
}
// 查询沟通记录详细
export function getCommrecord(id) {
return request({
url: '/csa/commrecord/' + id,
method: 'get'
})
}
// 新增沟通记录
export function addCommrecord(data) {
return request({
url: '/csa/commrecord',
method: 'post',
data: data
})
}
// 修改沟通记录
export function updateCommrecord(data) {
return request({
url: '/csa/commrecord',
method: 'put',
data: data
})
}
// 删除沟通记录
export function delCommrecord(id) {
return request({
url: '/csa/commrecord/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询作物档案列表
export function listCropfiles(query) {
return request({
url: '/csa/cropfiles/list',
method: 'get',
params: query
})
}
// 查询作物档案详细
export function getCropfiles(id) {
return request({
url: '/csa/cropfiles/' + id,
method: 'get'
})
}
// 新增作物档案
export function addCropfiles(data) {
return request({
url: '/csa/cropfiles',
method: 'post',
data: data
})
}
// 修改作物档案
export function updateCropfiles(data) {
return request({
url: '/csa/cropfiles',
method: 'put',
data: data
})
}
// 删除作物档案
export function delCropfiles(id) {
return request({
url: '/csa/cropfiles/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询采摘任务明细列表
export function listDetail(query) {
return request({
url: '/csa/detail/list',
method: 'get',
params: query
})
}
// 查询采摘任务明细详细
export function getDetail(id) {
return request({
url: '/csa/detail/' + id,
method: 'get'
})
}
// 新增采摘任务明细
export function addDetail(data) {
return request({
url: '/csa/detail',
method: 'post',
data: data
})
}
// 修改采摘任务明细
export function updateDetail(data) {
return request({
url: '/csa/detail',
method: 'put',
data: data
})
}
// 删除采摘任务明细
export function delDetail(id) {
return request({
url: '/csa/detail/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询私家农场会员列表
export function listFarmer(query) {
return request({
url: '/csa/farmer/list',
method: 'get',
params: query
})
}
// 查询私家农场会员详细
export function getFarmer(id) {
return request({
url: '/csa/farmer/' + id,
method: 'get'
})
}
// 新增私家农场会员
export function addFarmer(data) {
return request({
url: '/csa/farmer',
method: 'post',
data: data
})
}
// 修改私家农场会员
export function updateFarmer(data) {
return request({
url: '/csa/farmer',
method: 'put',
data: data
})
}
// 删除私家农场会员
export function delFarmer(id) {
return request({
url: '/csa/farmer/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询菜地日志列表
export function listLog(query) {
return request({
url: '/csa/log/list',
method: 'get',
params: query
})
}
// 查询菜地日志详细
export function getLog(id) {
return request({
url: '/csa/log/' + id,
method: 'get'
})
}
// 新增菜地日志
export function addLog(data) {
return request({
url: '/csa/log',
method: 'post',
data: data
})
}
// 修改菜地日志
export function updateLog(data) {
return request({
url: '/csa/log',
method: 'put',
data: data
})
}
// 删除菜地日志
export function delLog(id) {
return request({
url: '/csa/log/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询作物生长阶段列表
export function listPhase(query) {
return request({
url: '/csa/phase/list',
method: 'get',
params: query
})
}
// 查询作物生长阶段详细
export function getPhase(id) {
return request({
url: '/csa/phase/' + id,
method: 'get'
})
}
// 新增作物生长阶段
export function addPhase(data) {
return request({
url: '/csa/phase',
method: 'post',
data: data
})
}
// 修改作物生长阶段
export function updatePhase(data) {
return request({
url: '/csa/phase',
method: 'put',
data: data
})
}
// 删除作物生长阶段
export function delPhase(id) {
return request({
url: '/csa/phase/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询菜地品种列表
export function listStrain(query) {
return request({
url: '/csa/strain/list',
method: 'get',
params: query
})
}
// 查询菜地品种详细
export function getStrain(id) {
return request({
url: '/csa/strain/' + id,
method: 'get'
})
}
// 新增菜地品种
export function addStrain(data) {
return request({
url: '/csa/strain',
method: 'post',
data: data
})
}
// 修改菜地品种
export function updateStrain(data) {
return request({
url: '/csa/strain',
method: 'put',
data: data
})
}
// 删除菜地品种
export function delStrain(id) {
return request({
url: '/csa/strain/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询打理任务列表
export function listTask(query) {
return request({
url: '/csa/task/list',
method: 'get',
params: query
})
}
// 查询打理任务详细
export function getTask(id) {
return request({
url: '/csa/task/' + id,
method: 'get'
})
}
// 新增打理任务
export function addTask(data) {
return request({
url: '/csa/task',
method: 'post',
data: data
})
}
// 修改打理任务
export function updateTask(data) {
return request({
url: '/csa/task',
method: 'put',
data: data
})
}
// 删除打理任务
export function delTask(id) {
return request({
url: '/csa/task/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,357 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="会员id" prop="memberId">
<el-input
v-model="queryParams.memberId"
placeholder="请输入会员id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="菜地id" prop="gardenId">
<el-input
v-model="queryParams.gardenId"
placeholder="请输入菜地id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="对应年份" prop="yearNo">
<el-input
v-model="queryParams.yearNo"
placeholder="请输入对应年份"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人id" prop="doerId">
<el-input
v-model="queryParams.doerId"
placeholder="请输入操作人id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="处理时间" prop="doTime">
<el-date-picker clearable
v-model="queryParams.doTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择处理时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:archedrecord:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:archedrecord:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:archedrecord:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:archedrecord:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="archedrecordList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="拱棚使用记录id" align="center" prop="id" />
<el-table-column label="对应年份" align="center" prop="yearNo" />
<el-table-column label="剩余年份" align="center" prop="remainingYears" />
<el-table-column label="操作人id" align="center" prop="doerId" />
<el-table-column label="处理时间" align="center" prop="doTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.doTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="有效状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:archedrecord:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:archedrecord:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改拱棚使用记录对话框 -->
<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="会员id" prop="memberId">
<el-input v-model="form.memberId" placeholder="请输入会员id" />
</el-form-item>
<el-form-item label="菜地id" prop="gardenId">
<el-input v-model="form.gardenId" placeholder="请输入菜地id" />
</el-form-item>
<el-form-item label="对应年份" prop="yearNo">
<el-input v-model="form.yearNo" placeholder="请输入对应年份" />
</el-form-item>
<el-form-item label="消耗年份" prop="consumYear">
<el-input v-model="form.consumYear" placeholder="请输入消耗年份" />
</el-form-item>
<el-form-item label="剩余年份" prop="remainingYears">
<el-input v-model="form.remainingYears" placeholder="请输入剩余年份" />
</el-form-item>
<el-form-item label="操作人id" prop="doerId">
<el-input v-model="form.doerId" placeholder="请输入操作人id" />
</el-form-item>
<el-form-item label="处理时间" prop="doTime">
<el-date-picker clearable
v-model="form.doTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择处理时间">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listArchedrecord, getArchedrecord, delArchedrecord, addArchedrecord, updateArchedrecord } from "@/api/csa/archedrecord";
export default {
name: "Archedrecord",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 拱棚使用记录表格数据
archedrecordList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
memberId: null,
gardenId: null,
yearNo: null,
doerId: null,
doTime: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
memberId: [
{ required: true, message: "会员id不能为空", trigger: "blur" }
],
gardenId: [
{ required: true, message: "菜地id不能为空", trigger: "blur" }
],
yearNo: [
{ required: true, message: "对应年份不能为空", trigger: "blur" }
],
consumYear: [
{ required: true, message: "消耗年份不能为空", trigger: "blur" }
],
remainingYears: [
{ required: true, message: "剩余年份不能为空", trigger: "blur" }
],
doerId: [
{ required: true, message: "操作人id不能为空", trigger: "blur" }
],
doTime: [
{ required: true, message: "处理时间不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "有效状态不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询拱棚使用记录列表 */
getList() {
this.loading = true;
listArchedrecord(this.queryParams).then(response => {
this.archedrecordList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
memberId: null,
gardenId: null,
yearNo: null,
consumYear: null,
remainingYears: null,
doerId: null,
doTime: null,
status: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加拱棚使用记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getArchedrecord(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改拱棚使用记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateArchedrecord(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addArchedrecord(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除拱棚使用记录编号为"' + ids + '"的数据项?').then(function() {
return delArchedrecord(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/archedrecord/export', {
...this.queryParams
}, `archedrecord_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,317 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="菜地日志" prop="logId">
<el-input
v-model="queryParams.logId"
placeholder="请输入菜地日志"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
v-model="queryParams.publishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:attach:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:attach:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:attach:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:attach:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="attachList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="附件id" align="center" prop="id" />
<el-table-column label="附件类型" align="center" prop="attachType" />
<el-table-column label="文件名" align="center" prop="filename" />
<el-table-column label="URL" align="center" prop="url" />
<el-table-column label="附件宽度" align="center" prop="width" />
<el-table-column label="附件高度" align="center" prop="height" />
<el-table-column label="字节数" align="center" prop="bytes" />
<el-table-column label="发布时间" align="center" prop="publishTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.publishTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:attach:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:attach:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改菜地日志附件对话框 -->
<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="logId">
<el-input v-model="form.logId" placeholder="请输入菜地日志" />
</el-form-item>
<el-form-item label="文件名" prop="filename">
<el-input v-model="form.filename" placeholder="请输入文件名" />
</el-form-item>
<el-form-item label="URL" prop="url">
<el-input v-model="form.url" placeholder="请输入URL" />
</el-form-item>
<el-form-item label="附件宽度" prop="width">
<el-input v-model="form.width" placeholder="请输入附件宽度" />
</el-form-item>
<el-form-item label="附件高度" prop="height">
<el-input v-model="form.height" placeholder="请输入附件高度" />
</el-form-item>
<el-form-item label="字节数" prop="bytes">
<el-input v-model="form.bytes" placeholder="请输入字节数" />
</el-form-item>
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
v-model="form.publishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAttach, getAttach, delAttach, addAttach, updateAttach } from "@/api/csa/attach";
export default {
name: "Attach",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 菜地日志附件表格数据
attachList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
logId: null,
attachType: null,
publishTime: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
logId: [
{ required: true, message: "菜地日志不能为空", trigger: "blur" }
],
attachType: [
{ required: true, message: "附件类型不能为空", trigger: "change" }
],
publishTime: [
{ required: true, message: "发布时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询菜地日志附件列表 */
getList() {
this.loading = true;
listAttach(this.queryParams).then(response => {
this.attachList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
logId: null,
attachType: null,
filename: null,
url: null,
width: null,
height: null,
bytes: null,
publishTime: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加菜地日志附件";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getAttach(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改菜地日志附件";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAttach(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAttach(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除菜地日志附件编号为"' + ids + '"的数据项?').then(function() {
return delAttach(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/attach/export', {
...this.queryParams
}, `attach_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,368 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="卡号" prop="cardno">
<el-input
v-model="queryParams.cardno"
placeholder="请输入卡号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="土地年限" prop="landYears">
<el-input
v-model="queryParams.landYears"
placeholder="请输入土地年限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="拱棚年限" prop="archedYears">
<el-input
v-model="queryParams.archedYears"
placeholder="请输入拱棚年限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="套餐代码" prop="setMeal">
<el-input
v-model="queryParams.setMeal"
placeholder="请输入套餐代码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:card:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:card:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:card:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:card:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="cardList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="卡id" align="center" prop="id" />
<el-table-column label="卡号" align="center" prop="cardno" />
<el-table-column label="激活有效期" align="center" prop="activationValidity" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.activationValidity, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="可用状态" align="center" prop="usabilityStatus" />
<el-table-column label="激活状态" align="center" prop="activeStatus" />
<el-table-column label="平方米" align="center" prop="m2" />
<el-table-column label="土地年限" align="center" prop="landYears" />
<el-table-column label="拱棚年限" align="center" prop="archedYears" />
<el-table-column label="金币" align="center" prop="coins" />
<el-table-column label="金额" align="center" prop="balance" />
<el-table-column label="重量" align="center" prop="weight" />
<el-table-column label="套餐代码" align="center" prop="setMeal" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:card:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:card:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改会员卡对话框 -->
<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="cardno">
<el-input v-model="form.cardno" placeholder="请输入卡号" />
</el-form-item>
<el-form-item label="密码" prop="passwd">
<el-input v-model="form.passwd" placeholder="请输入密码" />
</el-form-item>
<el-form-item label="激活有效期" prop="activationValidity">
<el-date-picker clearable
v-model="form.activationValidity"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择激活有效期">
</el-date-picker>
</el-form-item>
<el-form-item label="平方米" prop="m2">
<el-input v-model="form.m2" placeholder="请输入平方米" />
</el-form-item>
<el-form-item label="土地年限" prop="landYears">
<el-input v-model="form.landYears" placeholder="请输入土地年限" />
</el-form-item>
<el-form-item label="拱棚年限" prop="archedYears">
<el-input v-model="form.archedYears" placeholder="请输入拱棚年限" />
</el-form-item>
<el-form-item label="金币" prop="coins">
<el-input v-model="form.coins" placeholder="请输入金币" />
</el-form-item>
<el-form-item label="金额" prop="balance">
<el-input v-model="form.balance" placeholder="请输入金额" />
</el-form-item>
<el-form-item label="重量" prop="weight">
<el-input v-model="form.weight" placeholder="请输入重量" />
</el-form-item>
<el-form-item label="套餐代码" prop="setMeal">
<el-input v-model="form.setMeal" placeholder="请输入套餐代码" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCard, getCard, delCard, addCard, updateCard } from "@/api/csa/card";
export default {
name: "Card",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 会员卡表格数据
cardList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
cardno: null,
usabilityStatus: null,
activeStatus: null,
landYears: null,
archedYears: null,
setMeal: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
cardno: [
{ required: true, message: "卡号不能为空", trigger: "blur" }
],
passwd: [
{ required: true, message: "密码不能为空", trigger: "blur" }
],
m2: [
{ required: true, message: "平方米不能为空", trigger: "blur" }
],
landYears: [
{ required: true, message: "土地年限不能为空", trigger: "blur" }
],
archedYears: [
{ required: true, message: "拱棚年限不能为空", trigger: "blur" }
],
coins: [
{ required: true, message: "金币不能为空", trigger: "blur" }
],
balance: [
{ required: true, message: "金额不能为空", trigger: "blur" }
],
weight: [
{ required: true, message: "重量不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会员卡列表 */
getList() {
this.loading = true;
listCard(this.queryParams).then(response => {
this.cardList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
cardno: null,
passwd: null,
activationValidity: null,
usabilityStatus: "0",
activeStatus: "0",
m2: null,
landYears: null,
archedYears: null,
coins: null,
balance: null,
weight: null,
setMeal: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会员卡";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCard(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会员卡";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCard(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCard(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会员卡编号为"' + ids + '"的数据项?').then(function() {
return delCard(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/card/export', {
...this.queryParams
}, `card_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,315 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="会员id" prop="memberId">
<el-input
v-model="queryParams.memberId"
placeholder="请输入会员id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:coinrecord:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:coinrecord:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:coinrecord:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:coinrecord:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="coinrecordList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="记录id" align="center" prop="id" />
<el-table-column label="会员id" align="center" prop="memberId" />
<el-table-column label="业务类型" align="center" prop="opType" />
<el-table-column label="金币花费" align="center" prop="coins" />
<el-table-column label="金币余额" align="center" prop="coinBalance" />
<el-table-column label="描述" align="center" prop="description" />
<el-table-column label="业务发生时间" align="center" prop="opTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.opTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:coinrecord:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:coinrecord:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改金币记录对话框 -->
<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="会员id" prop="memberId">
<el-input v-model="form.memberId" placeholder="请输入会员id" />
</el-form-item>
<el-form-item label="业务id" prop="opId">
<el-input v-model="form.opId" placeholder="请输入业务id" />
</el-form-item>
<el-form-item label="金币花费" prop="coins">
<el-input v-model="form.coins" placeholder="请输入金币花费" />
</el-form-item>
<el-form-item label="金币余额" prop="coinBalance">
<el-input v-model="form.coinBalance" placeholder="请输入金币余额" />
</el-form-item>
<el-form-item label="描述" prop="description">
<el-input v-model="form.description" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="业务发生时间" prop="opTime">
<el-date-picker clearable
v-model="form.opTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择业务发生时间">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCoinrecord, getCoinrecord, delCoinrecord, addCoinrecord, updateCoinrecord } from "@/api/csa/coinrecord";
export default {
name: "Coinrecord",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 金币记录表格数据
coinrecordList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
memberId: null,
opType: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
memberId: [
{ required: true, message: "会员id不能为空", trigger: "blur" }
],
opId: [
{ required: true, message: "业务id不能为空", trigger: "blur" }
],
opType: [
{ required: true, message: "业务类型不能为空", trigger: "change" }
],
coins: [
{ required: true, message: "金币花费不能为空", trigger: "blur" }
],
coinBalance: [
{ required: true, message: "金币余额不能为空", trigger: "blur" }
],
opTime: [
{ required: true, message: "业务发生时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询金币记录列表 */
getList() {
this.loading = true;
listCoinrecord(this.queryParams).then(response => {
this.coinrecordList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
memberId: null,
opId: null,
opType: null,
coins: null,
coinBalance: null,
description: null,
opTime: null,
status: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加金币记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCoinrecord(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改金币记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCoinrecord(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCoinrecord(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除金币记录编号为"' + ids + '"的数据项?').then(function() {
return delCoinrecord(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/coinrecord/export', {
...this.queryParams
}, `coinrecord_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,388 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="会员" prop="memberId">
<el-input
v-model="queryParams.memberId"
placeholder="请输入会员"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="菜地id" prop="gardenId">
<el-input
v-model="queryParams.gardenId"
placeholder="请输入菜地id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发布人" prop="recorder">
<el-input
v-model="queryParams.recorder"
placeholder="请输入发布人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="种植任务id" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入种植任务id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否处理" prop="isCompleted">
<el-input
v-model="queryParams.isCompleted"
placeholder="请输入是否处理"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="沟通时间" prop="commTime">
<el-date-picker clearable
v-model="queryParams.commTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择沟通时间">
</el-date-picker>
</el-form-item>
<el-form-item label="处理时间" prop="doTime">
<el-date-picker clearable
v-model="queryParams.doTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择处理时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:commrecord:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:commrecord:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:commrecord:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:commrecord:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="commrecordList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="沟通日志记录id" align="center" prop="id" />
<el-table-column label="会员" align="center" prop="memberId" />
<el-table-column label="菜地id" align="center" prop="gardenId" />
<el-table-column label="发布人" align="center" prop="recorder" />
<el-table-column label="种植任务id" align="center" prop="taskId" />
<el-table-column label="沟通类型" align="center" prop="commType" />
<el-table-column label="沟通内容" align="center" prop="content" />
<el-table-column label="处理结果" align="center" prop="result" />
<el-table-column label="是否处理" align="center" prop="isCompleted" />
<el-table-column label="沟通时间" align="center" prop="commTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.commTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="处理时间" align="center" prop="doTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.doTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:commrecord:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:commrecord:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改沟通记录对话框 -->
<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="memberId">
<el-input v-model="form.memberId" placeholder="请输入会员" />
</el-form-item>
<el-form-item label="菜地id" prop="gardenId">
<el-input v-model="form.gardenId" placeholder="请输入菜地id" />
</el-form-item>
<el-form-item label="发布人" prop="recorder">
<el-input v-model="form.recorder" placeholder="请输入发布人" />
</el-form-item>
<el-form-item label="种植任务id" prop="taskId">
<el-input v-model="form.taskId" placeholder="请输入种植任务id" />
</el-form-item>
<el-form-item label="沟通内容">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="处理结果" prop="result">
<el-input v-model="form.result" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="是否处理" prop="isCompleted">
<el-input v-model="form.isCompleted" placeholder="请输入是否处理" />
</el-form-item>
<el-form-item label="沟通时间" prop="commTime">
<el-date-picker clearable
v-model="form.commTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择沟通时间">
</el-date-picker>
</el-form-item>
<el-form-item label="处理时间" prop="doTime">
<el-date-picker clearable
v-model="form.doTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择处理时间">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCommrecord, getCommrecord, delCommrecord, addCommrecord, updateCommrecord } from "@/api/csa/commrecord";
export default {
name: "Commrecord",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 沟通记录表格数据
commrecordList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
memberId: null,
gardenId: null,
recorder: null,
taskId: null,
commType: null,
isCompleted: null,
commTime: null,
doTime: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
memberId: [
{ required: true, message: "会员不能为空", trigger: "blur" }
],
recorder: [
{ required: true, message: "发布人不能为空", trigger: "blur" }
],
commType: [
{ required: true, message: "沟通类型不能为空", trigger: "change" }
],
content: [
{ required: true, message: "沟通内容不能为空", trigger: "blur" }
],
commTime: [
{ required: true, message: "沟通时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询沟通记录列表 */
getList() {
this.loading = true;
listCommrecord(this.queryParams).then(response => {
this.commrecordList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
memberId: null,
gardenId: null,
recorder: null,
taskId: null,
commType: null,
content: null,
result: null,
isCompleted: null,
commTime: null,
doTime: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加沟通记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCommrecord(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改沟通记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCommrecord(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCommrecord(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除沟通记录编号为"' + ids + '"的数据项?').then(function() {
return delCommrecord(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/commrecord/export', {
...this.queryParams
}, `commrecord_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,272 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="作物名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入作物名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:cropfiles:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:cropfiles:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:cropfiles:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:cropfiles:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="cropfilesList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="作物名称" align="center" prop="name" />
<el-table-column label="生长阶段" align="center" prop="name">
<template slot-scope="scope">
<el-button>生长阶段</el-button>
</template>
</el-table-column>
<el-table-column label="代表图片" align="center" prop="picture" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:cropfiles:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:cropfiles:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改作物档案对话框 -->
<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-input v-model="form.name" placeholder="请输入作物名称" />
</el-form-item>
<el-form-item label="种植指南" prop="plantGuide">
<el-input v-model="form.plantGuide" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="代表图片" prop="picture">
<el-input v-model="form.picture" placeholder="请输入代表图片" />
</el-form-item>
<el-form-item label="作物描述" prop="description">
<el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCropfiles, getCropfiles, delCropfiles, addCropfiles, updateCropfiles } from "@/api/csa/cropfiles";
export default {
name: "Cropfiles",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 作物档案表格数据
cropfilesList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
name: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
name: [
{ required: true, message: "作物名称不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询作物档案列表 */
getList() {
this.loading = true;
listCropfiles(this.queryParams).then(response => {
this.cropfilesList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
name: null,
plantGuide: null,
picture: null,
description: null,
status: "0",
delFlag: "0",
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加作物档案";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCropfiles(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改作物档案";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCropfiles(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCropfiles(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除作物档案编号为"' + ids + '"的数据项?').then(function() {
return delCropfiles(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/cropfiles/export', {
...this.queryParams
}, `cropfiles_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,291 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="任务id" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否处理完毕" prop="isCompleted">
<el-input
v-model="queryParams.isCompleted"
placeholder="请输入是否处理完毕"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:detail:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:detail:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:detail:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:detail:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="detailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="采摘明细id" align="center" prop="id" />
<el-table-column label="计划重量" align="center" prop="planWeight" />
<el-table-column label="实际重量" align="center" prop="resultWeight" />
<el-table-column label="是否处理完毕" align="center" prop="isCompleted" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:detail:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:detail:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改采摘任务明细对话框 -->
<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="任务id" prop="taskId">
<el-input v-model="form.taskId" placeholder="请输入任务id" />
</el-form-item>
<el-form-item label="菜地品种id" prop="strainId">
<el-input v-model="form.strainId" placeholder="请输入菜地品种id" />
</el-form-item>
<el-form-item label="计划重量" prop="planWeight">
<el-input v-model="form.planWeight" placeholder="请输入计划重量" />
</el-form-item>
<el-form-item label="实际重量" prop="resultWeight">
<el-input v-model="form.resultWeight" placeholder="请输入实际重量" />
</el-form-item>
<el-form-item label="是否处理完毕" prop="isCompleted">
<el-input v-model="form.isCompleted" placeholder="请输入是否处理完毕" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listDetail, getDetail, delDetail, addDetail, updateDetail } from "@/api/csa/detail";
export default {
name: "Detail",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 采摘任务明细表格数据
detailList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
isCompleted: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
taskId: [
{ required: true, message: "任务id不能为空", trigger: "blur" }
],
isCompleted: [
{ required: true, message: "是否处理完毕不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询采摘任务明细列表 */
getList() {
this.loading = true;
listDetail(this.queryParams).then(response => {
this.detailList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
strainId: null,
planWeight: null,
resultWeight: null,
isCompleted: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加采摘任务明细";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDetail(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改采摘任务明细";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDetail(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDetail(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除采摘任务明细编号为"' + ids + '"的数据项?').then(function() {
return delDetail(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/detail/export', {
...this.queryParams
}, `detail_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,340 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="会员姓名" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入会员姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="到期日期" prop="dueDate">
<el-date-picker clearable
v-model="queryParams.dueDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择到期日期">
</el-date-picker>
</el-form-item>
<el-form-item label="是否过期" prop="isExpire">
<el-input
v-model="queryParams.isExpire"
placeholder="请输入是否过期"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:farmer:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:farmer:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:farmer:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:farmer:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="farmerList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="会员id" align="center" prop="id" />
<el-table-column label="会员姓名" align="center" prop="name" />
<el-table-column label="性别" align="center" prop="gender" />
<el-table-column label="金币余额" align="center" prop="coins" />
<el-table-column label="账户余额" align="center" prop="balance" />
<el-table-column label="重量余额" align="center" prop="weight" />
<el-table-column label="拱棚年限余额" align="center" prop="archedYears" />
<el-table-column label="加入日期" align="center" prop="joinDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.joinDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="到期日期" align="center" prop="dueDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.dueDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="是否过期" align="center" prop="isExpire" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:farmer:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:farmer:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改私家农场会员对话框 -->
<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-input v-model="form.name" placeholder="请输入会员姓名" />
</el-form-item>
<el-form-item label="性别" prop="gender">
<el-input v-model="form.gender" placeholder="请输入性别" />
</el-form-item>
<el-form-item label="金币余额" prop="coins">
<el-input v-model="form.coins" placeholder="请输入金币余额" />
</el-form-item>
<el-form-item label="账户余额" prop="balance">
<el-input v-model="form.balance" placeholder="请输入账户余额" />
</el-form-item>
<el-form-item label="重量余额" prop="weight">
<el-input v-model="form.weight" placeholder="请输入重量余额" />
</el-form-item>
<el-form-item label="拱棚年限余额" prop="archedYears">
<el-input v-model="form.archedYears" placeholder="请输入拱棚年限余额" />
</el-form-item>
<el-form-item label="加入日期" prop="joinDate">
<el-date-picker clearable
v-model="form.joinDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择加入日期">
</el-date-picker>
</el-form-item>
<el-form-item label="到期日期" prop="dueDate">
<el-date-picker clearable
v-model="form.dueDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择到期日期">
</el-date-picker>
</el-form-item>
<el-form-item label="是否过期" prop="isExpire">
<el-input v-model="form.isExpire" placeholder="请输入是否过期" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFarmer, getFarmer, delFarmer, addFarmer, updateFarmer } from "@/api/csa/farmer";
export default {
name: "Farmer",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 私家农场会员表格数据
farmerList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
name: null,
dueDate: null,
isExpire: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
name: [
{ required: true, message: "会员姓名不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询私家农场会员列表 */
getList() {
this.loading = true;
listFarmer(this.queryParams).then(response => {
this.farmerList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
name: null,
gender: null,
coins: null,
balance: null,
weight: null,
archedYears: null,
joinDate: null,
dueDate: null,
isExpire: null,
status: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加私家农场会员";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getFarmer(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改私家农场会员";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateFarmer(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addFarmer(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除私家农场会员编号为"' + ids + '"的数据项?').then(function() {
return delFarmer(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/farmer/export', {
...this.queryParams
}, `farmer_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,355 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="会员" prop="memberId">
<el-input
v-model="queryParams.memberId"
placeholder="请输入会员"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="菜地" prop="gardenId">
<el-input
v-model="queryParams.gardenId"
placeholder="请输入菜地"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="种植任务" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入种植任务"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
v-model="queryParams.publishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="发布人" prop="publisher">
<el-input
v-model="queryParams.publisher"
placeholder="请输入发布人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:log:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:log:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:log:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:log:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="logList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="菜地日志id" align="center" prop="id" />
<el-table-column label="会员" align="center" prop="memberId" />
<el-table-column label="菜地" align="center" prop="gardenId" />
<el-table-column label="种植任务" align="center" prop="taskId" />
<el-table-column label="日志类型" align="center" prop="logType" />
<el-table-column label="日志内容" align="center" prop="content" />
<el-table-column label="发布时间" align="center" prop="publishTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.publishTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="发布人" align="center" prop="publisher" />
<el-table-column label="发布状态" align="center" prop="publishStatus" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:log:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:log:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改菜地日志对话框 -->
<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="memberId">
<el-input v-model="form.memberId" placeholder="请输入会员" />
</el-form-item>
<el-form-item label="菜地" prop="gardenId">
<el-input v-model="form.gardenId" placeholder="请输入菜地" />
</el-form-item>
<el-form-item label="种植任务" prop="taskId">
<el-input v-model="form.taskId" placeholder="请输入种植任务" />
</el-form-item>
<el-form-item label="日志内容">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
v-model="form.publishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="发布人" prop="publisher">
<el-input v-model="form.publisher" placeholder="请输入发布人" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listLog, getLog, delLog, addLog, updateLog } from "@/api/csa/log";
export default {
name: "Log",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 菜地日志表格数据
logList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
memberId: null,
gardenId: null,
taskId: null,
logType: null,
publishTime: null,
publisher: null,
publishStatus: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
memberId: [
{ required: true, message: "会员不能为空", trigger: "blur" }
],
gardenId: [
{ required: true, message: "菜地不能为空", trigger: "blur" }
],
logType: [
{ required: true, message: "日志类型不能为空", trigger: "change" }
],
content: [
{ required: true, message: "日志内容不能为空", trigger: "blur" }
],
publishTime: [
{ required: true, message: "发布时间不能为空", trigger: "blur" }
],
publisher: [
{ required: true, message: "发布人不能为空", trigger: "blur" }
],
publishStatus: [
{ required: true, message: "发布状态不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询菜地日志列表 */
getList() {
this.loading = true;
listLog(this.queryParams).then(response => {
this.logList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
memberId: null,
gardenId: null,
taskId: null,
logType: null,
content: null,
publishTime: null,
publisher: null,
publishStatus: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加菜地日志";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getLog(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改菜地日志";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateLog(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addLog(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除菜地日志编号为"' + ids + '"的数据项?').then(function() {
return delLog(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/log/export', {
...this.queryParams
}, `log_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,290 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="作物id" prop="cropId">
<el-input
v-model="queryParams.cropId"
placeholder="请输入作物id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="阶段名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入阶段名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:phase:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:phase:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:phase:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:phase:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="phaseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="阶段id" align="center" prop="id" />
<el-table-column label="阶段名称" align="center" prop="name" />
<el-table-column label="产出" align="center" prop="production" />
<el-table-column label="代表图片" align="center" prop="picture" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:phase:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:phase:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改作物生长阶段对话框 -->
<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="作物id" prop="cropId">
<el-input v-model="form.cropId" placeholder="请输入作物id" />
</el-form-item>
<el-form-item label="阶段名称" prop="name">
<el-input v-model="form.name" placeholder="请输入阶段名称" />
</el-form-item>
<el-form-item label="产出" prop="production">
<el-input v-model="form.production" placeholder="请输入产出" />
</el-form-item>
<el-form-item label="代表图片" prop="picture">
<el-input v-model="form.picture" placeholder="请输入代表图片" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listPhase, getPhase, delPhase, addPhase, updatePhase } from "@/api/csa/phase";
export default {
name: "Phase",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 作物生长阶段表格数据
phaseList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
cropId: null,
name: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
cropId: [
{ required: true, message: "作物id不能为空", trigger: "blur" }
],
name: [
{ required: true, message: "阶段名称不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询作物生长阶段列表 */
getList() {
this.loading = true;
listPhase(this.queryParams).then(response => {
this.phaseList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
cropId: null,
name: null,
production: null,
picture: null,
status: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加作物生长阶段";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getPhase(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改作物生长阶段";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePhase(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPhase(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除作物生长阶段编号为"' + ids + '"的数据项?').then(function() {
return delPhase(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/phase/export', {
...this.queryParams
}, `phase_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,363 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="菜地" prop="gardenId">
<el-input
v-model="queryParams.gardenId"
placeholder="请输入菜地"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:strain:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:strain:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:strain:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:strain:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="strainList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="菜地品种id" align="center" prop="id" />
<el-table-column label="种植任务" align="center" prop="taskId" />
<el-table-column label="作物id" align="center" prop="cropId" />
<el-table-column label="作物阶段" align="center" prop="cropPhaseId" />
<el-table-column label="平方米" align="center" prop="m2" />
<el-table-column label="产出重量" align="center" prop="outputWeight" />
<el-table-column label="是否确定" align="center" prop="isDefinite" />
<el-table-column label="是否种植" align="center" prop="isPlanted" />
<el-table-column label="是否拉秧" align="center" prop="isEnded" />
<el-table-column label="确定时间" align="center" prop="definiteDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.definiteDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="种植日期" align="center" prop="plantedDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.plantedDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="拉秧日期" align="center" prop="endedDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endedDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:strain:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:strain:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改菜地品种对话框 -->
<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="gardenId">
<el-input v-model="form.gardenId" placeholder="请输入菜地" />
</el-form-item>
<el-form-item label="种植任务" prop="taskId">
<el-input v-model="form.taskId" placeholder="请输入种植任务" />
</el-form-item>
<el-form-item label="作物id" prop="cropId">
<el-input v-model="form.cropId" placeholder="请输入作物id" />
</el-form-item>
<el-form-item label="作物阶段" prop="cropPhaseId">
<el-input v-model="form.cropPhaseId" placeholder="请输入作物阶段" />
</el-form-item>
<el-form-item label="平方米" prop="m2">
<el-input v-model="form.m2" placeholder="请输入平方米" />
</el-form-item>
<el-form-item label="产出重量" prop="outputWeight">
<el-input v-model="form.outputWeight" placeholder="请输入产出重量" />
</el-form-item>
<el-form-item label="是否确定" prop="isDefinite">
<el-input v-model="form.isDefinite" placeholder="请输入是否确定" />
</el-form-item>
<el-form-item label="是否种植" prop="isPlanted">
<el-input v-model="form.isPlanted" placeholder="请输入是否种植" />
</el-form-item>
<el-form-item label="是否拉秧" prop="isEnded">
<el-input v-model="form.isEnded" placeholder="请输入是否拉秧" />
</el-form-item>
<el-form-item label="确定时间" prop="definiteDate">
<el-date-picker clearable
v-model="form.definiteDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择确定时间">
</el-date-picker>
</el-form-item>
<el-form-item label="种植日期" prop="plantedDate">
<el-date-picker clearable
v-model="form.plantedDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择种植日期">
</el-date-picker>
</el-form-item>
<el-form-item label="拉秧日期" prop="endedDate">
<el-date-picker clearable
v-model="form.endedDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择拉秧日期">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listStrain, getStrain, delStrain, addStrain, updateStrain } from "@/api/csa/strain";
export default {
name: "Strain",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 菜地品种表格数据
strainList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
gardenId: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
gardenId: [
{ required: true, message: "菜地不能为空", trigger: "blur" }
],
cropId: [
{ required: true, message: "作物id不能为空", trigger: "blur" }
],
m2: [
{ required: true, message: "平方米不能为空", trigger: "blur" }
],
outputWeight: [
{ required: true, message: "产出重量不能为空", trigger: "blur" }
],
isDefinite: [
{ required: true, message: "是否确定不能为空", trigger: "blur" }
],
isPlanted: [
{ required: true, message: "是否种植不能为空", trigger: "blur" }
],
isEnded: [
{ required: true, message: "是否拉秧不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询菜地品种列表 */
getList() {
this.loading = true;
listStrain(this.queryParams).then(response => {
this.strainList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
gardenId: null,
taskId: null,
cropId: null,
cropPhaseId: null,
m2: null,
outputWeight: null,
isDefinite: null,
isPlanted: null,
isEnded: null,
definiteDate: null,
plantedDate: null,
endedDate: null,
status: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加菜地品种";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getStrain(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改菜地品种";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateStrain(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addStrain(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除菜地品种编号为"' + ids + '"的数据项?').then(function() {
return delStrain(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/strain/export', {
...this.queryParams
}, `strain_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,381 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="菜地id" prop="gardenId">
<el-input
v-model="queryParams.gardenId"
placeholder="请输入菜地id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="任务阶段" prop="executionPhase">
<el-input
v-model="queryParams.executionPhase"
placeholder="请输入任务阶段"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="执行人" prop="executor">
<el-input
v-model="queryParams.executor"
placeholder="请输入执行人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="反馈人" prop="feedbacker">
<el-input
v-model="queryParams.feedbacker"
placeholder="请输入反馈人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否处理完毕" prop="isCompleted">
<el-input
v-model="queryParams.isCompleted"
placeholder="请输入是否处理完毕"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['csa:task:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['csa:task:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['csa:task:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['csa:task:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务id" align="center" prop="id" />
<el-table-column label="菜地id" align="center" prop="gardenId" />
<el-table-column label="任务描述" align="center" prop="description" />
<el-table-column label="任务阶段" align="center" prop="executionPhase" />
<el-table-column label="金币花费" align="center" prop="coins" />
<el-table-column label="任务产生时间" align="center" prop="taskTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.taskTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="反馈时间" align="center" prop="feedbackTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.feedbackTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="反馈结果" align="center" prop="feedbackResult" />
<el-table-column label="执行人" align="center" prop="executor" />
<el-table-column label="反馈人" align="center" prop="feedbacker" />
<el-table-column label="是否处理完毕" align="center" prop="isCompleted" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['csa:task:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['csa:task:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改打理任务对话框 -->
<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="菜地id" prop="gardenId">
<el-input v-model="form.gardenId" placeholder="请输入菜地id" />
</el-form-item>
<el-form-item label="任务描述" prop="description">
<el-input v-model="form.description" placeholder="请输入任务描述" />
</el-form-item>
<el-form-item label="任务阶段" prop="executionPhase">
<el-input v-model="form.executionPhase" placeholder="请输入任务阶段" />
</el-form-item>
<el-form-item label="金币花费" prop="coins">
<el-input v-model="form.coins" placeholder="请输入金币花费" />
</el-form-item>
<el-form-item label="任务产生时间" prop="taskTime">
<el-date-picker clearable
v-model="form.taskTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择任务产生时间">
</el-date-picker>
</el-form-item>
<el-form-item label="反馈时间" prop="feedbackTime">
<el-date-picker clearable
v-model="form.feedbackTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择反馈时间">
</el-date-picker>
</el-form-item>
<el-form-item label="反馈结果" prop="feedbackResult">
<el-input v-model="form.feedbackResult" placeholder="请输入反馈结果" />
</el-form-item>
<el-form-item label="执行人" prop="executor">
<el-input v-model="form.executor" placeholder="请输入执行人" />
</el-form-item>
<el-form-item label="反馈人" prop="feedbacker">
<el-input v-model="form.feedbacker" placeholder="请输入反馈人" />
</el-form-item>
<el-form-item label="是否处理完毕" prop="isCompleted">
<el-input v-model="form.isCompleted" placeholder="请输入是否处理完毕" />
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listTask, getTask, delTask, addTask, updateTask } from "@/api/csa/task";
export default {
name: "Task",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 打理任务表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
gardenId: null,
taskType: null,
executionPhase: null,
executor: null,
feedbacker: null,
isCompleted: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
gardenId: [
{ required: true, message: "菜地id不能为空", trigger: "blur" }
],
taskType: [
{ required: true, message: "任务类型不能为空", trigger: "change" }
],
executionPhase: [
{ required: true, message: "任务阶段不能为空", trigger: "blur" }
],
coins: [
{ required: true, message: "金币花费不能为空", trigger: "blur" }
],
taskTime: [
{ required: true, message: "任务产生时间不能为空", trigger: "blur" }
],
isCompleted: [
{ required: true, message: "是否处理完毕不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询打理任务列表 */
getList() {
this.loading = true;
listTask(this.queryParams).then(response => {
this.taskList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
gardenId: null,
taskType: null,
taskSubtype: null,
description: null,
executionPhase: null,
coins: null,
taskTime: null,
feedbackTime: null,
feedbackResult: null,
executor: null,
feedbacker: null,
isCompleted: null,
status: "0",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加打理任务";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getTask(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改打理任务";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateTask(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addTask(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除打理任务编号为"' + ids + '"的数据项?').then(function() {
return delTask(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('csa/task/export', {
...this.queryParams
}, `task_${new Date().getTime()}.xlsx`)
}
}
};
</script>