| | |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | //作业指导书查询 |
| | | export function pageByPageQueryOfHomeworkInstructions(query) { |
| | | return request({ |
| | | url: "/instruction/pageByPageQueryOfHomeworkInstructions", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | //作业指导书 审批 |
| | | export function approvalOfHomeworkInstructionManual(data) { |
| | | return request({ |
| | | url: "/deviceInstruction/approvalOfHomeworkInstructionManual", |
| | | url: "/instruction/approvalOfHomeworkInstructionManual", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | |
| | | //作业指导书 删除 |
| | | export function homeworkGuidebook(query) { |
| | | return request({ |
| | | url: "/deviceInstruction/homeworkGuidebook", |
| | | url: "/instruction/homeworkGuidebook", |
| | | method: "delete", |
| | | params: query, |
| | | }); |
| | |
| | | //作业指导书 编辑查询 |
| | | export function homeworkGuidebookEditor(query) { |
| | | return request({ |
| | | url: "/deviceInstruction/homeworkGuidebookEditor", |
| | | url: "/instruction/homeworkGuidebookEditor", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | |
| | | //作业指导书新增 |
| | | export function newHomeworkGuidebookAdded(data) { |
| | | return request({ |
| | | url: "/deviceInstruction/newHomeworkGuidebookAdded", |
| | | url: "/instruction/newHomeworkGuidebookAdded", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | |
| | | //作业指导书受控文件删除 |
| | | export function deleteHomeworkGuidebook(query) { |
| | | return request({ |
| | | url: "/deviceInstruction/deleteHomeworkGuidebook", |
| | | url: "/instruction/deleteHomeworkGuidebook", |
| | | method: "delete", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //作业指导书 查询 |
| | | export function pageByPageQueryOfHomeworkInstructions(query) { |
| | | return request({ |
| | | url: "/deviceInstruction/pageByPageQueryOfHomeworkInstructions", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | //设备预约接口 |
| | | export function reservationSelectDevice(query) { |
| | | return request({ |
| | |
| | | params: query, |
| | | }); |
| | | } |
| | | //设备预约接口 |
| | | //设备预约接口 删除 |
| | | export function reservationDelete(query) { |
| | | return request({ |
| | | url: "/reservation/delete", |
| | |
| | | params: query, |
| | | }); |
| | | } |
| | | //设备预约接口 |
| | | //设备预约接口 保存 |
| | | export function reservationSave(query) { |
| | | return request({ |
| | | url: "/reservation/save", |
| | |
| | | |
| | | <template> |
| | | <div class="role_manage"> |
| | | <div> |
| | | <el-form :model="entity" inline label-position="right" label-width="80px"> |
| | | <div style="margin-top: 10px"> |
| | | <el-form :model="entity" inline label-position="right"> |
| | | <el-form-item label="状态:"> |
| | | <el-select v-model="entity.deviceStatus" placeholder="全部" size="small" clearable> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | |
| | | @click="currentPage = 1, keyMap = {}, list = [], finishLoding = false, refreshTable()">查 询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- <div class="search_thing"> |
| | | <div class="search_label">状态:</div> |
| | | <el-select v-model="entity.deviceStatus" placeholder="全部" size="small" clearable> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">设备名称:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="entity.deviceName"></el-input> |
| | | </div> |
| | | </div> --> |
| | | |
| | | |
| | | <!-- <div class="search_thing" style="padding-left: 30px;"> |
| | | </div> --> |
| | | </div> |
| | | <div class="table" v-loading="loading"> |
| | | <scroll-pagination @load="refreshTable()" :finishLoding="finishLoding" :list="list" |
| | |
| | | entity: { |
| | | deviceStatus: null, |
| | | deviceName: null, |
| | | orderBy: { field: "id", order: "asc" } |
| | | }, |
| | | options: [], |
| | | list: [], |
| | |
| | | ...this.entity |
| | | }).then(res => { |
| | | if (res.code == 200) { |
| | | this.total = res.data.body.total |
| | | let list = res.data.body.records.map(m => { |
| | | this.total = res.data.total |
| | | let list = res.data.records.map(m => { |
| | | switch (m.deviceStatus) { |
| | | case 0: |
| | | // 正常 |
| | |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm"> |
| | | <!-- 实验室列表 --> |
| | | <el-form-item label="所属部门:"> |
| | | <el-form-item label="所属部门:" required> |
| | | <el-select v-model="formData2.subordinateDepartmentsId" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in subordinateDepartmentsList" :key="item.value" |
| | |
| | | labelPosition: 'right', |
| | | dialogVisible: false, |
| | | dialogVisible2: false, |
| | | addPower: false, |
| | | showData: false, // 数采配置页面 |
| | | tableList: [], |
| | | addDia: true, |
| | | addPower: true, |
| | | //设备类型列表 |
| | | equipmentList: [], |
| | | // 负责人列表 |
| | |
| | | queryParams: {}, |
| | | tableData: [], |
| | | column: [ |
| | | { label: "设备名称", prop: "deviceName", dataType: 'link', linkMethod: 'selectAllByOne' }, |
| | | { label: "设备名称", prop: "deviceName", dataType: 'link', linkMethod: 'selectAllByOne', width: 120 }, |
| | | { label: "设备名称EN", prop: "enDeviceName" }, |
| | | { |
| | | label: "规格型号", |
| | |
| | | { |
| | | label: "设备分类", prop: "largeCategory", dataType: "tag", |
| | | formatData: (params) => { |
| | | return this.equipmentList.find(m => m.value == params).label |
| | | if (this.equipmentList.find(m => m.value == params)) { |
| | | return this.equipmentList.find(m => m.value == params).label |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | return this.equipmentList.find(m => m.value == params).type |
| | | if (this.equipmentList.find(m => m.value == params)) { |
| | | return this.equipmentList.find(m => m.value == params).type |
| | | } else { |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | | { label: "单价", prop: "unitPrice" }, |
| | |
| | | this.$message.error('输入校准周期(月)') |
| | | return |
| | | } |
| | | if (!this.formData2.subordinateDepartmentsId) { |
| | | this.$message.error('请选择所属部门') |
| | | return |
| | | } |
| | | const formData = this.HaveJson(this.formData2) |
| | | formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : '' |
| | | if (formData.authorizedPerson.length === 0) { |
| | |
| | | <template v-slot="scope"> |
| | | <el-button type="text" size="small" @click="downloadFile(scope.row.fileSystemName)">下载</el-button> |
| | | <el-button type="text" size="small" style="color: red;" |
| | | @click="deleteHomeworkGuidebook(scope.row)">删除</el-button> |
| | | <el-button type="text" size="small" @click="instructionEditFun(scope.row)">编辑</el-button> |
| | | <el-button type="text" size="small" @click="approval(scope.row)">审批</el-button> |
| | | @click="deleteHomeworkGuidebook(scope.row)" :disabled="scope.row.status === true">删除</el-button> |
| | | <el-button type="text" size="small" @click="instructionEditFun(scope.row)" :disabled="scope.row.status === true">编辑</el-button> |
| | | <el-button type="text" size="small" @click="approval(scope.row)" :disabled="scope.row.status === true">审批</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | }); |
| | | }, |
| | | downloadFile(fileName) { |
| | | let state = /\.(jpg|jpeg|png|gif)$/i.test(fileName) |
| | | if (state) { |
| | | let url = this.javaApi + '/img/' + fileName; |
| | | fileDownload.downloadIamge(url, fileName) |
| | | } else { |
| | | const url = this.javaApi + '/word/' + fileName |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = fileName; |
| | | link.click(); |
| | | this.$message.success('下载成功') |
| | | } |
| | | this.$download.saveAs(fileName, fileName) |
| | | }, |
| | | instructionEditFun(row) { |
| | | this.dialogVisible = true |
| | |
| | | <template> |
| | | <div class="role_manage"> |
| | | <el-row class="title"> |
| | | <el-col :span="8" style="text-align: left;">预定总览</el-col> |
| | | <el-col :span="16" style="text-align: right;padding-bottom:10px"> |
| | | <el-col :span="24" style="text-align: right;padding:10px 0"> |
| | | <el-date-picker |
| | | v-model="startTime" |
| | | format="yyyy-MM-dd" |
| | |
| | | size="mini" |
| | | type="date" |
| | | value-format="yyyy-MM-dd"/> |
| | | <el-button size="mini" type="primary" @click="ValidateAndQuery">查 询</el-button> |
| | | <el-button size="mini" type="primary" @click="ValidateAndQuery" style="margin-left: 10px">查 询</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="table-container"> |
| | |
| | | } |
| | | }, |
| | | data() { |
| | | |
| | | return { |
| | | timeSlots: ['09:00-12:00', '13:00-18:00', '18:00-22:00'], |
| | | dates: [], |
| | |
| | | startTime: '', |
| | | endTime: '', |
| | | entity: { |
| | | deviceName: null, |
| | | laboratoryName: '', |
| | | storagePoint: '', |
| | | }, |
| | |
| | | reservationSpecification: '' |
| | | }, |
| | | total: '', |
| | | componentData: { |
| | | entity: { |
| | | largeCategory: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | }, |
| | | yuyue: null, |
| | | yuyuetime: '', |
| | | rules: { |
| | |
| | | this.clickSidebar(newVal) |
| | | } |
| | | }, |
| | | |
| | | created() { |
| | | this.clickSidebar(this.clickNodeVal) |
| | | this.initDate(); |
| | | }, |
| | | mounted() { |
| | | this.getStartTimeAndEndTime(); |
| | | |
| | | // this.getStartTimeAndEndTime(); |
| | | }, |
| | | methods: { |
| | | isBeforeDate() { |
| | |
| | | const appointment = this.appointment && this.appointment.split('-') |
| | | let appointment0 = '' |
| | | let appointment1 = '' |
| | | if (appointment !== '') { |
| | | if (appointment) { |
| | | appointment0 = appointment[0].slice(0, 2) |
| | | appointment1 = appointment[1].slice(0, 2) |
| | | } |
| | |
| | | if (!row || row.dateList === null || row.dateList === undefined || row.dateList === "") { |
| | | return '预约'; |
| | | } |
| | | var dateLst = row.dateList |
| | | const dateLst = row.dateList |
| | | for (const dateLstElement of dateLst) { |
| | | if (dateLstElement.date === date) { |
| | | if (dateLstElement.value === 0) { |
| | |
| | | getStartTimeAndEndTime() { |
| | | //查询逻辑 |
| | | this.tableLoading = true; |
| | | reservationSelectDevice({ |
| | | current: this.currentPage, |
| | | size: this.pageSize, |
| | | ...this.entity, |
| | | laboratoryNameIsNull: this.laboratoryNameIsNull |
| | | }).then(res => { |
| | | const params = { |
| | | current: this.currentPage, |
| | | size: this.pageSize, |
| | | starttime: this.startTime, |
| | | endtime: this.endTime, |
| | | laboratoryNameIsNull: this.laboratoryNameIsNull, |
| | | laboratoryName: this.entity.laboratoryName, |
| | | storagePoint: this.entity.storagePoint, |
| | | } |
| | | reservationSelectDevice(params).then(res => { |
| | | this.tableLoading = false; |
| | | if (res.code === 200) { |
| | | this.tableData = res.data; |
| | |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | // 打开预约弹框 |
| | | openModal(date, row) { |
| | | console.log('date', date); |
| | | console.log('row', row); |
| | | this.yuyue = row; |
| | | this.yuyuetime = date; |
| | | this.appointment = row.time |
| | | this.showModal = true; |
| | | this.getList(); |
| | | }, |
| | | // 打开新建预定弹框 |
| | | openAdd() { |
| | | this.addVisiable = true; |
| | | this.addReservation.deviceId = this.yuyue.id; |
| | | // this.addReservation.deviceNumber = this.yuyue.deviceNumber; |
| | | this.addReservation.deviceName = this.yuyue.deviceName; |
| | | this.addReservation.reservationTime = this.yuyuetime + " " + this.yuyue.time; |
| | | this.addReservation.specificTime = this.yuyue.time; |
| | |
| | | } |
| | | }); |
| | | }, |
| | | // 预定信息查询 |
| | | getList() { |
| | | const params = { |
| | | selectReservationParameterPage: this.yuyue.id, |
| | | deviceId: this.yuyue.id, |
| | | reservationTime: this.yuyuetime, |
| | | specificTime: this.yuyue.time, |
| | | } |