| | |
| | | <template> |
| | | <div class="list"> |
| | | <TableCustom :queryForm="queryForm" :tableData="tableData" :total="total" @currentChange="handleCurrentChange" |
| | | @sizeChange="handleSizeChange"> |
| | | <template #search> |
| | | <el-form label-width="140px" inline> |
| | | <el-form-item label="项目组名称:"> |
| | | <el-input v-model="queryForm.teamName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="项目负责人:"> |
| | | <el-input v-model="queryForm.personCharge" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="创建日期:"> |
| | | <el-date-picker v-model="queryForm.createdDate" type="daterange" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item class="search-btn-box"> |
| | | <el-button @click="reset">重置</el-button> |
| | | <el-button type="primary" @click="search">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </template> |
| | | <template #setting> |
| | | <el-button @click="handleProject('add')" class="el-icon-plus" type="primary"> |
| | | 新增菌种库项目组</el-button> |
| | | </template> |
| | | <template #table> |
| | | <el-table-column prop="teamName" label="菌种库项目组名称" /> |
| | | <el-table-column prop="personCharge" label="菌种库项目负责人" /> |
| | | <el-table-column prop="staffName" label="项目组成员" /> |
| | | <el-table-column prop="createTime" label="项目创建时间" /> |
| | | <el-table-column prop="status" label="状态"> |
| | | <template #default="{ row }"> |
| | | <el-tag v-if="row.status == 1" type="success">正常运作</el-tag> |
| | | <el-tag v-else type="danger">已封存</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作"> |
| | | <template #default="{ row }"> |
| | | <el-button v-if="row.status == 1" type="text" @click="handleChangeStatus(row, 2)">封存</el-button> |
| | | <el-button v-if="row.status == 2" type="text" @click="handleChangeStatus(row, 1)">解封</el-button> |
| | | <el-button type="text" @click="handleProject('edit', row.id)">编辑</el-button> |
| | | <el-button type="text" @click="handleProject('detail', row.id)">详情</el-button> |
| | | <el-button type="text" @click="handleDel(row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | </TableCustom> |
| | | <ShowDelConfirm :show="showDelConfirm" @close="showDelConfirm = false" @confirm="handleDelConfirm" /> |
| | | <ShowDelConfirm :title="changeStatusTitle" :tip="changeStatusTip" :show="changeStatus" |
| | | @close="changeStatus = false" @confirm="handleChangeStatusConfirm" /> |
| | | </div> |
| | | <div class="list"> |
| | | <TableCustom |
| | | :queryForm="queryForm" |
| | | :tableData="tableData" |
| | | :total="total" |
| | | @currentChange="handleCurrentChange" |
| | | @sizeChange="handleSizeChange" |
| | | > |
| | | <template #search> |
| | | <el-form label-width="140px" inline> |
| | | <el-form-item label="项目组名称:"> |
| | | <el-input |
| | | v-model="queryForm.teamName" |
| | | placeholder="请输入" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="项目负责人:"> |
| | | <el-input |
| | | v-model="queryForm.personCharge" |
| | | placeholder="请输入" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="创建日期:"> |
| | | <el-date-picker |
| | | v-model="queryForm.createdDate" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item class="search-btn-box"> |
| | | <el-button @click="reset">重置</el-button> |
| | | <el-button type="primary" @click="search">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </template> |
| | | <template #setting> |
| | | <el-button |
| | | @click="handleProject('add')" |
| | | class="el-icon-plus" |
| | | type="primary" |
| | | > |
| | | 新增菌种库项目组</el-button |
| | | > |
| | | </template> |
| | | <template #table> |
| | | <el-table-column prop="teamName" label="菌种库项目组名称" /> |
| | | <el-table-column prop="personCharge" label="菌种库项目负责人" /> |
| | | <el-table-column prop="staffName" label="项目组成员" /> |
| | | <el-table-column prop="createTime" label="项目创建时间" /> |
| | | <el-table-column prop="status" label="状态"> |
| | | <template #default="{ row }"> |
| | | <el-tag v-if="row.status == 1" type="success">正常运作</el-tag> |
| | | <el-tag v-else type="danger">已封存</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作"> |
| | | <template #default="{ row }"> |
| | | <el-button |
| | | v-if="row.status == 1" |
| | | type="text" |
| | | @click="handleChangeStatus(row, 2)" |
| | | >封存</el-button |
| | | > |
| | | <el-button |
| | | v-if="row.status == 2" |
| | | type="text" |
| | | @click="handleChangeStatus(row, 1)" |
| | | >解封</el-button |
| | | > |
| | | <el-button type="text" @click="handleProject('edit', row.id)" |
| | | >编辑</el-button |
| | | > |
| | | <el-button type="text" @click="handleProject('detail', row.id)" |
| | | >详情</el-button |
| | | > |
| | | <el-button type="text" @click="handleDel(row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | </TableCustom> |
| | | <ShowDelConfirm |
| | | :show="showDelConfirm" |
| | | @close="showDelConfirm = false" |
| | | @confirm="handleDelConfirm" |
| | | /> |
| | | <ShowDelConfirm |
| | | :title="changeStatusTitle" |
| | | :tip="changeStatusTip" |
| | | :show="changeStatus" |
| | | @close="changeStatus = false" |
| | | @confirm="handleChangeStatusConfirm" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getProjectList, changeStatus, deleteProject } from './service' |
| | | import { getProjectList, changeStatus, deleteProject } from "./service"; |
| | | export default { |
| | | name: 'ProjectList', |
| | | data() { |
| | | return { |
| | | showDelConfirm: false, |
| | | rowId: '', |
| | | changeStatus: false, |
| | | changeStatusTitle: '', |
| | | changeStatusTip: '', |
| | | tableData: [], |
| | | queryForm: { |
| | | pageSize: 10, |
| | | pageNum: 1 |
| | | }, |
| | | total: 0 |
| | | } |
| | | name: "ProjectList", |
| | | data() { |
| | | return { |
| | | showDelConfirm: false, |
| | | rowId: "", |
| | | changeStatus: false, |
| | | changeStatusTitle: "", |
| | | changeStatusTip: "", |
| | | tableData: [], |
| | | queryForm: { |
| | | pageSize: 10, |
| | | pageNum: 1, |
| | | }, |
| | | total: 0, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | handleProject(type, id) { |
| | | if (type == "add") { |
| | | this.$router.push({ |
| | | path: "/projectList/addProject", |
| | | }); |
| | | return; |
| | | } |
| | | if (type == "edit") { |
| | | this.$router.push({ |
| | | path: "/projectList/editProject", |
| | | query: { |
| | | id, |
| | | }, |
| | | }); |
| | | return; |
| | | } |
| | | if (type == "detail") { |
| | | this.$router.push({ |
| | | path: "/projectList/detailProject", |
| | | query: { |
| | | id, |
| | | }, |
| | | }); |
| | | return; |
| | | } |
| | | }, |
| | | created() { |
| | | this.getList() |
| | | handleDel(row) { |
| | | this.rowId = row.id; |
| | | this.showDelConfirm = true; |
| | | }, |
| | | methods: { |
| | | handleProject(type, id) { |
| | | if (type == 'add') { |
| | | this.$router.push({ |
| | | path: '/projectList/addProject' |
| | | }) |
| | | return |
| | | } |
| | | if (type == 'edit') { |
| | | this.$router.push({ |
| | | path: '/projectList/editProject', |
| | | query: { |
| | | id |
| | | } |
| | | }) |
| | | return |
| | | } |
| | | if (type == 'detail') { |
| | | this.$router.push({ |
| | | path: '/projectList/detailProject', |
| | | query: { |
| | | id |
| | | } |
| | | }) |
| | | return |
| | | } |
| | | }, |
| | | handleDel(row) { |
| | | this.rowId = row.id |
| | | this.showDelConfirm = true |
| | | }, |
| | | handleDelConfirm() { |
| | | deleteProject({ id: this.rowId }).then(res => { |
| | | this.showDelConfirm = false |
| | | this.msgsuccess('删除成功') |
| | | this.rowId = '' |
| | | this.getList() |
| | | }) |
| | | }, |
| | | handleChangeStatus(row, status) { |
| | | this.rowId = row.id |
| | | this.changeStatusTitle = status == 1 ? '确认要封存这个项目组吗?' : '确认要解封该项目组吗?' |
| | | this.changeStatusTip = status == 1 ? '封存后项目组内人员看不到数据,审批人仍然可见数据。' : '解封后项目组内人员数据恢复。' |
| | | this.changeStatus = true |
| | | }, |
| | | handleChangeStatusConfirm() { |
| | | changeStatus({ id: this.rowId, status: this.status }).then(res => { |
| | | this.changeStatus = false |
| | | this.msgsuccess('操作成功') |
| | | this.rowId = '' |
| | | this.changeStatusTitle = '' |
| | | this.changeStatusTip = '' |
| | | this.getList() |
| | | }) |
| | | }, |
| | | handleCurrentChange(page) { |
| | | this.queryForm.pageNum = page |
| | | this.getList() |
| | | }, |
| | | handleSizeChange(size) { |
| | | this.queryForm.pageSize = size |
| | | this.getList() |
| | | }, |
| | | getList() { |
| | | let obj = { |
| | | ...this.queryForm |
| | | } |
| | | if (obj.createdDate) { |
| | | obj.startTime = moment(obj.createdDate[0]).format('YYYY-MM-DD') |
| | | obj.endTime = moment(obj.createdDate[1]).format('YYYY-MM-DD') |
| | | delete obj.createdDate |
| | | } |
| | | getProjectList(obj).then(res => { |
| | | this.tableData = res.data.records |
| | | this.total = res.data.total |
| | | }) |
| | | }, |
| | | reset() { |
| | | this.queryForm = { |
| | | pageSize: 10, |
| | | pageNum: 1 |
| | | } |
| | | this.getList() |
| | | }, |
| | | search() { |
| | | this.getList() |
| | | } |
| | | } |
| | | } |
| | | handleDelConfirm() { |
| | | deleteProject({ id: this.rowId }).then((res) => { |
| | | this.showDelConfirm = false; |
| | | this.$message.success("删除成功"); |
| | | this.rowId = ""; |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | handleChangeStatus(row, status) { |
| | | this.rowId = row.id; |
| | | this.changeStatusTitle = |
| | | status == 2 ? "确认要封存这个项目组吗?" : "确认要解封该项目组吗?"; |
| | | this.changeStatusTip = |
| | | status == 2 |
| | | ? "封存后项目组内人员看不到数据,审批人仍然可见数据。" |
| | | : "解封后项目组内人员数据恢复。"; |
| | | this.changeStatus = true; |
| | | }, |
| | | handleChangeStatusConfirm() { |
| | | changeStatus({ id: this.rowId, status: this.status }).then((res) => { |
| | | this.changeStatus = false; |
| | | this.$message.success("操作成功"); |
| | | this.rowId = ""; |
| | | this.changeStatusTitle = ""; |
| | | this.changeStatusTip = ""; |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | handleCurrentChange(page) { |
| | | this.queryForm.pageNum = page; |
| | | this.getList(); |
| | | }, |
| | | handleSizeChange(size) { |
| | | this.queryForm.pageSize = size; |
| | | this.getList(); |
| | | }, |
| | | getList() { |
| | | let obj = { |
| | | ...this.queryForm, |
| | | }; |
| | | if (obj.createdDate) { |
| | | obj.startTime = moment(obj.createdDate[0]).format("YYYY-MM-DD"); |
| | | obj.endTime = moment(obj.createdDate[1]).format("YYYY-MM-DD"); |
| | | delete obj.createdDate; |
| | | } |
| | | getProjectList(obj).then((res) => { |
| | | this.tableData = res.data.records; |
| | | this.total = res.data.total; |
| | | }); |
| | | }, |
| | | reset() { |
| | | this.queryForm = { |
| | | pageSize: 10, |
| | | pageNum: 1, |
| | | }; |
| | | this.getList(); |
| | | }, |
| | | search() { |
| | | this.getList(); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | |
| | | .list { |
| | | height: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | </style> |