all преди 5 години
родител
ревизия
18ff37fc0a

+ 4 - 4
frontend_web/src/api/demo/student.js

@@ -4,7 +4,7 @@ export default {
   // 获取用户列表
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'student/getpagelist',
+      url: process.env.VUE_APP_API + 'student/getpagelist',
       method: 'get',
       params: params
     })
@@ -12,7 +12,7 @@ export default {
   // 添加或修改
   save (formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'student/savestudent',
+      url: process.env.VUE_APP_API + 'student/savestudent',
       method: 'post',
       data: formData
     })
@@ -20,7 +20,7 @@ export default {
   // 获取学生详情
   getEntityById (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'student/getdetailbyid',
+      url: process.env.VUE_APP_API + 'student/getdetailbyid',
       method: 'get',
       params: params
     })
@@ -28,7 +28,7 @@ export default {
   // 删除学生
   delete (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'student/deletestudentbyid',
+      url: process.env.VUE_APP_API + 'student/deletestudentbyid',
       method: 'get',
       params: params
     })

+ 5 - 5
frontend_web/src/api/instrument.js

@@ -4,7 +4,7 @@ export default {
    // 产品方案 ----获取产品信息列表
   getAllInstrument(params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'instrument/getallinstrument',
+      url: process.env.VUE_APP_API + 'instrument/getallinstrument',
       method: 'get', 
       params: params
     })
@@ -12,7 +12,7 @@ export default {
 
   getOneInstrument(params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'instrument/getoneinstrument',
+      url: process.env.VUE_APP_API + 'instrument/getoneinstrument',
       method: 'get', 
       params: params
     })
@@ -21,7 +21,7 @@ export default {
   //删除产品信息
    deleteInstrument(params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'instrument/deleteinstrument',
+      url: process.env.VUE_APP_API + 'instrument/deleteinstrument',
       method: 'delete',
       params: params
     })
@@ -30,7 +30,7 @@ export default {
    // 保存产品方案
   AddInstrument (data) {
     return request({
-      url: process.env.VUE_APP_API02 + 'instrument/addinstrument',
+      url: process.env.VUE_APP_API + 'instrument/addinstrument',
       method: 'post',
       data: data
     })
@@ -38,7 +38,7 @@ export default {
   
   UpdateInstrument (data) {
     return request({
-      url: process.env.VUE_APP_API02 + 'instrument/updateinstrument',
+      url: process.env.VUE_APP_API + 'instrument/updateinstrument',
       method: 'post',
       data: data
     })

+ 487 - 0
frontend_web/src/api/instrumentroom.js

@@ -0,0 +1,487 @@
+import request from '@/plugin/axios'
+// 设备管理 初始化列表数据
+export function searchdata (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/initlistdata?CalibrationTime=',
+    method: 'get',
+    params: params
+  })
+}
+// 设备管理 instrumentedit初始数据
+export function initData (pid, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/editinstumentinfo/' + pid,
+    method: 'get',
+    params: params
+  })
+}
+// 设备管理  获取设备大类
+export function classificationlist (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'items/worditem',
+    method: 'get',
+    params: params
+  })
+}
+// 设备管理 编辑修改
+export function savedataedit (Id, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/saveeditinstument/' + Id,
+    method: 'put',
+    data: params
+  })
+}
+// 设备管理 添加页保存数据
+export function getSaveinstrument (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/addinstument',
+    method: 'post',
+    data: params
+  })
+}
+// 设备管理 保存数据
+export function instrumentGetCode (Code, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getCode?Code=' + Code,
+    method: 'get',
+    params: params
+  })
+}
+// 设备管理 删除数据
+export function deleteinstrument (Id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deleteinstument/' + Id,
+    method: 'delete'
+  })
+}
+// 运行记录 初始化运行记录
+export function searchdatayx (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/initinstrumenrunrecordlist',
+    method: 'get',
+    params: params
+  })
+}
+// 质量管理
+export function searchdatazl (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/initInstrumenMaintainLoglist',
+    method: 'get',
+    params: params
+  })
+}
+// 质量管理 获取样本单位
+export function OperaTpyelist (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'items/worditem',
+    method: 'get',
+    params: params
+  })
+}
+// 质量管理  保存
+export function maintainsavedata (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/addinstrumenMaintainLog',
+    method: 'post',
+    data: params
+  })
+}
+// 质量管理  保存
+export function saveeditmaintainlog (Id, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/saveeditmaintainlog/' + Id,
+    method: 'put',
+    data: params
+  })
+}
+// 质量管理  获取添加中设备名单下拉
+export function selectinstrument (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/selectlist',
+    method: 'get',
+    data: params
+  })
+}
+// 质量管理  获取设备名单下拉
+export function DonorsInfoAttachment (operaid, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getMaintainLogAttachment?MaintainLogId=' + operaid,
+    method: 'get',
+    data: params
+  })
+}
+// 质量管理 获取initData id
+export function initDatamaintainlog (pid, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getinstrumenMaintainLog/' + pid,
+    method: 'get',
+    params: params
+  })
+}
+// 质量管理  删除设备信息
+export function deleteinstrumentzl (Id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deletemaintainlog/' + Id,
+    method: 'delete'
+  })
+}
+// 质量管理 根据设备名称ID查询 设备编号
+export function InstrumenCode (InstrumenId, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getInstrumenCode?Id=' + InstrumenId,
+    method: 'get',
+    params: params
+  })
+}
+// 质量管理  保存附件
+export function savedataOne (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/savesampleattach',
+    method: 'put',
+    data: params
+  })
+}
+// 删除设备运行信息
+export function deleteinstumentruninfo (Id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deleteinstumentruninfo/' + Id,
+    method: 'delete'
+  })
+}
+// 插入设备运行信息
+export function postinstrument (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/postinstrument',
+    method: 'post',
+    data: params
+  })
+}
+// 根据维护记录表Id删除质量附件表
+export function deleteInstrument (operaid) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/maintainLogAttachmentdeletearrt/' + operaid,
+    method: 'delete'
+  })
+}
+// 房间记录展示
+export function searchmanagingroomdata (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getmanagingrooms',
+    method: 'get',
+    params: params
+  })
+}
+// 房间信息  保存
+export function saveroomdata (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/addmanaingrooms',
+    method: 'post',
+    data: params
+  })
+}
+// 房间信息 编辑修改
+export function savedatamanagingrooms (Id, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/updatmanagingrooms/' + Id,
+    method: 'post',
+    data: params
+  })
+}
+// 删除房间信息
+export function deletemanagingrooms (Id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deletemanagingrooms/' + Id,
+    method: 'delete'
+  })
+}
+// 房间信息 编辑修改
+export function initdatamanagingrooms (Id, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getmanagingroomedit/' + Id,
+    method: 'get',
+    data: params
+  })
+}
+// 设备关联房间
+export function searchroominstrumentdata (Id, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/initroomdata/' + Id,
+    method: 'get',
+    params: params
+  })
+}
+// 房间记录展示
+export function searchmanagingroomtree (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getmanagingroomstree',
+    method: 'get',
+    params: params
+  })
+}
+// 删除房间关联设备信息信息
+export function deleteinstrumentrooms (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deleteinstrumentrooms',
+    method: 'delete',
+    params: params
+  })
+}
+// 添加设备关联房间
+export function getinstrumentinit (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getinstrumentinit',
+    method: 'get',
+    params: params
+  })
+}
+// 设备关联房间  保存
+export function savesinstrumentinrooms (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/addinstrumentinrooms',
+    method: 'get',
+    params: params
+  })
+}
+// 附件上传
+export function savesampleattach (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/savesampleattach',
+    method: 'put',
+    data: params
+  })
+}
+// 设备管理  获取供应商
+export function getsupplierlist (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getsupplier',
+    method: 'get',
+    params: params
+  })
+}
+// 获取房间号
+export function getRoomNum (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getroomnum',
+    method: 'get',
+    params: params
+  })
+}
+// 通过房间id获取房间信息
+export function getRoomDataById (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getroombyid',
+    method: 'get',
+    params: params
+  })
+}
+
+// 获取房间id和设备大类获取设备列表
+export function getEquipCode (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getequipcode',
+    method: 'get',
+    params: params
+  })
+}
+
+// 通过设备id获取设备信息
+export function getEquipDataById (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getequipbyid',
+    method: 'get',
+    params: params
+  })
+}
+
+// 获取首页设备校准提醒信息
+export function getIndexInstCaliReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getindexinstrumentcalibration',
+    method: 'get',
+    params: params
+  })
+}
+
+// 获取点检设备列表
+export function getMaintenancePointInstLsReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getmaintenancepointlist',
+    method: 'get',
+    params: params
+  })
+}
+
+// 获取点检设备列表
+export function savePointReq (data) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/savepoint',
+    method: 'post',
+    data: data
+  })
+}
+
+// 获取单台设备所有维护点信息
+export function getInstrumentPointsReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getinstrumentpoints',
+    method: 'get',
+    params: params
+  })
+}
+
+// 删除维护点
+export function deletePointReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deletepoint',
+    method: 'delete',
+    params: params
+  })
+}
+
+// 删除维护点
+export function updatePointReq (data) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/updatepoint',
+    method: 'put',
+    data: data
+  })
+}
+
+// 保存添加维护设备
+export function saveInstrumentReq (data) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/saveinstruments',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除维护设备
+export function deleteMaintenanceInstrReq (data) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deletemaintenanceinstrument',
+    method: 'put',
+    data: data
+  })
+}
+
+// 获取维护区域
+export function getMaintenanceAreaReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getmaintenancearea',
+    method: 'get',
+    params: params
+  })
+}
+// 维修保养 初始化运行记录 (设备详情)
+export function searchdatawxbydetails (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/initInstrumenMaintainLoglistdetails',
+    method: 'get',
+    params: params
+  })
+}
+// 运行记录 初始化运行记录 (设备详情)
+export function searchdatayxdetails (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getinstrumenrunrecorddetails',
+    method: 'get',
+    params: params
+  })
+}
+
+// 运行记录 初始化运行记录 (设备详情、报废)
+export function searchdatayxdetailsbf (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/initInstrumenMaintainLoglistbf',
+    method: 'get',
+    params: params
+  })
+}
+
+// 课题管理物料详情 初始化列表数据
+export function projectinitlistdata (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/projectinitlistdata',
+    method: 'get',
+    params: params
+  })
+}
+
+// 删除物料请求
+export function deletesupplierlist (id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/projectinitlistdatadelete/' + id,
+    method: 'delete'
+  })
+}
+
+// 课题管理物料详情 初始化列表数据 添加
+export function projectmanagementinadd (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/projectmanagementinadd',
+    method: 'post',
+    params: params
+  })
+}
+
+export function searchdatapro (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getinstrumentproject',
+    method: 'get',
+    params: params
+  })
+}
+
+export function getAllPlansReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/getallplans',
+    method: 'get',
+    params: params
+  })
+}
+
+// 生成新计划信息
+export function generateNewPlanReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/generatenewplan',
+    method: 'put',
+    params: params
+  })
+}
+
+// 编辑物料信息请求
+export function editMaterialInfoReqprosb (materialId, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/editmaterialinfoprosb/' + materialId,
+    method: 'put',
+    data: params
+  })
+}
+
+// 删除计划信息
+export function delPlanInfoReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/deleteplaninfo',
+    method: 'delete',
+    params: params
+  })
+}
+
+// 保存编辑计划信息
+export function updatePlanInfoReq (data) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/updateplaninfo',
+    method: 'put',
+    data: data
+  })
+}
+
+// 更新计划
+export function updatePlanReq (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'instrument/updateplan',
+    method: 'put',
+    params: params
+  })
+}

