| | |
| | | <script> |
| | | import SignatureCanvas from "@/components/SignatureCanvas.vue"; |
| | | import EditDispatch from "./editDispatch.vue"; |
| | | import { getList } from './service' |
| | | |
| | | export default { |
| | | name: "dispatchingList", |
New file |
| | |
| | | import axios from '@/utils/request'; |
| | | |
| | | // 列表 |
| | | export const getList = (data) => { |
| | | return axios.post('/t-experiment-dispatch/api/t-experiment-dispatch/pageList', { ...data }) |
| | | } |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="选择项目组" :visible.sync="show" width="80%"> |
| | | <el-dialog title="选择实验调度" :visible.sync="show" width="80%"> |
| | | <TableCustom :queryForm="form" :tableData="tableData" :total="total" :height="null"> |
| | | <template #search> |
| | | <el-form :model="form" label-width="140px" inline> |
| | | <el-form-item label="所属项目课题方案:"> |
| | | <el-input v-model="form.planName" placeholder="请输入"></el-input> |
| | | <el-input v-model="form.projectName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="实验编号:"> |
| | | <el-input v-model="form.planCode" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="实验名称:"> |
| | | <el-input v-model="form.creator" placeholder="请输入"></el-input> |
| | | <el-input v-model="form.experimentCode" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="通知时间:"> |
| | | <el-date-picker v-model="form.createTime" type="daterange" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"></el-date-picker> |
| | | <el-date-picker |
| | | v-model="form.createTime" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="状态:"> |
| | | <el-select v-model="form.status" placeholder="请选择"> |
| | | <el-option label="待确认" value="待确认"></el-option> |
| | | <el-option label="已确认" value="已确认"></el-option> |
| | | <el-option label="草稿箱" :value="-1"></el-option> |
| | | <el-option label="待确认" :value="1"></el-option> |
| | | <el-option label="已确认" :value="2"></el-option> |
| | | <el-option label="已封存" :value="3"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" class="search-btn-box"> |
| | |
| | | <el-table-column prop="planName" label="实验名称"></el-table-column> |
| | | <el-table-column prop="stage" label="通知时间"></el-table-column> |
| | | <el-table-column prop="stage" label="实验开始时间"></el-table-column> |
| | | <el-table-column prop="stage" label="试验结束时间"></el-table-column> |
| | | <el-table-column prop="stage" label="实验结束时间"></el-table-column> |
| | | <el-table-column prop="stage" label="参加人员"></el-table-column> |
| | | <el-table-column prop="creator" label="状态"></el-table-column> |
| | | </template> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getDispatchList } from '../service'; |
| | | |
| | | export default { |
| | | props: ['show'], |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | form: { |
| | | projectName: "", |
| | | experimentCode: "", |
| | | createTime: [], |
| | | status: null, |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | }, |
| | | tableData: [], |
| | | total: 0 |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | | resetForm() { |
| | | |
| | | this.form = { |
| | | projectName: "", |
| | | experimentCode: "", |
| | | createTime: [], |
| | | status: null, |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | }; |
| | | this.handleSearch(); |
| | | }, |
| | | handleSearch() { |
| | | |
| | | async handleSearch() { |
| | | const params = { |
| | | projectName: this.form.projectName, |
| | | experimentCode: this.form.experimentCode, |
| | | startTime: this.form.createTime[0] || null, |
| | | endTime: this.form.createTime[1] || null, |
| | | status: this.form.status, |
| | | pageNum: this.form.pageNum, |
| | | pageSize: this.form.pageSize |
| | | }; |
| | | try { |
| | | const res = await getDispatchList(params); |
| | | this.tableData = res.records || []; |
| | | this.total = res.total || 0; |
| | | } catch (error) { |
| | | console.error("查询失败:", error); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .dialog-footer { |
| | | display: flex |
| | | ; |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 10px; |
| | | } |
| | | ::v-deep .el-range-editor--small { |
| | | line-height: 30px !important; |
| | | } |
| | | </style> |
| | |
| | | <TableCustom :queryForm="form" :tableData="tableData" :total="total"> |
| | | <template #search> |
| | | <el-form :model="form" labelWidth="auto" inline> |
| | | <el-form-item label="所属项目课题方案:"> |
| | | <el-input v-model="form.planName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="实验编号:"> |
| | | <el-input v-model="form.planCode" placeholder="请输入"></el-input> |
| | | <el-input v-model="form.experimentCode" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="创建人:" v-if="isChemist"> |
| | | <el-input v-model="form.creator" placeholder="请输入"></el-input> |
| | | <el-form-item label="实验名称:"> |
| | | <el-input v-model="form.experimentName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="所属项目课题方案:"> |
| | | <el-input v-model="form.projectName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="创建时间:"> |
| | | <el-date-picker |
| | |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="状态:" v-if="!isChemist"> |
| | | <el-input v-model="form.approver" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="实验名称:" v-if="isChemist"> |
| | | <el-input v-model="form.experimentName" placeholder="请输入"></el-input> |
| | | <el-form-item label="状态:"> |
| | | <el-select v-model="form.status" placeholder="请选择"> |
| | | <el-option label="草稿箱" :value="-1"></el-option> |
| | | <el-option label="已发送待提交" :value="1"></el-option> |
| | | <el-option label="已提交" :value="2"></el-option> |
| | | <el-option label="已封存" :value="3"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="default" @click="resetForm">重置</el-button> |
| | |
| | | |
| | | <script> |
| | | import ApprovalDialog from './components/approvalDialog.vue' |
| | | import { getList } from './service' |
| | | |
| | | export default { |
| | | name: "ProjectList", |
| | |
| | | userRole: 'chemist', // 用户角色 |
| | | currentType: 'list', // 当前显示类型:list-列表,draft-草稿箱 |
| | | form: { |
| | | planName: "", |
| | | planCode: "", |
| | | creator: "", |
| | | createTime: [], |
| | | approver: "", |
| | | status: "", |
| | | experimentCode: "", |
| | | experimentName: "", |
| | | sampleCount: "", |
| | | receivedStatus: "" |
| | | projectName: "", |
| | | createTime: [], |
| | | status: null, |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | }, |
| | | tableData: [], |
| | | total: 0, |
| | |
| | | }, |
| | | resetForm() { |
| | | this.form = { |
| | | planName: "", |
| | | planCode: "", |
| | | creator: "", |
| | | createTime: [], |
| | | approver: "", |
| | | status: "", |
| | | experimentCode: "", |
| | | experimentName: "", |
| | | sampleCount: "", |
| | | receivedStatus: "" |
| | | projectName: "", |
| | | createTime: [], |
| | | status: null, |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | }; |
| | | this.handleSearch(); |
| | | }, |
| | | handleSearch() { |
| | | // 实现查询逻辑 |
| | | console.log("查询条件:", this.form); |
| | | async handleSearch() { |
| | | const params = { |
| | | experimentCode: this.form.experimentCode, |
| | | experimentName: this.form.experimentName, |
| | | projectName: this.form.projectName, |
| | | startTime: this.form.createTime[0] || null, |
| | | endTime: this.form.createTime[1] || null, |
| | | status: this.form.status, |
| | | pageNum: this.form.pageNum, |
| | | pageSize: this.form.pageSize |
| | | }; |
| | | try { |
| | | const res = await getList(params) |
| | | this.tableData = res.records || []; |
| | | this.total = res.total || 0; |
| | | } catch (error) { |
| | | console.error("查询失败:", error); |
| | | } |
| | | }, |
| | | getStatusType(status) { |
| | | const statusMap = { |
| | |
| | | this.getTableData(); |
| | | }, |
| | | getTableData() { |
| | | // 根据currentType请求不同的数据 |
| | | if (this.currentType === 'list') { |
| | | this.tableData = this.mockListData; |
| | | this.total = this.mockListData.length; |
| | | } else { |
| | | this.tableData = this.mockDraftData; |
| | | this.total = this.mockDraftData.length; |
| | | } |
| | | this.handleSearch(); |
| | | }, |
| | | }, |
| | | }; |
New file |
| | |
| | | import axios from '@/utils/request'; |
| | | |
| | | // 列表 |
| | | export const getList = (data) => { |
| | | return axios.post('/t-sampling-record/api/t-sampling-record/pageList', { ...data }) |
| | | } |
| | | |
| | | // 获取实验调度分页列表 |
| | | export const getDispatchList = (data) => { |
| | | return axios.post('/t-experiment-dispatch/api/t-experiment-dispatch/pageList', { ...data }) |
| | | } |