+ 4 - 4
frontend_web/src/api/micro/student.js

@@ -4,7 +4,7 @@ export default {
   // 获取用户列表
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'micro/student/getpagelist',
+      url: process.env.VUE_APP_API + 'micro/student/getpagelist',
       method: 'get',
       params: params
     })
@@ -12,7 +12,7 @@ export default {
   // 添加或修改
   save (formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'micro/student/savestudent',
+      url: process.env.VUE_APP_API + 'micro/student/savestudent',
       method: 'post',
       data: formData
     })
@@ -20,7 +20,7 @@ export default {
   // 获取学生详情
   getEntityById (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'micro/student/getdetailbyid',
+      url: process.env.VUE_APP_API + 'micro/student/getdetailbyid',
       method: 'get',
       params: params
     })
@@ -28,7 +28,7 @@ export default {
   // 删除学生
   delete (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'micro/student/deletestudentbyid',
+      url: process.env.VUE_APP_API + 'micro/student/deletestudentbyid',
       method: 'get',
       params: params
     })

+ 84 - 0
frontend_web/src/api/setting/samplenoteitem.js

@@ -0,0 +1,84 @@
+import request from '@/plugin/axios'
+export function getSamplenoteItemList (param) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'samplenoteitem/list',
+    method: 'get',
+    params: param
+  })
+}
+export function getmodel (id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'samplenoteitem/getmodel/' + id,
+    method: 'get'
+  })
+}
+export function getmodelbyid (id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'solutionsextends/getmodel/' + id,
+    method: 'get'
+  })
+}
+export function updateSampleNoteItem (id, params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'solutionsextends/' + id,
+    method: 'put',
+    data: params
+  })
+}
+export function addSampleNoteItem (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'samplenoteitem',
+    method: 'post',
+    data: params
+  })
+}
+export function addSampleNoteItemforfa (params) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'solutionsextends',
+    method: 'post',
+    data: params
+  })
+}
+
+export function getunitlist () {
+  return request({
+    url: process.env.VUE_APP_API02 + 'solutionsextends/getunitlist',
+    method: 'get'
+  })
+}
+export function deleteSampleNoteItem (id, name) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'samplenoteitem/' + id + '?name=' + name,
+    method: 'delete'
+  })
+}
+export function grouplist () {
+  return request({
+    url: process.env.VUE_APP_API02 + 'extends/grouplist',
+    method: 'get'
+  })
+}
+export function getTypeNoteItem (id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'sampletype/getTypeNoteItem?Id=' + id,
+    method: 'get'
+  })
+}
+export function getTypeNoteItemfa (id) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'solutionsextends/getTypeNoteItem?Id=' + id,
+    method: 'get'
+  })
+}
+export function updateSampleTypeNoteItemName (id, name) {
+  return request({
+    url: process.env.VUE_APP_API02 + 'sampletype/updateSampleTypeNoteItemName?UserNoteItemId=' + id + '&Name=' + name,
+    method: 'get'
+  })
+}
+export function getroomtypelist () {
+  return request({
+    url: process.env.VUE_APP_API02 + 'cellspreparat/getroomtypelist',
+    method: 'get'
+  })
+}

+ 1 - 1
frontend_web/src/api/sidebar.js

@@ -3,7 +3,7 @@ import request from '@/plugin/axios'
 export default {
   getAllbars (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'permission/getallpermissionbyuser',
+      url: process.env.VUE_APP_API + 'permission/getallpermissionbyuser',
       method: 'get',
       params: params
     })

+ 5 - 5
frontend_web/src/api/sysadmin/item.js

@@ -4,7 +4,7 @@ export default {
   // 获取字典分类列表
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'item/getpagelist',
+      url: process.env.VUE_APP_API + 'item/getpagelist',
       method: 'get',
       params: params
     })
@@ -12,7 +12,7 @@ export default {
   // 添加
   add (formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'item/additem',
+      url: process.env.VUE_APP_API + 'item/additem',
       method: 'post',
       data: formData
     })
@@ -20,7 +20,7 @@ export default {
   // 修改
   update (formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'item/updateitem',
+      url: process.env.VUE_APP_API + 'item/updateitem',
       method: 'post',
       data: formData
     })
@@ -28,7 +28,7 @@ export default {
   // 获取详情
   getEntityById (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'item/getdetailbyid',
+      url: process.env.VUE_APP_API + 'item/getdetailbyid',
       method: 'get',
       params: params
     })
@@ -36,7 +36,7 @@ export default {
   // 删除学生
   delete (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'item/deleteitembyid',
+      url: process.env.VUE_APP_API + 'item/deleteitembyid',
       method: 'get',
       params: params
     })

+ 7 - 7
frontend_web/src/api/sysadmin/menu.js

@@ -4,28 +4,28 @@ export default {
   // 获取组织结构
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/getlist',
+      url: process.env.VUE_APP_API + 'menu/getlist',
       method: 'get',
       params: params
     })
   },
   getEntityById (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/getentitybyid',
+      url: process.env.VUE_APP_API + 'menu/getentitybyid',
       method: 'get',
       params: params
     })
   },
   add (formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/add',
+      url: process.env.VUE_APP_API + 'menu/add',
       method: 'post',
       data: formData
     })
   },
   updateById (params, formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/updateentitybyid',
+      url: process.env.VUE_APP_API + 'menu/updateentitybyid',
       method: 'post',
       data: formData,
       params: params
@@ -33,21 +33,21 @@ export default {
   },
   getRoleMenuIds (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/getrolemenuids',
+      url: process.env.VUE_APP_API + 'menu/getrolemenuids',
       method: 'get',
       params: params
     })
   },
   delete (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/deletebyid',
+      url: process.env.VUE_APP_API + 'menu/deletebyid',
       method: 'get',
       params: params
     })
   },
   getMenuTree () {
     return request({
-      url: process.env.VUE_APP_API02 + 'menu/getmenutree',
+      url: process.env.VUE_APP_API + 'menu/getmenutree',
       method: 'get'
     })
   }

+ 6 - 6
frontend_web/src/api/sysadmin/orgnize.js

@@ -4,7 +4,7 @@ export default {
   // 获取组织结构
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'organize/getlist',
+      url: process.env.VUE_APP_API + 'organize/getlist',
       method: 'get',
       params: params
     })
@@ -12,21 +12,21 @@ export default {
   // 添加
   add (formData, params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'organize/add',
+      url: process.env.VUE_APP_API + 'organize/add',
       method: 'post',
       data: formData
     })
   },
   getEntityById (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'organize/getentitybyid',
+      url: process.env.VUE_APP_API + 'organize/getentitybyid',
       method: 'get',
       params: params
     })
   },
   updateEntityById (params, formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'organize/updateentitybyid',
+      url: process.env.VUE_APP_API + 'organize/updateentitybyid',
       method: 'post',
       data: formData,
       params: params
@@ -34,14 +34,14 @@ export default {
   },
   delete (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'organize/deleteentitybyid',
+      url: process.env.VUE_APP_API + 'organize/deleteentitybyid',
       method: 'get',
       params: params
     })
   },
   getOrgTreeList () {
     return request({
-      url: process.env.VUE_APP_API02 + 'organize/getorgtreelist',
+      url: process.env.VUE_APP_API + 'organize/getorgtreelist',
       method: 'get'
     })
   }

+ 9 - 9
frontend_web/src/api/sysadmin/role.js

@@ -4,7 +4,7 @@ export default {
   // 获取用户列表
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/getlist',
+      url: process.env.VUE_APP_API + 'role/getlist',
       method: 'get',
       params: params
     })
@@ -12,28 +12,28 @@ export default {
   // 添加
   add (formData, params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/add',
+      url: process.env.VUE_APP_API + 'role/add',
       method: 'post',
       data: formData
     })
   },
   getEntityById (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/getentitybyid',
+      url: process.env.VUE_APP_API + 'role/getentitybyid',
       method: 'get',
       params: params
     })
   },
   getEntityByUuId (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/getentitybyuuid',
+      url: process.env.VUE_APP_API + 'role/getentitybyuuid',
       method: 'get',
       params: params
     })
   },
   updateEntityById (params, formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/updateentitybyid',
+      url: process.env.VUE_APP_API + 'role/updateentitybyid',
       method: 'post',
       data: formData,
       params: params
@@ -41,28 +41,28 @@ export default {
   },
   delete (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/deleteentitybyid',
+      url: process.env.VUE_APP_API + 'role/deleteentitybyid',
       method: 'get',
       params: params
     })
   },
   saveDataScope (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/savedatascope',
+      url: process.env.VUE_APP_API + 'role/savedatascope',
       method: 'get',
       params: params
     })
   },
   getRoleDatascope (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/getroledatascope',
+      url: process.env.VUE_APP_API + 'role/getroledatascope',
       method: 'get',
       params: params
     })
   },
   getRoleMenuIds (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'role/getrolemenuids',
+      url: process.env.VUE_APP_API + 'role/getrolemenuids',
       method: 'get',
       params: params
     })

+ 6 - 6
frontend_web/src/api/sysadmin/user.js

@@ -4,7 +4,7 @@ export default {
   // 获取用户列表
   getList (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'user/getlist',
+      url: process.env.VUE_APP_API + 'user/getlist',
       method: 'get',
       params: params
     })
@@ -12,7 +12,7 @@ export default {
   // 添加
   add (params, formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'user/add',
+      url: process.env.VUE_APP_API + 'user/add',
       method: 'post',
       data: formData,
       params: params
@@ -20,14 +20,14 @@ export default {
   },
   getEntityByUuId (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'user/getentitybyuuid',
+      url: process.env.VUE_APP_API + 'user/getentitybyuuid',
       method: 'get',
       params: params
     })
   },
   updateEntityById (params, formData) {
     return request({
-      url: process.env.VUE_APP_API02 + 'user/updateentitybyid',
+      url: process.env.VUE_APP_API + 'user/updateentitybyid',
       method: 'post',
       data: formData,
       params: params
@@ -35,14 +35,14 @@ export default {
   },
   deleteByUuid (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'user/deleteentitybyuuid',
+      url: process.env.VUE_APP_API + 'user/deleteentitybyuuid',
       method: 'get',
       params: params
     })
   },
   getUserRoleIds (params) {
     return request({
-      url: process.env.VUE_APP_API02 + 'user/getuserroleids',
+      url: process.env.VUE_APP_API + 'user/getuserroleids',
       method: 'get',
       params: params
     })

+ 1 - 1
frontend_web/src/plugin/axios/index.js

@@ -67,7 +67,7 @@ service.interceptors.request.use(
     }
     loading.show(config)
     // 在请求发送之前做一些处理
-    config.headers['Tenant'] = process.env.VUE_APP_TENANT
+     config.headers['Tenant'] = process.env.VUE_APP_TENANT
     const token = util.cookies.get('token')
     if (token !== undefined) {
       // 让每个请求携带token-- ['Authorization']为自定义key 请根据实际情况自行修改

+ 11 - 1
frontend_web/src/router/routes.js

@@ -220,7 +220,17 @@ const frameIn = [
           cache: true
         },
         component: _import('sysadmin/item/index')
-      }
+      },
+       // 房间管理
+     {
+      path: 'managingrooms',
+      name: 'managingrooms',
+      meta: {
+        title: '房间管理',
+        auth: true
+      },
+      component: _import('managingrooms')
+    },
       // ================== add 字典分类 08-12 e ====================
 
     ]

+ 239 - 0
frontend_web/src/views/managingrooms/_opera/add.vue

@@ -0,0 +1,239 @@
+<template>
+  <el-dialog title="添加房间信息"
+             :visible.sync="dialogvisible"
+             width="65%"
+             :before-close="handleCloseAdd"
+             @close="resetData">
+    <el-form size="mini"
+             :model="testlistform"
+             :rules="rulestestlistform"
+             label-width="100px"
+             height="600px"
+             ref="testlistform">
+      <el-row :gutter="20"
+              class="donorsaddformcss">
+        <el-col :span="8">
+          <el-form-item label="房间号"
+                        required
+                        prop="RoomNum"
+                        label-width="100px">
+            <el-input v-model="testlistform.RoomNum"
+                      placeholder="请输入房间号"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="房间名称"
+                        required
+                        prop="RoomName"
+                        label-width="100px">
+            <el-input v-model="testlistform.RoomName"
+                      placeholder="请输入房间名称"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="房间类型"
+                        required
+                        prop="RoomType"
+                        label-width="100px">
+            <el-select v-model="testlistform.RoomType"
+                       placeholder="请选择房间类型"
+                       style="width:100%">
+              <el-option v-for="item in typeList"
+                         :key="item.Key"
+                         :label="item.Key"
+                         :value="item.Value"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="位置信息"
+                        required
+                        prop="PositionInformation"
+                        label-width="100px">
+            <el-input v-model="testlistform.PositionInformation"
+                      placeholder="请输入房间位置"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="房间描述"
+                        label-width="100px"
+                        prop="RoomDescribe">
+            <el-input v-model="testlistform.RoomDescribe"
+                      type="textarea"
+                      :rows=3
+                      placeholder="请输入房间描述"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+
+      </el-row>
+    </el-form>
+    <span slot="footer">
+      <el-button size="mini"
+                 type="primary"
+                 @click="savedata('testlistform')">保存</el-button>
+      <el-button size="mini"
+                 @click="handleCloseAdd">关闭</el-button>
+    </span>
+  </el-dialog>
+
+</template>
+
+<script>
+import {
+  saveroomdata,
+  instrumentGetCode
+} from '@/api/instrumentroom'
+import {
+  getroomtypelist
+} from '@/api/setting/samplenoteitem'
+export default {
+  name: 'instrumentadd',
+  data () {
+    return {
+      dialogvisible: false,
+      formtype: '1',
+      disabledbarcode: false,
+      testlistform: {
+        RoomNum: '',
+        RoomName: '',
+        RoomType: '',
+        RoomDescribe: '',
+        PositionInformation: ''
+      },
+      typeList: [
+        // { TypeName: '研发' },
+        // { TypeName: '质控' },
+        // { TypeName: '运维' },
+        // { TypeName: '容器仓库' }
+      ],
+      classificationlist: [],
+
+      rulestestlistform: {
+
+        RoomName: [{
+          required: true,
+          message: '请输入房间名称',
+          trigger: 'blur'
+        }],
+        RoomNum: [{
+          required: true,
+          message: '请输入房间号',
+          trigger: 'blur'
+        }],
+        RoomType: [{
+          required: true,
+          message: '请选择房间类型',
+          trigger: 'blur'
+        }]
+
+      }
+    }
+  },
+  mounted () {
+    this.getroomtypelist()
+  },
+  methods: {
+    // 保存房间信息
+    savedata () {
+      let _this = this
+
+      saveroomdata(_this.testlistform)
+        .then(res => {
+          // if (res.info.code === 0) {
+          //   if (this.maintainlogattrlist !== '') {
+          //   }
+
+          //   _this.$message({
+          //     type: 'success',
+          //     message: res.info.message
+          //   })
+          // } else {
+          //   _this.$message({
+          //     type: 'warning',
+          //     message: res.info.message
+          //   })
+          // }
+          this.dialogvisible = false
+          // 刷新
+          this.$emit('initdata')
+        })
+        .catch(err => {
+          // handle error
+          console.error(err)
+        })
+    },
+    getroomtypelist () {
+      let _this = this
+      getroomtypelist()
+        // _this.$axios.get('/sampletype/materialbrandlist', {})
+        .then(res => {
+          _this.typeList = res.info
+        })
+    },
+    getCode (formName) {
+      let _this = this
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          instrumentGetCode(_this.testlistform.Code)
+            // this.$axios.get('instrumentroom/getCode?Code=' + _this.testlistform.Code, {})
+            .then(function (response) {
+              _this.total = response.info.items
+              if (_this.total === 0) {
+                _this.savedata()
+              } else {
+                _this.$message({
+                  type: 'warning',
+                  message: '设备编号已存在'
+                })
+              }
+            })
+            .catch(function (error) {
+              console.log(error)
+            })
+        } else {
+          return false
+        }
+      })
+    },
+    deletedata (index) {
+      let _this = this
+      _this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '关闭',
+        type: 'warning'
+      })
+        .then(() => {
+          this.maintainlogattrlist.splice(index, 1)
+        })
+        .catch(() => { })
+    },
+    resetData () {
+      this.$refs['testlistform'].resetFields()
+    },
+    handleCloseAdd () {
+      this.$emit('closeAddDialog')
+      this.testlistform.RoomNum = ''
+      this.testlistform.RoomName = ''
+      this.testlistform.RoomType = ''
+      this.testlistform.PositionInformation = ''
+      this.testlistform.RoomDescribe = ''
+    }
+  }
+}
+
+</script>
+
+<style lang="scss">
+.button {
+  padding: 0;
+  float: right;
+}
+
+.donorsaddformcss .el-col-8 {
+  height: 58px;
+}
+</style>

+ 210 - 0
frontend_web/src/views/managingrooms/_opera/edit.vue

@@ -0,0 +1,210 @@
+<template>
+  <el-dialog title="修改房间信息"
+             :visible.sync="dialogvisible"
+             width="65%"
+             @close="resetData">
+
+    <el-form size="mini"
+             :model="testlistform"
+             :rules="rulestestlistform"
+             label-width="100px"
+             height="600px"
+             ref="testlistform">
+      <el-row :gutter="20"
+              class="donorsaddformcss">
+        <el-col :span="8">
+          <el-form-item label="房间号"
+                        required
+                        prop="RoomNum"
+                        label-width="100px">
+            <el-input v-model="testlistform.RoomNum"
+                      placeholder="请输入房间号"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="房间名称"
+                        required
+                        prop="RoomName"
+                        label-width="100px">
+            <el-input v-model="testlistform.RoomName"
+                      placeholder="请输入房间名称"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="房间类型"
+                        prop="RoomType"
+                        label-width="100px">
+            <el-select v-model="testlistform.RoomType"
+                       placeholder="请选择房间类型"
+                       style="width:100%">
+              <el-option v-for="item in typeList"
+                         :key="item.Key"
+                         :label="item.Key"
+                         :value="item.Value"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <!-- <el-col :span="8">
+            <el-form-item label="房间操作人"  prop="ContractNo" label-width="120px">
+              <el-input v-model="testlistform.ContractNo" placeholder="请输入房间操作人" style="width:100%"></el-input>
+            </el-form-item>
+          </el-col> -->
+
+        <el-col :span="8">
+          <el-form-item label="位置信息"
+                        prop="PositionInformation"
+                        label-width="100px">
+            <el-input v-model="testlistform.PositionInformation"
+                      placeholder="请输入位置信息"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="24">
+          <el-form-item label="房间描述"
+                        prop="RoomDescribe"
+                        label-width="100px">
+            <el-input v-model="testlistform.RoomDescribe"
+                      type="textarea"
+                      :rows=3
+                      placeholder="请输入房间描述"
+                      style="width:100%"></el-input>
+          </el-form-item>
+        </el-col>
+
+      </el-row>
+    </el-form>
+    <span slot="footer">
+      <el-button size="mini"
+                 type="primary"
+                 @click="savedata('testlistform')">保存</el-button>
+      <el-button size="mini"
+                 @click="handleCloseEdit">关闭</el-button>
+    </span>
+  </el-dialog>
+
+</template>
+
+<script>
+import {
+  savedatamanagingrooms
+} from '@/api/instrumentroom'
+import {
+  getroomtypelist
+} from '@/api/setting/samplenoteitem'
+export default {
+  name: 'instrumentadd',
+  data () {
+    return {
+      dialogvisible: false,
+      formtype: '1',
+      disabledbarcode: false,
+      testlistform: {
+        Id: 0,
+        RoomNum: '',
+        RoomName: '',
+        RoomType: '',
+        RoomDescribe: '',
+        PositionInformation: ''
+
+      },
+      typeList: [],
+      classificationlist: [],
+      rulestestlistform: {
+        RoomName: [{
+          required: true,
+          message: '请输入房间名称',
+          trigger: 'blur'
+        }],
+        RoomNum: [{
+          required: true,
+          message: '请输入房间号',
+          trigger: 'blur'
+        }],
+        RoomType: [{
+          required: true,
+          message: '请选择房间类型',
+          trigger: 'blur'
+        }]
+
+      }
+    }
+  },
+  created () {
+
+  },
+  mounted () {
+    this.getroomtypelist()
+  },
+  methods: {
+    getroomtypelist () {
+      let _this = this
+      getroomtypelist()
+        .then(res => {
+          _this.typeList = res.info
+        })
+    },
+    savedata (formName) {
+      let _this = this
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          savedatamanagingrooms(_this.testlistform.Id, _this.testlistform)
+            .then(res => {
+              // response
+              if (res.info.code === 0) {
+                _this.$message({
+                  type: 'success',
+                  message: res.info.message
+                })
+              } else {
+                _this.$message({
+                  type: 'warning',
+                  message: res.info.message
+                })
+              }
+              this.dialogvisible = false
+              // 刷新
+              this.$emit('initdata')
+            })
+            .catch(err => {
+              // handle error
+              console.error(err)
+            })
+        } else {
+          return false
+        }
+      })
+    },
+    resetData () {
+      this.$refs['testlistform'].resetFields()
+    },
+    // initData (pid) {
+    //   let _this = this
+    //   initdatamanagingrooms(pid)
+    //     .then(function (response) {
+    //       _this.testlistform = response.info
+    //     })
+    // },
+    // 返回当前页
+    handleCloseEdit () {
+      this.$emit('closeEditDialog')
+    }
+
+  }
+}
+
+</script>
+
+<style lang="scss">
+.button {
+  padding: 0;
+  float: right;
+}
+
+.donorsaddformcss .el-col-8 {
+  height: 58px;
+}
+</style>

+ 345 - 0
frontend_web/src/views/managingrooms/index.vue

@@ -0,0 +1,345 @@
+<template>
+  <d2-container>
+    <template slot="header"
+              style="padding: 5px;">
+      <el-form size="mini"
+               ref="form"
+               :inline="true"
+               style="height: 25px; margin-top: -7px; padding:20px; text-align:right;">
+        <el-form-item label="房间号">
+          <el-input style="width:140px"
+                    v-model="search.RoomNum"
+                    placeholder="请输入房间号"></el-input>
+        </el-form-item>
+        <el-button size="mini"
+                   type="primary"
+                   @click="searchroomdata()"
+                   style="margin-left:10px"
+                   @command="searchCommand">查 询</el-button>
+        <el-button size="mini"
+                   type="primary"
+                   @click="clearSearch">重 置</el-button>
+        <el-button size="mini"
+                   type="primary"
+                   style="margin-right:6px"
+                   @click="maintainlogadd()">添加</el-button>
+      </el-form>
+    </template>
+    <el-table ref="multipleTable"
+              :data="entityList"
+              border
+              stripe
+              tooltip-effect="dark"
+              @sort-change="orderby"
+              height="100%">
+      <el-table-column prop="RoomNum"
+                       min-width="10px"
+                       align="center"
+                       label="房间号"
+                       show-overflow-tooltip></el-table-column>
+      <el-table-column prop="RoomName"
+                       min-width="10px"
+                       align="center"
+                       label="房间名称"
+                       show-overflow-tooltip></el-table-column>
+      <el-table-column prop="RoomType"
+                       min-width="10px"
+                       align="center"
+                       label="房间类型"
+                       show-overflow-tooltip>
+        <template slot-scope="scope">
+          {{ typeList[scope.row.RoomType] }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="RoomDescribe"
+                       min-width="10px"
+                       align="center"
+                       label="房间描述"
+                       show-overflow-tooltip></el-table-column>
+      <el-table-column prop="PositionInformation"
+                       min-width="10px"
+                       align="center"
+                       label="位置信息"
+                       show-overflow-tooltip></el-table-column>
+      <el-table-column prop="CreateBy"
+                       min-width="10px"
+                       align="center"
+                       label="使用人"
+                       show-overflow-tooltip></el-table-column>
+      <el-table-column prop="CreateOn"
+                       min-width="10px"
+                       label="使用日期"
+                       align="center"
+                       show-overflow-tooltip>
+        <template slot-scope="scope">
+          {{ jstimehandle(scope.row.CreateOn + "") }}
+        </template>
+      </el-table-column>
+      <el-table-column label="操作"
+                       align="center"
+                       width="140px"
+                       fixed='right'>
+        <template slot-scope="scope">
+          <el-button size="mini"
+                     type="primary"
+                     title="编辑"
+                     @click="editmaintain(scope.row)"
+                     icon="el-icon-edit"
+                     circle></el-button>
+          <!-- </router-link>&nbsp; -->
+          <el-button size="mini"
+                     @click="deleteinstrument(scope.row)"
+                     type="danger"
+                     title="删除"
+                     style="margin-left:5px"
+                     icon="el-icon-delete"
+                     circle></el-button>
+          <el-button size="mini"
+                     @click="openRoleUserDialog(scope.row)"
+                     type="warning"
+                     title="设备关联"
+                     style="margin-left:5px"
+                     icon="el-icon-star-off"
+                     circle></el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <addroom ref="addroom"
+             @closeAddDialog="handleCloseAdd"
+             @initdata="searchroomdata"></addroom>
+    <editroom ref="editroom"
+              @closeEditDialog="handleCloseEdit"
+              @initdata="searchroomdata"></editroom>
+    <role-user :role="role"
+               v-model="roleUserDialogVisible" />
+    <template slot="footer">
+      <el-pagination style="margin: -10px;"
+                     @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange"
+                     :current-page="currpage"
+                     :page-sizes="[10, 15, 20]"
+                     :page-size="size"
+                     layout="total, sizes, prev, pager, next, jumper"
+                     :total="totalsize">
+      </el-pagination>
+    </template>
+  </d2-container>
+</template>
+
+<script>
+import {
+  searchmanagingroomdata,
+  deletemanagingrooms
+} from '@/api/instrumentroom'
+import addroom from './_opera/add'
+import editroom from './_opera/edit'
+import roleUser from './instrumentrooms'
+import {
+  getroomtypelist
+} from '@/api/setting/samplenoteitem'
+export default {
+  components: {
+    addroom,
+    editroom,
+    roleUser
+  },
+  name: 'instrumentroom',
+  data () {
+    return {
+      roleUserDialogVisible: false,
+      selectedMaintainLogId: 0,
+      dialogvisible: false,
+      Id: 0,
+      RoomNum: 0,
+      RoomName: '',
+      RoomType: '',
+      RoomDescribe: '',
+      PositionInformation: '',
+      name: '',
+      totalsize: 0,
+      currpage: 1,
+      size: 10,
+      entityList: [],
+      search: {
+        RoomNum: ''
+      },
+      typeList: [],
+      InstrumenName: '',
+      InstrumenCode: '',
+      paramid: '',
+      CreateBy: '',
+      starttime: null,
+      endtime: null,
+      CreateOn: [], // 录入时期
+      role: { Id: '', RoomName: '' },
+      // 列表排序
+      Column: {
+        Order: '',
+        Prop: ''
+      }
+    }
+  },
+  mounted () {
+    this.getroomtypelist()
+  },
+  methods: {
+    // 获取所有房间类型
+    getroomtypelist () {
+      let _this = this
+      getroomtypelist()
+        .then(res => {
+          for (let type of res.info) {
+            _this.typeList[type.Value] = type.Key
+          }
+          this.searchroomdata()
+        })
+        .catch(err => {
+          console.error(err)
+        })
+    },
+    // 添加 房间
+    maintainlogadd () {
+      this.$refs.addroom.dialogvisible = true
+    },
+    // 添加  返回当前页面
+    handleCloseAdd () {
+      this.$refs.addroom.dialogvisible = false
+    },
+    // 编辑
+    editmaintain (val) {
+      this.$refs.editroom.dialogvisible = true
+      this.$refs.editroom.testlistform.Id = val.Id
+      this.$refs.editroom.testlistform.RoomNum = val.RoomNum
+      this.$refs.editroom.testlistform.RoomName = val.RoomName
+      this.$refs.editroom.testlistform.RoomType = val.RoomType
+      this.$refs.editroom.testlistform.RoomDescribe = val.RoomDescribe
+      this.$refs.editroom.testlistform.PositionInformation = val.PositionInformation
+    },
+    // 编辑  返回当前页面
+    handleCloseEdit () {
+      this.$refs.editroom.dialogvisible = false
+    },
+    // 初始化列表数据
+    searchroomdata () {
+      let _this = this
+      let params = {
+        RoomNum: this.search.RoomNum,
+        _currentPage: this.currpage,
+        _size: this.size,
+        paramid: this.paramid,
+        Order: this.Column.Order,
+        Prop: this.Column.Prop
+      }
+      if (this.CreateOn && this.CreateOn.length === 2) {
+        let params2 = {
+          CreateOnstart: this.CreateOn[0] / 1000,
+          CreateOnend: this.CreateOn[1] / 1000
+        }
+        params = Object.assign(params2)
+      }
+      searchmanagingroomdata(params)
+        .then(function (response) {
+          _this.entityList = response.info.items
+          _this.totalsize = response.info.currentItemCount
+        })
+        .catch(function (error) {
+          console.log(error)
+        })
+    },
+    openRoleUserDialog (role) {
+      this.role = role
+      this.roleUserDialogVisible = !this.roleUserDialogVisible
+    },
+    handleSizeChange (val) {
+      this.size = val
+      this.currpage = 1
+      this.searchroomdata()
+    },
+    handleCurrentChange (val) {
+      this.currpage = val
+      this.searchroomdata()
+    },
+    jstimehandle (val) {
+      if (val === '') {
+        return '----'
+      } else if (val === '0001-01-01T08:00:00+08:00') {
+        return '----'
+      } else if (val === '5000-01-01T23:59:59+08:00') {
+        return '永久'
+      } else {
+        if (val === '0001-01-01T00:00:00Z') {
+          return '----'
+        } else val = val.replace('T', ' ')
+        return val.substring(0, 19)
+      }
+    },
+    // 删除设备信息
+    deleteinstrument (val) {
+      let _this = this
+      _this
+        .$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '关闭',
+          type: 'warning'
+        })
+        .then(() => {
+          deletemanagingrooms(val.Id)
+            .then(function (response) {
+              // response
+              if (response.info.code === 0) {
+                _this.$message({
+                  type: 'success',
+                  message: response.info.message
+                })
+                // 更新界面
+                _this.searchroomdata()
+              } else {
+                _this.$message({
+                  type: 'warning',
+                  message: response.info.message
+                })
+              }
+            })
+            .catch(function (error) {
+              console.log(error)
+            })
+        })
+        .catch(() => { })
+    },
+    // 列表排序功能
+    orderby (column) {
+      if (column.order === 'ascending') {
+        this.Column.Order = 'asc'
+      } else if (column.order === 'descending') {
+        this.Column.Order = 'desc'
+      }
+      this.Column.Prop = column.prop
+      this.searchroomdata()
+    },
+    searchCommand (command) {
+      if (command === 'search') {
+        this.dialogvisible = true
+      } else if (command === 'clear') {
+        this.clearSearch()
+      }
+    },
+    clearSearch () {
+      this.search.RoomNum = ''
+      this.CreateOn = []
+      this.searchroomdata()
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.el-pagination {
+  margin: 1rem 0 2rem;
+  text-align: right;
+}
+
+.plab {
+  font-size: 13px;
+  color: #999;
+}
+</style>

+ 613 - 0
frontend_web/src/views/managingrooms/instrumentrooms.vue

@@ -0,0 +1,613 @@
+<template>
+  <div>
+    <el-dialog :visible.sync="dialogVisible"
+               class="abow_dialog"
+               width="65%"
+               title="已关联设备"
+               @open="dialogOpen">
+      <el-row>
+        <el-form size="mini"
+                 :inline="true"
+                 :model="searchForm"
+                 ref="searchForm"
+                 style="text-align:right;margin-bottom:15px;height:30px">
+          <el-form-item label="设备名称">
+            <el-input v-model="searchForm.Name"
+                      placeholder="请输入设备名称"
+                      style="width: 140px;" />
+          </el-form-item>
+
+          <el-form-item label="设备编码">
+            <el-input v-model="searchForm.Code"
+                      placeholder="请输入设备编号"
+                      style="width: 140px;" />
+          </el-form-item>
+          <el-form-item>
+            <el-button size="mini"
+                       type="primary"
+                       @click="getTableData()"
+                       @command="searchCommand">查询
+            </el-button>
+          </el-form-item>
+
+          <el-form-item>
+            <el-button size="mini"
+                       type="primary"
+                       @click="clearSearch"> 重置
+            </el-button>
+          </el-form-item>
+
+          <el-form-item>
+            <el-button size="mini"
+                       type="primary"
+                       @click="addusertorole">添加关联设备
+            </el-button>
+          </el-form-item>
+
+          <el-button size="mini"
+                     v-if="userselectedOptions.length>0"
+                     type="danger"
+                     style="margin-right:10px"
+                     @click="deletedata">
+            删除
+          </el-button>
+        </el-form>
+
+        <el-table :data="tableData"
+                  v-loading="loading"
+                  stripe
+                  border
+                  highlight-current-row
+                  style="width: 100%;overflow:auto;"
+                  height="calc(100vh - 500px)"
+                  @selection-change="handleUserSelectionChange"
+                  @sort-change="handleSortChange">
+          <el-table-column type="selection"
+                           header-align="center"
+                           width="55">
+          </el-table-column>
+          <el-table-column label="设备编码"
+                           header-align="center"
+                           align="center"
+                           show-overflow-tooltip
+                           prop="Code">
+            <template slot-scope="scope">
+              {{scope.row.Code}}
+            </template>
+          </el-table-column>
+          <el-table-column label="设备名称"
+                           header-align="center"
+                           align="center"
+                           show-overflow-tooltip
+                           prop="Name">
+            <template slot-scope="scope">
+              {{scope.row.Name}}
+            </template>
+          </el-table-column>
+          <el-table-column label="品牌"
+                           prop="Brand"
+                           align="center"
+                           header-align="center"
+                           show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.Brand}}
+            </template>
+          </el-table-column>
+          <el-table-column label="设备大类"
+                           prop="Classification"
+                           align="center"
+                           show-overflow-tooltip
+                           header-align="center">
+            <template slot-scope="scope">
+              {{scope.row.Classification}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="State"
+                           header-align="center"
+                           label="设备状态"
+                           align="center"
+                           show-overflow-tooltip>
+            <template slot-scope="scope">
+              <el-alert v-if="scope.row.State==1"
+                        :closable="false"
+                        style="background:rgba(255,255,255,0.2)"
+                        title="正常"
+                        type="success"
+                        center></el-alert>
+              <el-alert v-if="scope.row.State==2"
+                        :closable="false"
+                        style="background:rgba(255,255,255,0.2)"
+                        title="维修"
+                        type="warning"
+                        center></el-alert>
+              <el-alert v-if="scope.row.State==3"
+                        :closable="false"
+                        style="background:rgba(255,255,255,0.2)"
+                        title="闲置"
+                        type="info"
+                        center></el-alert>
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <el-pagination small
+                       :current-page="page.current"
+                       :page-size="page.size"
+                       :total="page.total"
+                       :page-sizes="[10, 15, 20, 25]"
+                       layout="total, sizes, prev, pager, next, jumper"
+                       @size-change="handleSizeChange"
+                       @current-change="handleCurrentChange">
+        </el-pagination>
+      </el-row>
+    </el-dialog>
+    <el-dialog title="添加设备"
+               :visible.sync="adduserVisible"
+               width="900px">
+      <el-form size="mini"
+               label-width="110px"
+               style="text-align:right">
+        <el-row>
+          <el-form size="mini"
+                   :inline="true"
+                   :model="searchForm2"
+                   ref="searchForm"
+                   style="text-align:right;margin-bottom:15px;height:30px">
+            <el-form-item label="设备名称">
+              <el-input v-model="searchForm2.Name"
+                        placeholder="请输入设备名称"
+                        style="width: 140px;" />
+            </el-form-item>
+
+            <el-form-item label="设备编码">
+              <el-input v-model="searchForm2.Code"
+                        placeholder="请输入设备编号"
+                        style="width: 140px;" />
+            </el-form-item>
+            <el-form-item>
+              <el-button size="mini"
+                         type="primary"
+                         @click="searchCommand2">查询
+              </el-button>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button size="mini"
+                         type="primary"
+                         @click="clearSearch2"> 重置
+              </el-button>
+            </el-form-item>
+          </el-form>
+        </el-row>
+        <el-row :gutter="10">
+
+          <el-col :span="24">
+            <el-table :data="classificationlist"
+                      style="width: 100%;overflow:auto;"
+                      height="calc(100vh - 500px)"
+                      ref="multipleTable"
+                      @selection-change="handleSelectionChange">
+              <el-table-column type="selection"
+                               width="55">
+              </el-table-column>
+              <el-table-column prop="Code"
+                               sortable
+                               label="设备编码"
+                               align="center"></el-table-column>
+              <el-table-column prop="Name"
+                               sortable
+                               label="设备名称"
+                               align="center"
+                               show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="Brand"
+                               sortable
+                               label="品牌"
+                               align="center"
+                               show-overflow-tooltip></el-table-column>
+              <el-table-column prop="Classification"
+                               sortable
+                               align="center"
+                               label="设备大类"
+                               show-overflow-tooltip></el-table-column>
+              <el-table-column prop="State"
+                               sortable
+                               label="设备状态"
+                               align="center"
+                               show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <el-alert v-if="scope.row.State==1"
+                            :closable="false"
+                            style="background:rgba(255,255,255,0.2)"
+                            title="正常"
+                            type="success"
+                            center></el-alert>
+                  <el-alert v-if="scope.row.State==2"
+                            :closable="false"
+                            style="background:rgba(255,255,255,0.2)"
+                            title="维修"
+                            type="warning"
+                            center></el-alert>
+                  <el-alert v-if="scope.row.State==3"
+                            :closable="false"
+                            style="background:rgba(255,255,255,0.2)"
+                            title="闲置"
+                            type="info"
+                            center></el-alert>
+
+                </template>
+              </el-table-column>
+            </el-table>
+
+            <el-pagination small
+                           :current-page="page2.current"
+                           :page-size="page2.size"
+                           :total="page2.total"
+                           :page-sizes="[10, 15, 20, 25]"
+                           layout="total, sizes, prev, pager, next, jumper"
+                           @size-change="handleSizeChange2"
+                           @current-change="handleCurrentChange2">
+            </el-pagination>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer">
+        <el-button size="mini"
+                   type="primary"
+                   :disabled="!addinstFlag "
+                   @click="savedata('classificationlist')">添加设备保存</el-button>
+        <el-button size="mini"
+                   @click="adduserVisible = false">关闭</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  searchroominstrumentdata,
+  // searchmanagingroomtree,
+  deleteinstrumentrooms,
+  getinstrumentinit,
+  savesinstrumentinrooms
+} from '@/api/instrumentroom'
+// import roleApi from '@/api/setting/role'
+// import utils from '@/static/js/utils.js'
+export default {
+  name: 'instrumentrooms',
+  props: {
+    role: Object,
+    value: Boolean
+  },
+  data () {
+    return {
+      dialogvisible: false,
+      classificationlist: [],
+      deluserselectOptions: [],
+      userselectedOptions: [], // 删除用户选择
+      selectedOptions: [],
+      userselectOptions: [],
+      adduserVisible: false,
+      currentSetRoleItemCount: 0,
+      currentSetRolePage: 1,
+      setrolesize: 10,
+      orgtreelist: [],
+      addinstFlag: false,
+      orgtreeprops: {
+        value: 'Id',
+        label: 'RoomNum',
+        children: 'children'
+      },
+      userOptions: [],
+      dialogVisible: false,
+      searchForm: {
+        Name: '',
+        Code: ''
+      },
+      searchForm2: {
+        Name: '',
+        Code: ''
+      },
+      loading: false,
+      tableData: [],
+      page: {
+        current: 1,
+        size: 10,
+        total: 0
+      },
+      page2: {
+        current: 1,
+        size: 10,
+        total: 0
+      },
+      sort: {
+        prop: '',
+        order: ''
+      }
+    }
+  },
+  watch: {
+    value (val) {
+      this.dialogVisible = val
+    },
+    dialogVisible (val) {
+      this.$emit('input', val)
+    }
+  },
+  methods: {
+    async dialogOpen () {
+      this.getTableData()
+      this.getclassificationlist()
+      // this.getorgtreelist()
+    },
+    // 获取设备列表
+    getTableData () {
+      let _this = this
+      // paginate
+      const params = {
+        _currentPage: this.page.current,
+        _size: this.page.size,
+        Code: this.searchForm.Code,
+        Name: this.searchForm.Name
+      }
+      // Object.assign(params, this.searchForm)
+      // request
+
+      searchroominstrumentdata(this.role.Id, params)
+        .then(res => {
+          // response
+
+          _this.tableData = res.info.items
+          _this.page.total = res.info.currentItemCount
+        })
+        .catch(err => {
+          // handle error
+          console.error(err)
+        })
+    },
+    // // 获取房间树
+    // getorgtreelist () {
+    //   let _this = this
+    //   let params = {
+    //     IsInnerOrganize: 1
+    //   }
+    //   searchmanagingroomtree(params)
+    //     .then(res => {
+    //       _this.orgtreelist = utils.toolfun_gettreejson(res.info, 'Id', 'RoomNum', 'Id,RoomNum')
+    //     })
+    //     .catch(err => {
+    //       console.error(err)
+    //     })
+    // },
+    // // 获取添加设备列表
+    // getauditerbydept () {
+    //   this.selectedOptions = []
+    //   this.userOptions = []
+    //   const params = {
+    //     _currentPage: this.currentSetRolePage,
+    //     _size: this.setrolesize
+    //   }
+    //   getinstrumentinit(params).then(res => {
+    //     this.userOptions = res.items
+    //     this.currentSetRoleItemCount = res.currentItemCount
+    //   }).catch(err => {
+    //     console.error(err)
+    //   })
+    // },
+    // 获取设备大类
+    getclassificationlist () {
+      let _this = this
+      let params = {
+        code: 'InstrumentItem',
+        _currentPage: this.page2.current,
+        _size: this.page2.size,
+        Code: this.searchForm2.Code,
+        Name: this.searchForm2.Name
+      }
+      getinstrumentinit(params)
+        .then(res => {
+          _this.classificationlist = res.info.items
+          _this.page2.total = res.info.currentItemCount
+        })
+    },
+    // 保存设备信息
+    savedata () {
+      let _this = this
+      let tempSelectedOptions = _this.selectedOptions.join(',')
+      let params = {
+        roomId: _this.role.Id,
+        instrumentId: tempSelectedOptions
+      }
+      savesinstrumentinrooms(params)
+        .then(res => {
+          _this.getTableData()
+        })
+        .catch(err => {
+          // handle error
+          console.error(err)
+        })
+      _this.adduserVisible = false
+    },
+    searchCommand (command) {
+      if (command === 'searchForm') {
+        this.dialogvisible = true
+      } else if (command === 'clear') {
+        this.clearSearch()
+      }
+    },
+    searchCommand2 () {
+      this.getclassificationlist()
+    },
+    clearSearch () {
+      this.searchForm.Code = ''
+      this.searchForm.Name = ''
+      this.getTableData()
+    },
+    clearSearch2 () {
+      this.searchForm2.Code = ''
+      this.searchForm2.Name = ''
+      this.getclassificationlist()
+    },
+    // // 选择角色
+    // toggleSelection () {
+    //   let _this = this
+    //   _this.userselectOptions = []
+
+    //   for (let i = 0; i < this.selectedOptions.length; i++) {
+    //     this.userselectOptions.push(this.selectedOptions[i].Id)
+    //   }
+    //   let useridlist = this.userselectOptions.join(',')
+    //   let useridliststring = useridlist.toString()
+    //   // request
+    //   roleApi.setuserrole(useridliststring + '_' + this.role.Id)
+    //     .then(res => {
+    //       // response
+    //       if (res.data.code === 0) {
+    //         _this.$message({
+    //           type: 'success',
+    //           message: res.data.message
+    //         })
+    //         // 更新界面
+    //         this.getTableData()
+    //         this.adduserVisible = false
+    //       } else {
+    //         _this.$message({
+    //           type: 'warning',
+    //           message: res.data.message
+    //         })
+    //       }
+    //     })
+    //     .catch(err => {
+    //       // handle error
+    //       console.error(err)
+    //     })
+    // },
+    // 用户删除选择变化
+    handleUserSelectionChange (val) {
+      this.userselectedOptions = val
+    },
+    // 删除选择设备
+    deletedata () {
+      let _this = this
+      this.$confirm('确认删除?', '确认信息', {
+        confirmButtonText: '删除',
+        cancelButtonText: '关闭'
+      }).then(() => {
+        this.deluserselectOptions = []
+        for (let i = 0; i < this.userselectedOptions.length; i++) {
+          this.deluserselectOptions.push(this.userselectedOptions[i].Id)
+        }
+        let deluseridlist = this.deluserselectOptions.join(',')
+        let deluseridliststring = deluseridlist.toString()
+        // let tempSelectedOptions = _this.selectedOptions.join(',')
+        let params = {
+          roomId: _this.role.Id,
+          instrumentId: deluseridliststring
+        }
+        deleteinstrumentrooms(params)
+          .then(res => {
+            // response
+            if (res.info.code === 0) {
+              this.$message({
+                type: 'success',
+                message: res.info.message
+              })
+              // 更新界面
+              this.getTableData()
+            } else {
+              this.$message({
+                type: 'warning',
+                message: res.info.message
+              })
+            }
+          })
+          .catch(err => {
+            // handle error
+            console.error(err)
+          })
+      })
+    },
+
+    handleSelectionChange (val) {
+      this.selectedOptions = []
+      for (let i = 0; i < val.length; i++) {
+        this.selectedOptions.push(val[i].Id)
+      }
+      if (this.selectedOptions.length !== 0) {
+        this.addinstFlag = true
+      } else {
+        this.addinstFlag = false
+      }
+    },
+    handleNodeClick (data) {
+      this.Id = data.Id
+      this.currentSetRolePage = 1
+      this.getclassificationlist(data.id)
+    },
+    handleSetRoleChange (value) {
+      this.setrolesize = value
+      this.currentSetRolePage = 1
+      this.getclassificationlist()
+    },
+    handleSetRoleCurrentChange (value) {
+      this.currentSetRolePage = value
+      this.getclassificationlist()
+    },
+    addusertorole () {
+      this.adduserVisible = true
+    },
+    handleSearchFormSubmit () {
+      this.getTableData()
+    },
+    handleSearchFormReset () {
+      this.searchForm.Name = ''
+      this.searchForm.Code = ''
+      this.getTableData()
+    },
+    handleSortChange (val) {
+      this.sort.prop = val.prop
+      this.sort.order = val.order
+      this.getTableData()
+    },
+    handleSizeChange (val) {
+      this.page.size = val
+      this.page.current = 1
+      this.getTableData()
+    },
+    handleCurrentChange (val) {
+      this.page.current = val
+      this.getTableData()
+    },
+    handleSizeChange2 (val) {
+      this.page2.size = val
+      this.page2.current = 1
+      this.getclassificationlist()
+    },
+    handleCurrentChange2 (val) {
+      this.page2.current = val
+      this.getclassificationlist()
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.abow_dialog {
+  display: flex;
+  justify-content: center;
+  align-items: Center;
+  .el-dialog {
+    margin: 0 auto !important;
+    height: calc(100vh - 323px);
+    .el-dialog__body {
+      position: absolute;
+      left: 0;
+      top: 40px;
+      bottom: 10;
+      right: 0;
+      padding: 5;
+      z-index: 1;
+      overflow: hidden;
+    }
+  }
+}
+</style>