前端第一周任务汇总
This commit is contained in:
parent
de2b958ef1
commit
ca2372989b
|
|
@ -36,7 +36,7 @@
|
|||
"url": "http://192.168.0.56:3000/bonus/Bonus-Cloud.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"@riophae/vue-treeselect": "0.4.0",
|
||||
"@riophae/vue-treeselect": "^0.4.0",
|
||||
"axios": "0.24.0",
|
||||
"clipboard": "2.0.8",
|
||||
"core-js": "^3.38.1",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,325 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 工程项目-列表
|
||||
export function getProjectList(query) {
|
||||
return request({
|
||||
url: '/material/bm_project/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
//工程项目--新增
|
||||
export function addProject(data) {
|
||||
return request({
|
||||
url: '/material/bm_project',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 工程项目--修改
|
||||
export function updateProject(data) {
|
||||
return request({
|
||||
url: '/material/bm_project',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// //工程项目--删除
|
||||
export function delProject(proId) {
|
||||
return request({
|
||||
url: '/material/bm_project/' + proId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 工程项目
|
||||
export function getProjectUserList(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit_person/getDeptUserTree',
|
||||
method: 'get',
|
||||
params: {
|
||||
query,
|
||||
isTree: 1 // 添加 isTree 参数
|
||||
}
|
||||
});
|
||||
}
|
||||
// 标段工程-列表
|
||||
export function ProjectLotList(query) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectLot/projectLotAll',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
//标段工程--新增
|
||||
export function addProjectLot(data) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectLot',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 标段工程--修改
|
||||
export function updateProjectLot(data) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectLot',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
//标段工程--删除
|
||||
export function delProjectLot(lotId) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectLot/' + lotId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
//工程项目下拉数据
|
||||
export function getProjectSelect(data) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectInfo/getProjectLot',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 往来单位-列表
|
||||
export function unitInfoAll(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
//往来单位--新增
|
||||
export function addUnit(data) {
|
||||
return request({
|
||||
url: '/material/bm_unit',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 往来单位--修改
|
||||
export function updateUnit(data) {
|
||||
return request({
|
||||
url: '/material/bm_unit',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 往来单位--删除
|
||||
export function delUnit(unitId) {
|
||||
return request({
|
||||
url: '/material/bm_unit/' + unitId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 往来单位-人员配置-左侧人员
|
||||
export function getUserList(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit_person/getDeptUserTree',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 往来单位-人员配置-右侧单位
|
||||
export function getTypeList(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 往来单位-人员配置-保存按钮
|
||||
export function unitPersonAll(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit_person/bind',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 往来单位-人员配置-解绑
|
||||
export function delUnitPerson(unitId) {
|
||||
return request({
|
||||
url: '/material/bm_unit_person/' + unitId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 字典表数据库
|
||||
// 单位类型-列表
|
||||
export function unitTypeList(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit_type/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 单位类型-列表-下拉
|
||||
export function unitTypeListAll(query) {
|
||||
return request({
|
||||
url: '/material/bm_unit_type/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 标签编号-列表
|
||||
export function getMaMachineLabelApi(query) {
|
||||
return request({
|
||||
url: '/material/base/maMachineLabel/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
//单位类型--新增
|
||||
export function addMaMachineLabelApi(data) {
|
||||
return request({
|
||||
url: '/material/bm_unit_type',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 单位类型-详情
|
||||
export function unitTypeDetail(typeId) {
|
||||
return request({
|
||||
url: `/material/bm_unit_type/${typeId}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
//单位类型--新增
|
||||
export function addUnitType(data) {
|
||||
return request({
|
||||
url: '/material/bm_unit_type',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 单位类型--修改
|
||||
export function updateUnitType(data) {
|
||||
return request({
|
||||
url: '/material/bm_unit_type',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function statusUnitType(data) {
|
||||
return request({
|
||||
url: '/material/base/dic/status',
|
||||
method: 'put',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
//单位类型--删除
|
||||
export function delUnitType(typeIds) {
|
||||
return request({
|
||||
url: '/material/bm_unit_type/' + typeIds,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 资产属性管理-列表
|
||||
export function propInfoList(query) {
|
||||
return request({
|
||||
url: '/material/bm_asset_attributes/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
//资产属性管理--新增
|
||||
export function addPropInfo(data) {
|
||||
return request({
|
||||
url: '/material/bm_asset_attributes',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 资产属性管理--修改
|
||||
export function updatePropInfo(data) {
|
||||
return request({
|
||||
url: '/material/bm_asset_attributes',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
//资产属性管理--删除
|
||||
export function delPropInfo(id) {
|
||||
return request({
|
||||
url: `/material/bm_asset_attributes/${id}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 资产属性管理-详情
|
||||
export function PropDetail(id) {
|
||||
return request({
|
||||
url: `/material/bm_asset_attributes/${id}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// // 资产属性配置-左侧人员
|
||||
// export function getProLists(query) {
|
||||
// return request({
|
||||
// url: '/material/base/maPropInfo/lists',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
|
||||
// // 资产属性配置-右侧list
|
||||
// export function getMaTypeList(query) {
|
||||
// return request({
|
||||
// url: '/material/base/maPropInfo/getMaTypeList',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
|
||||
// // 资产属性配置-保存按钮
|
||||
// export function savePropInfo(query) {
|
||||
// return request({
|
||||
// url: '/material/base/maPropInfo/save',
|
||||
// method: 'post',
|
||||
// data: query
|
||||
// })
|
||||
// }
|
||||
|
||||
// // 资产属性配置-解绑
|
||||
// export function UnbindPropInfo(unitId) {
|
||||
// return request({
|
||||
// url: '/material/base/maPropSet/' + unitId,
|
||||
// method: 'delete'
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
// 获取设备信息-qrCode
|
||||
export function getMachineByQrCode(query) {
|
||||
return request({
|
||||
url: '/material/base/machine/getMachineByQrCode',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
//机具类型管理列表信息
|
||||
export function getListAccessory(query) {
|
||||
return request({
|
||||
url: '/material/ma_part_type/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//机具类型管理列表信息
|
||||
export function getListTree(query) {
|
||||
return request({
|
||||
url: '/material/ma_part_type/getPartTree',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//查看机具类型管理列表详细信息
|
||||
export function getAccessoryDetail(id) {
|
||||
return request({
|
||||
url: '/material/ma_part_type/'+ id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 仓库管理--删除
|
||||
export function delAccessory(id) {
|
||||
return request({
|
||||
url: '/material/ma_part_type/' + id,
|
||||
method: 'delete',
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--修改
|
||||
export function editAccessory(data) {
|
||||
return request({
|
||||
url: '/material/ma_part_type',
|
||||
method: 'put',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--新增
|
||||
export function addAccessory(data) {
|
||||
return request({
|
||||
url: '/material/ma_part_type',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
//机具类型管理
|
||||
export function getMaTypeList(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/getMaTypeTreeSelect',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//机具类型管理列表信息
|
||||
export function getListByMaType(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//查看机具类型管理列表详细信息
|
||||
export function getMaType(id) {
|
||||
return request({
|
||||
url: '/material/ma_type/'+ id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
// 仓库信息下拉框-
|
||||
export function queryKeeperDataApi(query) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/listNoPage',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 施工类型下拉框-
|
||||
export function queryKeeperProApi(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/selectMaTypeListByHouseId',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 物资类型下拉框-
|
||||
export function queryKeeperMatApi(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/selectMaTypeListByTypeId',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 物资名称下拉框-
|
||||
export function queryKeeperNameApi(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/selectMaTypeListByTypeId',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// // 导出
|
||||
// export function exportMaterial(query) {
|
||||
// return request({
|
||||
// url: '/material/ma_type/export',
|
||||
// method: 'post',
|
||||
// responseType: 'blob',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
|
||||
// 物资类型管理--删除
|
||||
export function delMaType(typeId) {
|
||||
return request({
|
||||
url: '/material/ma_type/' + typeId,
|
||||
method: 'delete',
|
||||
})
|
||||
}
|
||||
|
||||
// 物资类型管理--修改
|
||||
export function updateMaType(data) {
|
||||
return request({
|
||||
url: '/material/ma_type',
|
||||
method: 'put',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 物资类型管理--新增
|
||||
export function addMaType(data) {
|
||||
return request({
|
||||
url: '/material/ma_type',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 工程项目-列表
|
||||
export function getProjectList(query) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectInfo/projectInfoAll',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
//机具类型管理列表信息
|
||||
export function getListDevice(query) {
|
||||
return request({
|
||||
url: '/material/ma_machine/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//查看机具类型管理列表详细信息
|
||||
export function getDeviceDetail(id) {
|
||||
return request({
|
||||
url: '/material/ma_machine/'+ id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 物资名称下拉框-
|
||||
export function getDeviceType(query) {
|
||||
return request({
|
||||
url: '/material/ma_machine/getTypeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--删除
|
||||
export function delDevice(id) {
|
||||
return request({
|
||||
url: '/material/ma_machine/' + id,
|
||||
method: 'delete',
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--修改
|
||||
export function editDevice(data) {
|
||||
return request({
|
||||
url: '/material/ma_machine',
|
||||
method: 'put',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--新增
|
||||
export function addDevice(data) {
|
||||
return request({
|
||||
url: '/material/ma_machine',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 工程项目-列表
|
||||
export function getProjectList(query) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectInfo/projectInfoAll',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
//机具类型管理列表信息
|
||||
export function getListHouse(query) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//查看机具类型管理列表详细信息
|
||||
export function getHouseDetail(id) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/'+ id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 物资名称下拉框-
|
||||
export function queryKeeperNameApi(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/selectMaTypeListByTypeId',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--删除
|
||||
export function delHouse(id) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/' + id,
|
||||
method: 'delete',
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--修改
|
||||
export function editHouse(data) {
|
||||
return request({
|
||||
url: '/material/wh_house_info',
|
||||
method: 'put',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--新增
|
||||
export function addHouse(data) {
|
||||
return request({
|
||||
url: '/material/wh_house_info',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 工程项目-列表
|
||||
export function getProjectList(query) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectInfo/projectInfoAll',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
//机具类型管理列表信息
|
||||
export function getListHouse(query) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//查看机具类型管理列表详细信息
|
||||
export function getHouseDetail(id) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/'+ id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 物资名称下拉框-
|
||||
export function queryKeeperNameApi(query) {
|
||||
return request({
|
||||
url: '/material/ma_type/selectMaTypeListByTypeId',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--删除
|
||||
export function delHouse(id) {
|
||||
return request({
|
||||
url: '/material/wh_house_info/' + id,
|
||||
method: 'delete',
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--修改
|
||||
export function editHouse(data) {
|
||||
return request({
|
||||
url: '/material/wh_house_info',
|
||||
method: 'put',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 仓库管理--新增
|
||||
export function addHouse(data) {
|
||||
return request({
|
||||
url: '/material/wh_house_info',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 工程项目-列表
|
||||
export function getProjectList(query) {
|
||||
return request({
|
||||
url: '/material/base/bmProjectInfo/projectInfoAll',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
//组织人员树类型管理
|
||||
export function getMatConfigList(query) {
|
||||
return request({
|
||||
url: '/material/ma_type_config/getDeptUserTree',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
//组织人员树类型管理列表
|
||||
export function getListByMatConfig(query) {
|
||||
return request({
|
||||
url: '/material/ma_type_config/getMaTypeConfigList',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
// 物资类型管理--新增
|
||||
export function bindRepair(data) {
|
||||
return request({
|
||||
url: '/material/ma_type_config/updateMaTypeBindInfo',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
import request from '@/utils/request'
|
||||
//资源图片上传
|
||||
export function imgUpLoad(param){
|
||||
const formData = new FormData()
|
||||
formData.append('file', param.file)
|
||||
formData.append('fileType', param.type)
|
||||
return request({
|
||||
url: '/system/sys/file/upload',
|
||||
method: 'post',
|
||||
data: formData,
|
||||
header:'multipart/form-data'
|
||||
})
|
||||
}
|
||||
|
||||
//资源文件上传
|
||||
export function fileUpLoad(param){
|
||||
const formData = new FormData()
|
||||
formData.append('file', param.file)
|
||||
return request({
|
||||
url: '/system/sys/file/upload',
|
||||
method: 'post',
|
||||
data: formData,
|
||||
})
|
||||
}
|
||||
|
||||
// excel文件上传
|
||||
export function excelUpLoad(param){
|
||||
const formData = new FormData()
|
||||
formData.append('file', param.file)
|
||||
return request({
|
||||
url: '/material/base/maPartType/readExcel',
|
||||
method: 'post',
|
||||
data: formData,
|
||||
})
|
||||
}
|
||||
|
||||
// excel文件下载
|
||||
export function downloadExcel(param){
|
||||
return request({
|
||||
url: '/material/base/maPartType/downLoad',
|
||||
method: 'post',
|
||||
param
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,395 @@
|
|||
<template>
|
||||
<div class="app-container" id="assetAttributeManagement">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="资产类型名称" prop="assetName">
|
||||
<el-input
|
||||
v-model="queryParams.assetName"
|
||||
placeholder="请输入资产类型名称"
|
||||
clearable
|
||||
maxlength="50"
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
size="mini"
|
||||
@click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出</el-button
|
||||
>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-refresh"
|
||||
size="mini"
|
||||
@click="handleRefreshCache"
|
||||
>刷新缓存</el-button>
|
||||
</el-col> -->
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="propInfoList"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
prop="id"
|
||||
/>
|
||||
<el-table-column
|
||||
label="资产类型名称"
|
||||
align="center"
|
||||
prop="assetName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- <el-table-column
|
||||
label="所属上级"
|
||||
align="center"
|
||||
prop="deptName"
|
||||
:show-overflow-tooltip="true"
|
||||
/> -->
|
||||
<el-table-column
|
||||
label="资产编码"
|
||||
align="center"
|
||||
prop="assetCode"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
|
||||
<!-- <el-table-column
|
||||
label="状态"
|
||||
align="center"
|
||||
prop="status"
|
||||
width="140"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
active-value="0"
|
||||
inactive-value="1"
|
||||
@change="changeStatus(scope.row)"
|
||||
v-model="scope.row.status"
|
||||
></el-switch>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 添加或修改参数配置对话框 -->
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="open"
|
||||
width="600px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="120px"
|
||||
>
|
||||
<el-form-item label="资产类型名称" prop="assetName">
|
||||
<el-input
|
||||
v-model="form.assetName"
|
||||
placeholder="请输入资产类型名称"
|
||||
maxlength="60"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="资产编码" prop="assetCode">
|
||||
<el-input
|
||||
v-model="form.assetCode"
|
||||
placeholder="请输入资产编码"
|
||||
maxlength="60"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import {
|
||||
// refreshCache,
|
||||
// } from '@/api/system/dict/type'
|
||||
// import {
|
||||
// addPropInfo,
|
||||
// delPropInfo,
|
||||
// propInfoList,
|
||||
// updatePropInfo,
|
||||
// } from '@/api/base/base'
|
||||
// import { deptTreeSelect } from '@/api/system/user'
|
||||
// import Treeselect from '@riophae/vue-treeselect'
|
||||
// import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
name: 'AssetAttributeManagement',
|
||||
dicts: ['sys_normal_disable'],
|
||||
// components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
assetCode:'',
|
||||
assetName:'',
|
||||
// 字典表格数据
|
||||
propInfoList: [],
|
||||
deptOptions: [],
|
||||
// 弹出层标题
|
||||
title: '',
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
assetName: undefined,
|
||||
assetCode: undefined,
|
||||
dictType: undefined,
|
||||
status: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
id: undefined,
|
||||
assetName: undefined,
|
||||
assetCode: undefined,
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
assetName: [
|
||||
{
|
||||
required: true,
|
||||
message: '资产类型名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
// deptId: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: '所属上级不能为空',
|
||||
// trigger: 'blur',
|
||||
// },
|
||||
// ],
|
||||
assetCode: [
|
||||
{
|
||||
required: true,
|
||||
message: '资产类型编码不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
// this.getDeptTree()
|
||||
},
|
||||
methods: {
|
||||
// /** 查询部门下拉树结构 */
|
||||
// getDeptTree() {
|
||||
// deptTreeSelect().then((response) => {
|
||||
// this.deptOptions = response.data
|
||||
// })
|
||||
// },
|
||||
//更新状态
|
||||
changeStatus(row) {
|
||||
let param = {
|
||||
id: row.id,
|
||||
|
||||
}
|
||||
updatePropInfo(param).then((response) => {
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
propInfoList(this.queryParams).then((response) => {
|
||||
this.propInfoList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = []
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '新建'
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) => item.id)
|
||||
this.single = selection.length != 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.form.assetName = row.assetName
|
||||
this.form.assetCode = row.assetCode
|
||||
this.form.id = row.id
|
||||
console.log(row,"row")
|
||||
propInfoList({ id: row.id }).then((response) => {
|
||||
this.form.id = response.row.id
|
||||
})
|
||||
this.open = true
|
||||
this.title = '编辑'
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.id != undefined) {
|
||||
updatePropInfo(this.form).then((response) => {
|
||||
console.log(response,"response")
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
} else {
|
||||
console.log(this.form)
|
||||
addPropInfo(this.form).then((response) => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const propIds = row.id
|
||||
this.$modal
|
||||
.confirm('是否确认删除该数据项?')
|
||||
.then(function () {
|
||||
return delPropInfo(propIds)
|
||||
})
|
||||
.then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download(
|
||||
'material/base/maPropInfo/export',
|
||||
{
|
||||
...this.queryParams,
|
||||
dataCondition: this.ids,
|
||||
},
|
||||
`资产属性_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
/** 刷新缓存按钮操作 */
|
||||
// handleRefreshCache() {
|
||||
// refreshCache().then(() => {
|
||||
// this.$modal.msgSuccess('刷新成功')
|
||||
// this.$store.dispatch('dict/cleanDict')
|
||||
// })
|
||||
// },
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -47,16 +47,16 @@
|
|||
>新建</el-button
|
||||
>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handlePeople"
|
||||
>人员配置</el-button
|
||||
>
|
||||
</el-col> -->
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
|
|
@ -64,7 +64,17 @@
|
|||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出</el-button
|
||||
>导入数据</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出数据</el-button
|
||||
>
|
||||
</el-col>
|
||||
|
||||
|
|
@ -82,12 +92,10 @@
|
|||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
:index="
|
||||
indexContinuation(queryParams.pageNum, queryParams.pageSize)
|
||||
"
|
||||
prop="unitId"
|
||||
width="100"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="单位名称"
|
||||
|
|
@ -102,9 +110,9 @@
|
|||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="所属上级"
|
||||
label="所属分公司"
|
||||
align="center"
|
||||
prop="deptName"
|
||||
prop="deptId"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
|
|
@ -119,7 +127,7 @@
|
|||
prop="telphone"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
label="状态"
|
||||
align="center"
|
||||
prop="status"
|
||||
|
|
@ -134,7 +142,7 @@
|
|||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
|
@ -195,21 +203,21 @@
|
|||
>
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:key="item.typeId"
|
||||
:label="item.typeName"
|
||||
:value="item.typeId"
|
||||
v-if="item.status != '1'"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属上级" prop="deptId">
|
||||
<el-form-item label="所属分公司" prop="deptId">
|
||||
<treeselect
|
||||
v-model="form.deptId"
|
||||
:options="deptOptions"
|
||||
noChildrenText="没有数据了"
|
||||
noOptionsText="没有数据"
|
||||
noResultsText="没有搜索结果"
|
||||
placeholder="请选择所属上级"
|
||||
placeholder="请选择所属分公司"
|
||||
@select="select"
|
||||
@input="resetValidation"
|
||||
/>
|
||||
|
|
@ -291,6 +299,7 @@ export default {
|
|||
dictType: undefined,
|
||||
status: undefined,
|
||||
dataCondition: [],
|
||||
typeId:undefined
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
|
|
@ -313,7 +322,7 @@ export default {
|
|||
deptId: [
|
||||
{
|
||||
required: true,
|
||||
message: '所属上级不能为空',
|
||||
message: '所属分公司不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
|
|
@ -321,21 +330,21 @@ export default {
|
|||
}
|
||||
},
|
||||
created() {
|
||||
this.getType()
|
||||
this.getDeptTree()
|
||||
this.getList()
|
||||
// this.getType()
|
||||
// this.getDeptTree()
|
||||
// this.getList()
|
||||
},
|
||||
methods: {
|
||||
//获取单位类型
|
||||
getType() {
|
||||
unitTypeListAll({ id: '1' }).then((response) => {
|
||||
this.typeList = response.rows
|
||||
unitTypeListAll({}).then((response) => {
|
||||
this.typeList = response.data.rows
|
||||
})
|
||||
},
|
||||
selecType(id) {
|
||||
selecType(typeId) {
|
||||
this.typeList.forEach((item) => {
|
||||
if (item.id == id) {
|
||||
this.form.typeName = item.name
|
||||
if (item.typeId === typeId) {
|
||||
this.form.typeName = item.typeName
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
@ -384,6 +393,8 @@ export default {
|
|||
dictType: undefined,
|
||||
status: '0',
|
||||
remark: undefined,
|
||||
typeId: undefined,
|
||||
typeName: undefined
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
|
|
@ -405,7 +416,9 @@ export default {
|
|||
this.title = '新建'
|
||||
},
|
||||
handlePeople(row) {
|
||||
this.$router.push('/material/base/comeAndGoPeople')
|
||||
this.$router.push({
|
||||
path:'/base/comeAndGoPeople'
|
||||
})
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
|
|
@ -464,7 +477,7 @@ export default {
|
|||
})
|
||||
.then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
<div class="head-container">
|
||||
<el-tree
|
||||
:data="deptOptions"
|
||||
:props="defaultProps"
|
||||
:expand-on-click-node="false"
|
||||
:filter-node-method="filterNode"
|
||||
ref="tree"
|
||||
|
|
@ -69,11 +68,11 @@
|
|||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleSave"
|
||||
>保存</el-button
|
||||
>绑定</el-button
|
||||
>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="1.5">
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button
|
||||
type="info"
|
||||
plain
|
||||
|
|
@ -82,7 +81,7 @@
|
|||
@click="handleImport"
|
||||
>导入</el-button
|
||||
>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
|
|
@ -123,7 +122,7 @@
|
|||
prop="typeName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="所属上级"
|
||||
label="所属分公司"
|
||||
align="center"
|
||||
key="deptName"
|
||||
prop="deptName"
|
||||
|
|
@ -150,7 +149,7 @@
|
|||
prop="userName"
|
||||
>
|
||||
<!-- <template slot-scope="scope">
|
||||
|
||||
|
||||
</template> -->
|
||||
</el-table-column>
|
||||
|
||||
|
|
@ -160,7 +159,7 @@
|
|||
width="160"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<template slot-scope="scope" v-if="scope.row.userId !== 1">
|
||||
<template slot-scope="scope" v-if="scope.row.isBind === 1">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
|
|
@ -201,7 +200,7 @@
|
|||
v-model="form.deptId"
|
||||
:options="deptOptions"
|
||||
:show-count="true"
|
||||
noChildrenText="没有数据了" noOptionsText="没有数据" noResultsText="没有搜索结果"
|
||||
noChildrenText="没有数据了" noOptionsText="没有数据" noResultsText="没有搜索结果"
|
||||
placeholder="请选择归属部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -288,7 +287,7 @@
|
|||
<el-form-item label="岗位">
|
||||
<el-select
|
||||
v-model="form.postIds"
|
||||
multiple filterable
|
||||
multiple filterable
|
||||
placeholder="请选择岗位"
|
||||
>
|
||||
<el-option
|
||||
|
|
@ -305,7 +304,7 @@
|
|||
<el-form-item label="角色">
|
||||
<el-select
|
||||
v-model="form.roleIds"
|
||||
multiple filterable
|
||||
multiple filterable
|
||||
placeholder="请选择角色"
|
||||
>
|
||||
<el-option
|
||||
|
|
@ -382,10 +381,9 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user";
|
||||
|
||||
import { deptTreeSelect } from "@/api/system/user";
|
||||
// import { getUserList, getTypeList, unitPersonAll, delUnitPerson } from "@/api/base/base";
|
||||
|
||||
|
||||
import { getToken } from "@/utils/auth";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
|
|
@ -430,10 +428,10 @@ export default {
|
|||
roleOptions: [],
|
||||
// 表单参数
|
||||
form: {},
|
||||
defaultProps: {
|
||||
children: "children",
|
||||
label: "nickName"
|
||||
},
|
||||
// defaultProps: {
|
||||
// children: "children",
|
||||
// // label: "nickName"
|
||||
// },
|
||||
// 用户导入参数
|
||||
upload: {
|
||||
// 是否显示弹出层(用户导入)
|
||||
|
|
@ -502,15 +500,16 @@ export default {
|
|||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getUserList()
|
||||
// this.getList();
|
||||
// this.getUserList()
|
||||
|
||||
},
|
||||
methods: {
|
||||
/** 查询人员列表 */
|
||||
getUserList() {
|
||||
getUserList({ userName: this.userName }).then(response => {
|
||||
this.deptOptions = response.rows;
|
||||
console.log('response',response)
|
||||
this.deptOptions = response.data
|
||||
// this.total = response.total;
|
||||
}
|
||||
);
|
||||
|
|
@ -539,8 +538,8 @@ export default {
|
|||
},
|
||||
// 节点单击事件
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.chosenUserId = data.userId;
|
||||
console.log('data',data)
|
||||
this.chosenUserId = data.id;
|
||||
this.queryParams.userId = data.userId;
|
||||
// this.getList()
|
||||
// this.queryParams.deptId = data.id;
|
||||
|
|
@ -592,10 +591,21 @@ export default {
|
|||
handleSave() {
|
||||
console.log(this.chosenUserId, 'chosenUserId')
|
||||
console.log(this.ids, 'ids')
|
||||
if(this.chosenUserId){
|
||||
let param = {
|
||||
|
||||
if( this.ids.length < 1) {
|
||||
this.$modal.msgError('请勾选需要绑定的单位!')
|
||||
return
|
||||
}
|
||||
|
||||
if(!this.chosenUserId) {
|
||||
this.$modal.msgError("请先选择配置人员!")
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
let param = {
|
||||
userId: this.chosenUserId,
|
||||
unitId: this.ids[0]
|
||||
unitIdList: this.ids
|
||||
}
|
||||
unitPersonAll(param).then(response => {
|
||||
if (response.code == 200) {
|
||||
|
|
@ -605,11 +615,7 @@ export default {
|
|||
})
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}else{
|
||||
this.$modal.msgError("请先选择配置人员!");
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
/** 修改按钮操作 */
|
||||
|
|
@ -664,11 +670,11 @@ export default {
|
|||
...this.queryParams
|
||||
}, `user_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
/** 导入按钮操作 */
|
||||
handleImport() {
|
||||
this.upload.title = "用户导入";
|
||||
this.upload.open = true;
|
||||
},
|
||||
// /** 导入按钮操作 */
|
||||
// handleImport() {
|
||||
// this.upload.title = "用户导入";
|
||||
// this.upload.open = true;
|
||||
// },
|
||||
/** 下载模板操作 */
|
||||
importTemplate() {
|
||||
this.download('system/user/importTemplate', {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,584 @@
|
|||
<template>
|
||||
<div class="app-container" id="project">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="工程项目名称" prop="proName">
|
||||
<el-input
|
||||
v-model="queryParams.proName"
|
||||
placeholder="请输入工程项目名称"
|
||||
clearable
|
||||
maxlength="50"
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
size="mini"
|
||||
@click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>新建</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导入数据</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出数据</el-button
|
||||
>
|
||||
</el-col>
|
||||
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="projectList"
|
||||
@selection-change="handleSelectionChange"
|
||||
border
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
prop="id"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工程项目名称"
|
||||
align="center"
|
||||
prop="proName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="实施单位"
|
||||
align="center"
|
||||
prop="typeName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工程类型"
|
||||
align="center"
|
||||
prop="typeName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="i8工程编码"
|
||||
align="center"
|
||||
prop="deptName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="是否匹配i8工程"
|
||||
align="center"
|
||||
prop="linkMan"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="合同主体"
|
||||
align="center"
|
||||
prop="linkMan"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="项目经理"
|
||||
align="center"
|
||||
prop="linkMan"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="联系电话"
|
||||
align="center"
|
||||
prop="telphone"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工程状态"
|
||||
align="center"
|
||||
prop="status"
|
||||
width="140"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
active-value="0"
|
||||
inactive-value="1"
|
||||
@change="changeStatus(scope.row)"
|
||||
v-model="scope.row.status"
|
||||
></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改参数配置对话框 -->
|
||||
<el-dialog
|
||||
title="新建工程"
|
||||
:visible.sync="open"
|
||||
width="700px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="120px"
|
||||
>
|
||||
<el-form-item label="工程名称" prop="proName">
|
||||
<el-input
|
||||
v-model="form.proName"
|
||||
placeholder="请输入工程名称"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="实施单位" prop="projectStatus">
|
||||
<el-select
|
||||
v-model="form.projectStatus"
|
||||
filterable
|
||||
placeholder="请选择实施单位"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="status in unitList"
|
||||
:key="status.value"
|
||||
:label="status.label"
|
||||
:value="status.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工程状态" prop="projectStatus">
|
||||
<el-select
|
||||
v-model="form.projectStatus"
|
||||
filterable
|
||||
placeholder="请选择工程状态"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="status in projectStatuses"
|
||||
:key="status.value"
|
||||
:label="status.label"
|
||||
:value="status.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目经理" prop="projectManager">
|
||||
<el-input
|
||||
v-model="form.projectManager"
|
||||
placeholder="请输入项目经理姓名"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="合同主体单位" prop="contractingEntity">
|
||||
<el-input
|
||||
v-model="form.contractingEntity"
|
||||
placeholder="请输入合同主体单位"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="i8工程ID" prop="i8ProjectId">
|
||||
<el-input
|
||||
v-model="form.i8ProjectId"
|
||||
placeholder="请输入i8工程ID"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="i8ProjectId">
|
||||
<el-input
|
||||
type="textarea"
|
||||
placeholder="请输入内容"
|
||||
v-model="textarea"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form
|
||||
label-width="120px"
|
||||
>
|
||||
<el-form-item label="工程编号" prop="projectNo">
|
||||
<el-input
|
||||
v-model="form.projectNo"
|
||||
placeholder="请输入工程编号"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工程类型" prop="projectStatus">
|
||||
<el-select
|
||||
v-model="form.projectStatus"
|
||||
filterable
|
||||
placeholder="请选择工程状态"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="status in projectStatuses"
|
||||
:key="status.value"
|
||||
:label="status.label"
|
||||
:value="status.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工程性质" prop="projectNature">
|
||||
<el-select
|
||||
v-model="form.projectNature"
|
||||
filterable
|
||||
placeholder="请选择工程性质"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="nature in projectNatures"
|
||||
:key="nature.value"
|
||||
:label="nature.label"
|
||||
:value="nature.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="telephone">
|
||||
<el-input
|
||||
v-model="form.telephone"
|
||||
placeholder="请输入联系电话"
|
||||
maxlength="11"
|
||||
onkeyup="this.value = this.value.replace(/[^\d]/g, '')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属项目中心" prop="projectCenter">
|
||||
<el-input
|
||||
v-model="form.projectCenter"
|
||||
placeholder="请输入所属项目中心"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联i8工程" prop="relatedI8Project">
|
||||
<el-input
|
||||
v-model="form.relatedI8Project"
|
||||
placeholder="输入搜索关键词"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm" :loading="isLoading">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import {
|
||||
// addProject,
|
||||
// delProject,
|
||||
// getProjectList,
|
||||
// updateProject,
|
||||
// getProjectUserList,
|
||||
// } from '@/api/base/base'
|
||||
// import { unitTypeList } from '@/api/base/base'
|
||||
// import { deptTreeSelect } from '@/api/system/user'
|
||||
// import Treeselect from '@riophae/vue-treeselect'
|
||||
// import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
export default {
|
||||
name: 'Project',
|
||||
dicts: ['sys_normal_disable'],
|
||||
// components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
textarea: '',
|
||||
isLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 表格数据
|
||||
projectList: [],
|
||||
//字典数据
|
||||
typeList: [],
|
||||
unitList:[],
|
||||
// 部门树选项
|
||||
deptOptions: undefined,
|
||||
// 弹出层标题
|
||||
title: '',
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
proName: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
chosenData: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
proName: [
|
||||
{
|
||||
required: true,
|
||||
message: '工程项目名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
typeId: [
|
||||
{
|
||||
required: true,
|
||||
message: '单位类型不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
deptId: [
|
||||
{
|
||||
required: true,
|
||||
message: '所属上级不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// this.getType()
|
||||
// this.getDeptTree()
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
// //获取工程类型
|
||||
// getType() {
|
||||
// unitTypeList({ id: '5' }).then((response) => {
|
||||
// this.typeList = response.rows
|
||||
// })
|
||||
// },
|
||||
selecType(id) {
|
||||
// this.typeList.forEach(item => {
|
||||
// if(item.id == id){
|
||||
// this.form.typeName = item.name
|
||||
// }
|
||||
// });
|
||||
},
|
||||
/** 查询部门下拉树结构 */
|
||||
getDeptTree() {
|
||||
deptTreeSelect().then((response) => {
|
||||
this.deptOptions = response.data
|
||||
})
|
||||
},
|
||||
select(row) {
|
||||
// console.log(row.label)
|
||||
// this.form.deptName = row.label;
|
||||
},
|
||||
|
||||
/** 查询字典类型列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
getProjectList(this.queryParams).then((response) => {
|
||||
this.projectList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.form = this.chosenData
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
proId: undefined,
|
||||
proName: undefined,
|
||||
dictType: undefined,
|
||||
status: '0',
|
||||
remark: undefined,
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = []
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '新增'
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) => item.proId)
|
||||
this.single = selection.length != 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
changeStatus(row) {
|
||||
let param = {
|
||||
proId: row.proId,
|
||||
status: row.status,
|
||||
}
|
||||
updateProject(param).then((response) => {
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset()
|
||||
getProjectList({ proId: row.proId }).then((response) => {
|
||||
this.form = response.rows[0]
|
||||
})
|
||||
this.open = true
|
||||
this.title = '编辑'
|
||||
// });
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isLoading = true
|
||||
if (this.form.proId != undefined) {
|
||||
updateProject(this.form)
|
||||
.then((response) => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.isLoading = false
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
} else {
|
||||
addProject(this.form)
|
||||
.then((response) => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.isLoading = false
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const proIds = row.proId || this.ids
|
||||
this.$modal
|
||||
.confirm('是否确认删除所选择的数据项?')
|
||||
.then(function () {
|
||||
return delProject(proIds)
|
||||
})
|
||||
.then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download(
|
||||
'material/base/bmProjectInfo/export',
|
||||
{
|
||||
...this.queryParams,
|
||||
dataCondition: this.ids,
|
||||
},
|
||||
`工程项目_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
/** 刷新缓存按钮操作 */
|
||||
// handleRefreshCache() {
|
||||
// refreshCache().then(() => {
|
||||
// this.$modal.msgSuccess('刷新成功')
|
||||
// this.$store.dispatch('dict/cleanDict')
|
||||
// })
|
||||
// },
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,441 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
>
|
||||
<el-form-item prop="typeName">
|
||||
<el-input
|
||||
v-model="queryParams.typeName"
|
||||
placeholder="请输入类型名称"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
size="mini"
|
||||
@click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:role:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:role:export']"
|
||||
>导入数据</el-button
|
||||
>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:role:export']"
|
||||
>导出数据</el-button
|
||||
>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="roleList"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column
|
||||
label="序号"
|
||||
prop="typeId"
|
||||
width="100"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="单位类型"
|
||||
prop="typeName"
|
||||
:show-overflow-tooltip="true"
|
||||
width="1000"
|
||||
/>
|
||||
|
||||
<!-- <el-table-column label="状态" align="center">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-switch-->
|
||||
<!-- v-model="scope.row.status"-->
|
||||
<!-- active-value="0"-->
|
||||
<!-- inactive-value="1"-->
|
||||
<!-- @change="handleStatusChange(scope.row)"-->
|
||||
<!-- ></el-switch>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:role:edit']"
|
||||
>修改</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:role:remove']"
|
||||
>删除</el-button
|
||||
>
|
||||
<el-dropdown
|
||||
size="mini"
|
||||
@command="
|
||||
(command) => handleCommand(command, scope.row)
|
||||
"
|
||||
v-hasPermi="['system:role:edit']"
|
||||
>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改角色配置对话框 -->
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="open"
|
||||
width="500px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="单位类型名称:" prop="typeName" label-width="130px">
|
||||
<el-input
|
||||
v-model="form.typeName"
|
||||
placeholder="请输入单位类型名称"
|
||||
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 分配角色数据权限对话框 -->
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="openDataScope"
|
||||
width="500px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form :model="form" label-width="80px">
|
||||
<el-form-item label="角色名称">
|
||||
<el-input v-model="form.roleName" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="权限字符">
|
||||
<el-input v-model="form.roleKey" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="权限范围">
|
||||
<el-select
|
||||
v-model="form.dataScope"
|
||||
@change="dataScopeSelectChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dataScopeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据权限" v-show="form.dataScope == 2">
|
||||
<el-checkbox
|
||||
v-model="deptExpand"
|
||||
@change="handleCheckedTreeExpand($event, 'dept')"
|
||||
>展开/折叠</el-checkbox
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="deptNodeAll"
|
||||
@change="handleCheckedTreeNodeAll($event, 'dept')"
|
||||
>全选/全不选</el-checkbox
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="form.deptCheckStrictly"
|
||||
@change="handleCheckedTreeConnect($event, 'dept')"
|
||||
>父子联动</el-checkbox
|
||||
>
|
||||
<el-tree
|
||||
class="tree-border"
|
||||
:data="deptOptions"
|
||||
show-checkbox
|
||||
default-expand-all
|
||||
ref="dept"
|
||||
node-key="id"
|
||||
:check-strictly="!form.deptCheckStrictly"
|
||||
empty-text="加载中,请稍候"
|
||||
:props="defaultProps"
|
||||
></el-tree>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitDataScope"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button @click="cancelDataScope">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import {
|
||||
// addUnitType,
|
||||
// delUnitType,
|
||||
// unitTypeList,
|
||||
// updateUnitType,
|
||||
// statusUnitType,
|
||||
// unitTypeDetail,
|
||||
// } from '@/api/base/base'
|
||||
|
||||
export default {
|
||||
name: 'Unit',
|
||||
dicts: ['sys_normal_disable'],
|
||||
data() {
|
||||
return {
|
||||
isLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 字典表格数据
|
||||
typeList: [],
|
||||
// 弹出层标题
|
||||
title: '',
|
||||
typeId:'',
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
// id: '1',
|
||||
name: '',
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
pId: '1',
|
||||
typeName: undefined,
|
||||
typeId:undefined
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
typeName: [
|
||||
{
|
||||
required: true,
|
||||
message: '单位类型名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
// dictType: [
|
||||
// { required: true, message: "字典类型不能为空", trigger: "blur" }
|
||||
// ]
|
||||
},
|
||||
roleList:[]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
/** 查询字典类型列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
unitTypeList(this.queryParams).then((response) => {
|
||||
this.roleList = response.data.rows
|
||||
this.total = response.data.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
// pId: '1',
|
||||
status: '0',
|
||||
// name: undefined,
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = []
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '新增'
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) => item.id)
|
||||
this.single = selection.length != 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
// this.reset()
|
||||
this.form.typeName = row.typeName
|
||||
console.log('修改',typeof row.typeId)
|
||||
unitTypeDetail(row.typeId).then((response) => {
|
||||
// this.form = response.rows[0]
|
||||
this.form.typeId=response.data.typeId
|
||||
})
|
||||
// this.form = row;
|
||||
this.open = true
|
||||
this.title = '编辑'
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isLoading = true
|
||||
|
||||
if (this.form.typeId != undefined) {
|
||||
updateUnitType(this.form)
|
||||
.then((response) => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.isLoading = false
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
} else {
|
||||
addUnitType(this.form)
|
||||
.then((response) => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.isLoading = false
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
changeStatus(row) {
|
||||
let param = {
|
||||
id: row.id,
|
||||
status: row.status,
|
||||
}
|
||||
statusUnitType(param).then((response) => {
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const pIds = row.typeId || this.ids
|
||||
this.$modal
|
||||
.confirm('是否确认删除所选择的数据项?')
|
||||
.then(function () {
|
||||
return delUnitType(pIds)
|
||||
})
|
||||
.then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download(
|
||||
'/material/base/dic/export',
|
||||
{
|
||||
...this.queryParams,
|
||||
dataCondition: this.ids,
|
||||
},
|
||||
`单位类型_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,445 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item prop="keyWord">
|
||||
<el-input
|
||||
v-model="queryParams.keyWord"
|
||||
placeholder="请输入关键词"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['machinery:type:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="typeList"
|
||||
ref="multipleTable"
|
||||
row-key="id"
|
||||
default-expand-all
|
||||
:tree-props="{ children: 'children' }"
|
||||
border
|
||||
>
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
(queryParams.pageNum - 1) * queryParams.pageSize +
|
||||
scope.$index +
|
||||
1
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="名称"
|
||||
align="center"
|
||||
prop="label"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="计量单位"
|
||||
align="center"
|
||||
prop="unitName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="购置价格(元)"
|
||||
align="center"
|
||||
prop="buyPrice"
|
||||
show-overflow-tooltip
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
label="数量"
|
||||
align="center"
|
||||
prop="storageNum"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="备注信息"
|
||||
align="center"
|
||||
prop="remark"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
v-if="scope.row.level==3 || scope.row.level==2"
|
||||
>
|
||||
修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="warning"
|
||||
icon="el-icon-delete-solid"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
v-if="scope.row.level==3 || scope.row.level==2"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['machinery:type:del']"
|
||||
>
|
||||
删除
|
||||
</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- <pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/> -->
|
||||
|
||||
<!-- 新增或修改弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showHouse" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="所属上级" prop="parentId">
|
||||
<treeselect
|
||||
v-model="form.parentId"
|
||||
:options="treeList"
|
||||
:normalizer="normalizer"
|
||||
:show-count="true"
|
||||
:searchable="false"
|
||||
:disable-branch-nodes="false"
|
||||
placeholder="选择上级菜单"
|
||||
@select="onSelect"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="名称" prop="label">
|
||||
<el-input v-model="form.paName" placeholder="请输入名称" maxlength="20">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="计量单位" prop="unitName">
|
||||
<el-input v-model="form.unitName" placeholder="请输入计量单位" maxlength="20">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="购置价格(元)" prop="buyPrice">
|
||||
<el-input v-model="form.buyPrice" placeholder="请输入购置价格" maxlength="20" type="number">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
placeholder="请输入备注"
|
||||
v-model="form.remark"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getListAccessory,getListTree,getAccessoryDetail,addAccessory,editAccessory,delAccessory, } from "@/api/baseGround/accessory";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import IconSelect from "@/components/IconSelect";
|
||||
|
||||
import { downloadFile } from '@/utils/download'
|
||||
export default {
|
||||
name: "Post",
|
||||
components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
|
||||
loadingTwo: false,
|
||||
|
||||
|
||||
// 是否显示项目部Id
|
||||
showName: false,
|
||||
|
||||
// 是否显示施工预警信息
|
||||
showWarn: false,
|
||||
|
||||
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
|
||||
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showHouse: false,
|
||||
|
||||
//列表数据
|
||||
typeList: undefined,
|
||||
|
||||
treeList:[],
|
||||
flagTemp:1,
|
||||
// 总条数
|
||||
total: 0,
|
||||
totalTwo : 0,
|
||||
// 施工记录表格数据
|
||||
houseList: [],
|
||||
maxLength:100,//已选列表上限,防止数据过多请求报错
|
||||
keeperDataRange:[],
|
||||
// 班组人员表格数据
|
||||
teamList: [],
|
||||
teamTempList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord:undefined
|
||||
},
|
||||
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
paName: [
|
||||
{
|
||||
required: true,
|
||||
message: '名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询岗位列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getListAccessory(this.queryParams).then(response => {
|
||||
this.typeList = response.data;
|
||||
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.flagTemp=1;
|
||||
this.reset()
|
||||
this.getTreeselect();
|
||||
this.form.id = 0;
|
||||
this.showHouse = true
|
||||
this.title = '新增'
|
||||
},
|
||||
|
||||
getTreeselect(){
|
||||
getListTree().then(response=>{
|
||||
this.treeList = response.data;
|
||||
const menu = { id: 0, label: '配件类型', children: this.treeList };
|
||||
this.treeList=[],
|
||||
this.treeList.push(menu)
|
||||
});
|
||||
},
|
||||
|
||||
/** 转换菜单数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.label,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
|
||||
handleUpdate(row){
|
||||
this.flagTemp=2;
|
||||
this.reset()
|
||||
this.getTreeselect();
|
||||
const id = row.id
|
||||
getAccessoryDetail(id).then((response) => {
|
||||
this.form = response.data;
|
||||
this.showHouse = true
|
||||
this.title = '修改'
|
||||
})
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {};
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.queryParams.keyWord=null;
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
//** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
console.log(this.form)
|
||||
if (this.flagTemp==2) {
|
||||
console.log('修改')
|
||||
editAccessory(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
} else if(this.flagTemp==1){
|
||||
console.log('新增')
|
||||
console.log('this.form')
|
||||
addAccessory(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.showHouse = false;
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const id = row.id
|
||||
this.$modal
|
||||
.confirm('是否确认删除数据项?')
|
||||
.then(function () {
|
||||
return delAccessory(id)
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
handleExport() {
|
||||
this.download('/material/ma_part_type/export', {
|
||||
...this.queryParams
|
||||
}, `仓库管理_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
onSelect(e) {
|
||||
console.log('eeeee',e)
|
||||
this.form.id = e.id;
|
||||
this.form.level = e.level
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.uploadImg {
|
||||
padding-top: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.deviceCode {
|
||||
margin-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 60px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
//隐藏图片上传框的css
|
||||
::v-deep.disabled {
|
||||
.el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,521 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item prop="keyWord">
|
||||
<el-input
|
||||
v-model="queryParams.keyWord"
|
||||
placeholder="请输入关键词"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="materialType">
|
||||
<el-select v-model="queryParams.materialType" placeholder="请选择物品种类" clearable>
|
||||
<el-option
|
||||
v-for="dict in materialTypeList"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="isAssets">
|
||||
<el-select v-model="queryParams.isAssets" placeholder="是否固定资产" clearable>
|
||||
<el-option label="是" value="0"></el-option>
|
||||
<el-option label="否" value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="materialName">
|
||||
<el-select v-model="queryParams.materialName" placeholder="请选择设备类型" clearable>
|
||||
<el-option
|
||||
v-for="dict in materialNameList"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="materialModel">
|
||||
<el-select v-model="queryParams.materialModel" placeholder="请选择规格型号" clearable>
|
||||
<el-option
|
||||
v-for="dict in materialModelList"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loading" :data="deviceList" ref="multipleTable" row-key="teamId">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物品类型" align="center" prop="materialType" sortable/>
|
||||
<el-table-column label="设备类型" align="center" prop="materialName" sortable/>
|
||||
<el-table-column label="规格型号" align="center" prop="materialModel" sortable/>
|
||||
<el-table-column label="设备编号" align="center" prop="maCode" sortable/>
|
||||
<el-table-column label="设备状态" align="center" prop="maStatus" sortable/>
|
||||
<el-table-column label="固定资产编号" align="center" prop="assetsCode" sortable/>
|
||||
<el-table-column label="设备原编号" align="center" prop="preCode" sortable/>
|
||||
<el-table-column label="购置批次" align="center" prop="buyTask" sortable/>
|
||||
<el-table-column label="绑定标签" align="center" prop="remark" sortable/>
|
||||
<el-table-column label="所在仓库" align="center" prop="ownHouse" sortable/>
|
||||
<el-table-column label="操作" align="center" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-zoom-in"
|
||||
@click="handleView(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['machinery:type:del']"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 查看或修改弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showHouse" width="1300px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="物品种类" prop="materialType">
|
||||
<el-select v-model="form.materialType" placeholder="请选择物品种类" clearable style="width: 100%;" disabled>
|
||||
<el-option
|
||||
v-for="dict in keeperDataRange"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="设备类型" prop="materialName">
|
||||
<el-select v-model="form.materialName" placeholder="请选择设备类型" clearable style="width: 100%;" disabled>
|
||||
<el-option
|
||||
v-for="dict in keeperDataRange"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="规格型号" prop="materialModel">
|
||||
<el-input v-model="form.materialModel" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="设备编号" prop="maCode">
|
||||
<el-input v-model="form.maCode" placeholder="请输入" maxlength="20"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="设备状态" prop="maStatus">
|
||||
<el-input v-model="form.maStatus" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="固定资产编号" prop="assetsCode">
|
||||
<el-input v-model="form.assetsCode" placeholder="请输入" maxlength="20" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="设备原编号" prop="preCode">
|
||||
<el-input v-model="form.preCode" placeholder="请输入" maxlength="20"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="购置批次" prop="buyTask">
|
||||
<el-input v-model="form.buyTask" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="绑定标签" prop="houseName">
|
||||
<el-input v-model="form.houseName" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="所在仓库" prop="ownHouse">
|
||||
<el-input v-model="form.ownHouse" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="本次检验人员" prop="houseName">
|
||||
<el-input v-model="form.houseName" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="本次检验时间" prop="thisCheckTime">
|
||||
<el-date-picker type="date" placeholder="选择日期" v-model="form.thisCheckTime" style="width: 100%;" disabled></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="下次检验时间" prop="nextCheckTime">
|
||||
<el-date-picker type="date" placeholder="选择日期" v-model="form.nextCheckTime" style="width: 100%;" disabled></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="资产属性" prop="houseName">
|
||||
<el-input v-model="form.houseName" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="出场时间" prop="outFacTime">
|
||||
<el-date-picker type="date" placeholder="选择日期" v-model="form.outFacTime" style="width: 100%;"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="出厂编号" prop="outFacCode">
|
||||
<el-input v-model="form.outFacCode" placeholder="请输入" maxlength="20"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="出入库次数" prop="inOutNum">
|
||||
<el-input v-model="form.inOutNum" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="库管员" prop="houseName">
|
||||
<el-input v-model="form.houseName" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="维修员" prop="houseName">
|
||||
<el-input v-model="form.houseName" placeholder="请输入" maxlength="20" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
placeholder="请输入备注"
|
||||
v-model="form.remark"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<template>
|
||||
<el-button v-if="this.title=='修改'" type="primary" @click="submitForm">确 定</el-button>
|
||||
</template>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getListDevice,getDeviceDetail,editDevice,addDevice,delDevice,getDeviceType } from "@/api/baseGround/device";
|
||||
import { downloadFile } from '@/utils/download'
|
||||
import { getToken } from '@/utils/auth'
|
||||
export default {
|
||||
name: "Post",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
|
||||
loadingTwo: false,
|
||||
|
||||
|
||||
// 是否显示项目部Id
|
||||
showName: false,
|
||||
|
||||
// 是否显示施工预警信息
|
||||
showWarn: false,
|
||||
|
||||
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
|
||||
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showHouse: false,
|
||||
|
||||
// 总条数
|
||||
total: 0,
|
||||
totalTwo : 0,
|
||||
// 施工记录表格数据
|
||||
deviceList: [],
|
||||
materialTypeList:[],
|
||||
materialNameList:[],
|
||||
materialModelList:[],
|
||||
maxLength:100,//已选列表上限,防止数据过多请求报错
|
||||
keeperDataRange:[],
|
||||
// 班组人员表格数据
|
||||
teamList: [],
|
||||
teamTempList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord:undefined,
|
||||
isAssets:undefined
|
||||
},
|
||||
// 查询参数
|
||||
queryTeam: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: undefined,
|
||||
sex: undefined,
|
||||
teamId: undefined,
|
||||
},
|
||||
|
||||
// 用户导入参数
|
||||
upload: {
|
||||
// 是否显示弹出层(用户导入)
|
||||
open: false,
|
||||
// 弹出层标题(用户导入)
|
||||
title: "",
|
||||
// 是否禁用上传
|
||||
isUploading: false,
|
||||
// 是否更新已经存在的用户数据
|
||||
updateSupport: 0,
|
||||
// 设置上传的请求头部
|
||||
headers: { Authorization: "Bearer " + getToken() },
|
||||
// 上传的地址
|
||||
url: process.env.VUE_APP_BASE_API + "/material/engineering/excelUpload"
|
||||
},
|
||||
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getDeviceType();
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
getDeviceType(){
|
||||
getDeviceType({level:2}).then(response => {
|
||||
let matTypeRes = response.data;
|
||||
this.materialTypeList = matTypeRes.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
});
|
||||
getDeviceType({level:3}).then(response => {
|
||||
let matNameRes = response.data;
|
||||
this.materialNameList = matNameRes.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
});
|
||||
getDeviceType({level:4}).then(response => {
|
||||
let matModelRes = response.data;
|
||||
this.materialModelList = matModelRes.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/** 查询岗位列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getListDevice(this.queryParams).then(response => {
|
||||
this.deviceList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
handleUpdate(row){
|
||||
this.reset()
|
||||
const maId = row.maId
|
||||
getDeviceDetail(maId).then((response) => {
|
||||
this.form = response.data;
|
||||
|
||||
this.showHouse = true
|
||||
this.title = '修改'
|
||||
})
|
||||
},
|
||||
|
||||
handleView(row){
|
||||
this.reset()
|
||||
const maId = row.maId
|
||||
getDeviceDetail(maId).then((response) => {
|
||||
this.form = response.data;
|
||||
|
||||
this.showHouse = true
|
||||
this.title = '查看'
|
||||
})
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {};
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.queryParams.keyWord=null;
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
//** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.maId != undefined) {
|
||||
editDevice(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.showHouse = false;
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const maId = row.maId
|
||||
this.$modal
|
||||
.confirm('是否确认删除数据项?')
|
||||
.then(function () {
|
||||
return delDevice(maId)
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
// handleExport() {
|
||||
// this.download('/material/ma_machine/export', {
|
||||
// ...this.queryParams
|
||||
// }, `仓库管理_${new Date().getTime()}.xlsx`)
|
||||
// },
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.uploadImg {
|
||||
padding-top: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.deviceCode {
|
||||
margin-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 60px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
//隐藏图片上传框的css
|
||||
::v-deep.disabled {
|
||||
.el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,411 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item prop="keyWord">
|
||||
<el-input
|
||||
v-model="queryParams.keyWord"
|
||||
placeholder="请输入关键词"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['machinery:type:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
<!-- <el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['bracelet:construction:export']"
|
||||
>导出数据</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row> -->
|
||||
|
||||
<el-table v-loading="loading" :data="houseList" ref="multipleTable" row-key="teamId">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="仓库名称" align="center" prop="houseName" sortable/>
|
||||
<el-table-column label="实物库" align="center" prop="physicalName" sortable/>
|
||||
<el-table-column label="地理位置" align="center" prop="geoLocation" sortable/>
|
||||
<el-table-column label="所属组织" align="center" prop="houseName" sortable>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark" sortable>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['machinery:type:del']"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 新增或修改弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showHouse" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="仓库名称" prop="houseName">
|
||||
<el-input v-model="form.houseName" placeholder="请输入仓库名称" maxlength="20"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="地理位置" prop="geoLocation">
|
||||
<el-input v-model="form.geoLocation" placeholder="请输入地理位置" maxlength="20">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="实物库" prop="physicalName">
|
||||
<el-input v-model="form.physicalName" placeholder="请输入实物库" maxlength="20">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="所属组织">
|
||||
<el-select
|
||||
v-model="form.parentId"
|
||||
filterable
|
||||
placeholder="请选择所属组织"
|
||||
style="width: 100%;"
|
||||
|
||||
>
|
||||
<el-option
|
||||
v-for="keeper in keeperDataRange"
|
||||
:key="keeper.value"
|
||||
:label="keeper.label"
|
||||
:value="keeper.value"
|
||||
></el-option>
|
||||
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
placeholder="请输入备注"
|
||||
v-model="form.remark"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getListHouse,getHouseDetail,editHouse,addHouse,delHouse } from "@/api/baseGround/house";
|
||||
import { downloadFile } from '@/utils/download'
|
||||
export default {
|
||||
name: "Post",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
|
||||
loadingTwo: false,
|
||||
|
||||
|
||||
// 是否显示项目部Id
|
||||
showName: false,
|
||||
|
||||
// 是否显示施工预警信息
|
||||
showWarn: false,
|
||||
|
||||
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
|
||||
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showHouse: false,
|
||||
|
||||
// 总条数
|
||||
total: 0,
|
||||
totalTwo : 0,
|
||||
// 施工记录表格数据
|
||||
houseList: [],
|
||||
maxLength:100,//已选列表上限,防止数据过多请求报错
|
||||
keeperDataRange:[],
|
||||
// 班组人员表格数据
|
||||
teamList: [],
|
||||
teamTempList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord:undefined
|
||||
},
|
||||
// 查询参数
|
||||
queryTeam: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: undefined,
|
||||
sex: undefined,
|
||||
teamId: undefined,
|
||||
},
|
||||
|
||||
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
houseName: [
|
||||
{
|
||||
required: true,
|
||||
message: '仓库名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
geoLocation: [
|
||||
{
|
||||
required: false,
|
||||
message: '地理位置不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
physicalName: [
|
||||
{
|
||||
required: false,
|
||||
message: '实物库不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
leasePrice: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属组织',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
remark: [
|
||||
{
|
||||
required: false,
|
||||
message: '备注不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询岗位列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getListHouse(this.queryParams).then(response => {
|
||||
this.houseList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.showHouse = true
|
||||
this.title = '新增'
|
||||
},
|
||||
|
||||
handleUpdate(row){
|
||||
this.reset()
|
||||
const houseId = row.houseId
|
||||
getHouseDetail(houseId).then((response) => {
|
||||
this.form = response.data;
|
||||
|
||||
this.showHouse = true
|
||||
this.title = '修改'
|
||||
})
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {};
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.queryParams.keyWord=null;
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
//** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.houseId != undefined) {
|
||||
editHouse(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
|
||||
addHouse(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.showHouse = false;
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const houseIds = row.houseId
|
||||
this.$modal
|
||||
.confirm('是否确认删除数据项?')
|
||||
.then(function () {
|
||||
return delHouse(houseIds)
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
handleExport() {
|
||||
this.download('/material/wh_house_info/export', {
|
||||
...this.queryParams
|
||||
}, `仓库管理_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.uploadImg {
|
||||
padding-top: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.deviceCode {
|
||||
margin-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 60px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
//隐藏图片上传框的css
|
||||
::v-deep.disabled {
|
||||
.el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,588 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item prop="proName">
|
||||
<el-input
|
||||
v-model="queryParams.proName"
|
||||
placeholder="工程名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['machinery:type:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
<!-- <el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['bracelet:construction:export']"
|
||||
>导出数据</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row> -->
|
||||
|
||||
<el-table v-loading="loading" :data="constructionList" ref="multipleTable" row-key="teamId" @selection-change="handleSelectionChange" @select="handlerSelect" @select-all="handlerSelectAll">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工程名称" align="center" prop="proName" sortable/>
|
||||
<el-table-column label="项目部名称" align="center" prop="departName" sortable/>
|
||||
<el-table-column label="施工班组" align="center" prop="teamName" sortable/>
|
||||
<el-table-column label="班组负责人" align="center" prop="teamLeader" sortable>
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span style="color: green;">{{ scope.row.teamLeader }} \ </span><span style="color: #02a7f0;">{{ scope.row.teamPhone }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="班组施工人数" align="center" prop="teamNum" sortable>
|
||||
<template slot-scope="scope">
|
||||
<div @click="openTeam(scope.row)" style="color: #02a7f0; cursor: pointer">
|
||||
{{ scope.row.teamNum}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="临时人数" align="center" prop="tempNum" sortable>
|
||||
<template slot-scope="scope">
|
||||
<div @click="openTeamTemp(scope.row)" style="color: #02a7f0; cursor: pointer">
|
||||
{{ scope.row.tempNum}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="施工时间" align="center" prop="lyTime" sortable/>
|
||||
<el-table-column label="施工预警次数" align="center" prop="warnNum" sortable>
|
||||
<template slot-scope="scope">
|
||||
<div @click="openWarn(scope.row)" style="color: #02a7f0; cursor: pointer">
|
||||
{{ scope.row.warnNum}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 查看班组弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showTeam" width="1000px" height="1000px" append-to-body>
|
||||
<el-form :model="queryTeam" ref="queryFormTeam" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryTeam.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
@keyup.enter.native="handleQueryTeam"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="sex">
|
||||
<el-select v-model="queryTeam.sex" placeholder="性别" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.sys_user_sex"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQueryTeam">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQueryTeam">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loadingTwo" :data="teamList" width="600px" height = "600px" >
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryTeam.pageNum - 1) * queryTeam.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="人员id" align="center" prop="id" v-if="false" />
|
||||
<el-table-column label="姓名" align="center" prop="name" sortable/>
|
||||
<el-table-column label="性别" align="center" prop="sex" sortable>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="身份证号" align="center" prop="idCard" width="160px" sortable/>
|
||||
<el-table-column label="电话" align="center" prop="phone" sortable/>
|
||||
<el-table-column label="安全帽编号" align="center" prop="aqmCode" />
|
||||
<el-table-column label="马甲编号" align="center" prop="mjCode" />
|
||||
<el-table-column label="人脸信息" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="openImg(scope.row.base64Url)"
|
||||
v-hasPermi="['basic:constructionRecord:edit']"
|
||||
>查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="totalTwo>0"
|
||||
:total="totalTwo"
|
||||
:page.sync="queryTeam.pageNum"
|
||||
:limit.sync="queryTeam.pageSize"
|
||||
@pagination="getListTeam"
|
||||
/>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<!-- 查看临时弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showTeamTemp" width="1000px" height="1000px" append-to-body>
|
||||
<el-form :model="queryTeamTemp" ref="queryFormTeamTemp" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryTeamTemp.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
@keyup.enter.native="handleQueryTeamTemp"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="sex">
|
||||
<el-select v-model="queryTeamTemp.sex" placeholder="性别" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.sys_user_sex"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQueryTeamTemp">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQueryTeamTemp">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loadingThree" :data="teamTempList" width="600px" height = "600px" >
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryTeamTemp.pageNum - 1) * queryTeamTemp.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="人员id" align="center" prop="id" v-if="false" />
|
||||
<el-table-column label="姓名" align="center" prop="name" sortable/>
|
||||
<el-table-column label="性别" align="center" prop="sex" sortable>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="身份证号" align="center" prop="idCard" sortable/>
|
||||
<el-table-column label="电话" align="center" prop="phone" sortable/>
|
||||
<el-table-column label="人脸信息" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="openImg(scope.row.base64Url)"
|
||||
v-hasPermi="['basic:constructionRecord:edit']"
|
||||
>查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="totalTwo>0"
|
||||
:total="totalTwo"
|
||||
:page.sync="queryTeamTemp.pageNum"
|
||||
:limit.sync="queryTeamTemp.pageSize"
|
||||
@pagination="getListTeamTemp"
|
||||
/>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<!-- 查看施工预警信息弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showWarn" width="1000px" height="1000px" append-to-body>
|
||||
<el-table v-loading="loadingTwo" :data="warnList" width="600px" height = "600px" >
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryWarn.pageNum - 1) * queryWarn.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="预警设备" align="center" prop="devTypeName" sortable/>
|
||||
<el-table-column label="设备名称" align="center" prop="devName" sortable/>
|
||||
<el-table-column label="预警时间" align="center" prop="warnTime" sortable/>
|
||||
<el-table-column label="预警内容" align="center" prop="warnContent" sortable/>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="totalTwo>0"
|
||||
:total="totalTwo"
|
||||
:page.sync="queryWarn.pageNum"
|
||||
:limit.sync="queryWarn.pageSize"
|
||||
@pagination="getListWarn"
|
||||
/>
|
||||
|
||||
</el-dialog>
|
||||
<!-- 图片查看弹窗 -->
|
||||
<el-dialog :visible.sync="dialogVisible">
|
||||
<img width="100%" height="650px" :src="dialogImageUrl" alt />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { listConstruction,listTeam,listTeamTemp,listWarn,exportConstructionRecord,exportConstructionRecordSome } from "@/api/comprehensive/constructionRecord";
|
||||
import { downloadFile } from '@/utils/download'
|
||||
export default {
|
||||
name: "Post",
|
||||
dicts: ['sys_normal_disable','sys_user_sex'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
|
||||
loadingTwo: false,
|
||||
|
||||
loadingThree: false,
|
||||
|
||||
// 是否显示项目部Id
|
||||
showName: false,
|
||||
|
||||
// 是否显示施工预警信息
|
||||
showWarn: false,
|
||||
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
|
||||
//图片查看弹窗
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showTeam: false,
|
||||
showTeamTemp: false,
|
||||
// 总条数
|
||||
total: 0,
|
||||
totalTwo : 0,
|
||||
// 施工记录表格数据
|
||||
constructionList: [],
|
||||
maxLength:100,//已选列表上限,防止数据过多请求报错
|
||||
currentSelection:[],//工程已选列表
|
||||
// 班组人员表格数据
|
||||
teamList: [],
|
||||
teamTempList: [],
|
||||
warnList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
proName: undefined,
|
||||
departName: undefined,
|
||||
teamName: undefined,
|
||||
lyTime: undefined,
|
||||
},
|
||||
// 查询参数
|
||||
queryTeam: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: undefined,
|
||||
sex: undefined,
|
||||
teamId: undefined,
|
||||
},
|
||||
queryTeamTemp: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: undefined,
|
||||
sex: undefined,
|
||||
teamId: undefined,
|
||||
},
|
||||
queryWarn: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
teamId: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
//页面单选操作-跨页
|
||||
handlerSelect(val, row) {
|
||||
this.currentSelection.indexOf(row.teamId) === -1
|
||||
? this.currentSelection.push(row.teamId)
|
||||
: this.currentSelection.splice(this.currentSelection.indexOf(row.teamId), 1)
|
||||
},
|
||||
//工程页面全选操作-跨页
|
||||
handlerSelectAll(val) {
|
||||
if (val.length) {
|
||||
// 进来此处说明:
|
||||
// 1 当前页的全选 2 其他页有数据然后当前页的取消全选
|
||||
// 比较全选或者取消全选与当前页的数据,得到差集
|
||||
// 如果constructionList中的数据在val中不存在,则说明是取消全选,需要从currentSelection中移除
|
||||
// 如果constructionList中所有的数据都在val中存在,则说明是全选,需要将差集添加到currentSelection中
|
||||
const isAllSelect = this.constructionList.every(item =>
|
||||
val.some(valItem => valItem.teamId === item.teamId)
|
||||
)
|
||||
if (isAllSelect) {
|
||||
// 全选中新增的差集
|
||||
const diff = val.filter(
|
||||
item => !this.currentSelection.some(teamId => teamId === item.teamId)
|
||||
)
|
||||
if (this.currentSelection.length + diff.length > this.maxLength) {
|
||||
this.currentSelection = this.currentSelection.concat(
|
||||
diff.splice(0, this.maxLength - this.currentSelection.length)
|
||||
.map(item => item.teamId))
|
||||
diff.forEach(item => this.$refs.multipleTable.toggleRowSelection(item, false))
|
||||
} else {
|
||||
this.currentSelection = this.currentSelection.concat(diff.map(item => item.teamId))
|
||||
}
|
||||
} else {
|
||||
this.currentSelection = this.currentSelection.filter(
|
||||
teamId => !this.constructionList.some(item => item.teamId === teamId)
|
||||
)
|
||||
}
|
||||
} else {
|
||||
// 进来此处说明:
|
||||
// 其他页并无勾选数据,且当前页取消勾选
|
||||
this.currentSelection = []
|
||||
}
|
||||
},
|
||||
//列表-图片查看
|
||||
openImg(url) {
|
||||
this.dialogImageUrl = url
|
||||
this.dialogVisible = true
|
||||
},
|
||||
|
||||
/** 查询岗位列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listConstruction(this.queryParams).then(response => {
|
||||
this.constructionList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
if (this.currentSelection.length) {
|
||||
this.$nextTick(() => {
|
||||
this.currentSelection.forEach(row => {
|
||||
this.constructionList.forEach(item => {
|
||||
if (item.teamId === row) {
|
||||
this.$refs.multipleTable?.toggleRowSelection(item, true)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$refs.multipleTable?.clearSelection()
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//打开班组施工页面
|
||||
openTeam(row){
|
||||
this.teamId = row.teamId;
|
||||
this.title = "查看人员"
|
||||
this.showTeam = true;
|
||||
this.getListTeam();
|
||||
},
|
||||
|
||||
//打开临时施工页面
|
||||
openTeamTemp(row){
|
||||
this.teamId = row.teamId;
|
||||
this.title = "查看临时人员"
|
||||
this.showTeamTemp = true;
|
||||
this.getListTeamTemp();
|
||||
},
|
||||
|
||||
handleQueryTeam() {
|
||||
this.queryTeam.pageNum = 1;
|
||||
this.queryTeam.teamId = this.teamId;
|
||||
console.log(this.queryTeam);
|
||||
this.getListTeam();
|
||||
},
|
||||
|
||||
handleQueryTeamTemp() {
|
||||
this.queryTeamTemp.pageNum = 1;
|
||||
this.queryTeamTemp.teamId = this.teamId;
|
||||
console.log(this.queryTeamTemp);
|
||||
this.getListTeamTemp();
|
||||
},
|
||||
|
||||
/** 查询班组人员列表 */
|
||||
getListTeam() {
|
||||
this.loadingTwo = true;
|
||||
this.queryTeam.teamId = this.teamId;
|
||||
listTeam(this.queryTeam).then(response => {
|
||||
this.teamList = response.rows;
|
||||
this.totalTwo = response.total;
|
||||
this.loadingTwo = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 查询临时班组人员列表 */
|
||||
getListTeamTemp() {
|
||||
this.loadingThree = true;
|
||||
this.queryTeamTemp.teamId = this.teamId;
|
||||
listTeamTemp(this.queryTeamTemp).then(response => {
|
||||
this.teamTempList = response.rows;
|
||||
this.totalTwo = response.total;
|
||||
this.loadingThree = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 查询施工预警信息列表 */
|
||||
getListWarn() {
|
||||
this.loadingTwo = true;
|
||||
this.queryWarn.teamId = this.teamId;
|
||||
listWarn(this.queryWarn).then(response => {
|
||||
this.warnList = response.rows;
|
||||
this.totalTwo = response.total;
|
||||
this.loadingTwo = false;
|
||||
});
|
||||
},
|
||||
|
||||
//打开施工预警信息页面
|
||||
openWarn(row){
|
||||
this.teamId = row.teamId;
|
||||
this.title = "查询施工预警信息"
|
||||
this.showWarn = true;
|
||||
this.getListWarn();
|
||||
},
|
||||
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.teamId)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
// 取消按钮
|
||||
// cancel() {
|
||||
// this.open = false;
|
||||
// this.reset();
|
||||
// },
|
||||
// 表单重置
|
||||
// reset() {
|
||||
// this.form = {
|
||||
// appnum: undefined,
|
||||
// projectDepartName: undefined,
|
||||
// projectHeadName: undefined,
|
||||
// contactInformation: undefined,
|
||||
// projectHeadName: undefined,
|
||||
// remarks: undefined
|
||||
// };
|
||||
// this.resetForm("form");
|
||||
// },
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.currentSelection = [];
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
/** 查看班组人员重置按钮操作 */
|
||||
resetQueryTeam() {
|
||||
this.resetForm("queryFormTeam");
|
||||
this.handleQueryTeam();
|
||||
},
|
||||
|
||||
/** 查看临时人员重置按钮操作 */
|
||||
resetQueryTeamTemp() {
|
||||
this.resetForm("queryFormTeamTemp");
|
||||
this.handleQueryTeamTemp();
|
||||
},
|
||||
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
if(this.ids.length == 0){
|
||||
exportConstructionRecord(this.queryParams).then(res => {
|
||||
downloadFile({ fileName: `施工记录_${new Date().getTime()}.xlsx`, fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
|
||||
})
|
||||
}else{
|
||||
const ids = this.ids.join(',')
|
||||
exportConstructionRecordSome({ids:ids}).then(res => {
|
||||
downloadFile({ fileName: `施工记录_${new Date().getTime()}.xlsx`, fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.uploadImg {
|
||||
padding-top: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.deviceCode {
|
||||
margin-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 60px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
//隐藏图片上传框的css
|
||||
::v-deep.disabled {
|
||||
.el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,456 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item prop="keyWord">
|
||||
<el-input
|
||||
v-model="queryParams.keyWord"
|
||||
placeholder="请输入关键词"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['machinery:type:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
<!-- <el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['bracelet:construction:export']"
|
||||
>导出数据</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row> -->
|
||||
|
||||
<el-table v-loading="loading" :data="houseList" ref="multipleTable" row-key="teamId">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="厂家名称" align="center" prop="houseName" sortable/>
|
||||
<el-table-column label="厂家地址" align="center" prop="physicalName" sortable/>
|
||||
<el-table-column label="法人代表" align="center" prop="geoLocation" sortable/>
|
||||
<el-table-column label="主要联系人" align="center" prop="houseName" sortable/>
|
||||
<el-table-column label="联系电话" align="center" prop="houseName" sortable/>
|
||||
<el-table-column label="主要经营范围" align="center" prop="houseName" sortable/>
|
||||
<el-table-column label="备注" align="center" prop="remark" sortable>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['machinery:type:del']"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 新增或修改弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showHouse" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" >
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="厂家名称" prop="leasePrice" >
|
||||
<el-input
|
||||
v-model="form.leasePrice"
|
||||
type="number"
|
||||
placeholder="请输入厂家名称"
|
||||
maxlength="10"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="厂家地址" prop="buyPrice">
|
||||
<el-input
|
||||
v-model="form.buyPrice"
|
||||
type="number"
|
||||
placeholder="请输入厂家地址"
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="法人代表" prop="leasePrice" >
|
||||
<el-input
|
||||
v-model="form.leasePrice"
|
||||
type="number"
|
||||
placeholder="请输入法人代表"
|
||||
maxlength="10"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主要联系人" prop="buyPrice">
|
||||
<el-input
|
||||
v-model="form.buyPrice"
|
||||
type="number"
|
||||
placeholder="请输入主要联系人"
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="待报废数量" prop="leasePrice" >
|
||||
<el-input
|
||||
v-model="form.leasePrice"
|
||||
type="number"
|
||||
placeholder="请输入待报废数量"
|
||||
maxlength="10"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="丢失数量" prop="buyPrice">
|
||||
<el-input
|
||||
v-model="form.buyPrice"
|
||||
type="number"
|
||||
placeholder="请输入丢失数量"
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="所属组织">
|
||||
<el-select
|
||||
v-model="form.parentId"
|
||||
filterable
|
||||
placeholder="请选择所属组织"
|
||||
style="width: 100%;"
|
||||
|
||||
>
|
||||
<el-option
|
||||
v-for="keeper in keeperDataRange"
|
||||
:key="keeper.value"
|
||||
:label="keeper.label"
|
||||
:value="keeper.value"
|
||||
></el-option>
|
||||
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
placeholder="请输入备注"
|
||||
v-model="form.remark"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getListHouse,getHouseDetail,editHouse,addHouse,delHouse } from "@/api/baseGround/manufacturer";
|
||||
import { downloadFile } from '@/utils/download'
|
||||
export default {
|
||||
name: "Post",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
|
||||
loadingTwo: false,
|
||||
|
||||
|
||||
// 是否显示项目部Id
|
||||
showName: false,
|
||||
|
||||
// 是否显示施工预警信息
|
||||
showWarn: false,
|
||||
|
||||
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
|
||||
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showHouse: false,
|
||||
|
||||
// 总条数
|
||||
total: 0,
|
||||
totalTwo : 0,
|
||||
// 施工记录表格数据
|
||||
houseList: [],
|
||||
maxLength:100,//已选列表上限,防止数据过多请求报错
|
||||
keeperDataRange:[],
|
||||
// 班组人员表格数据
|
||||
teamList: [],
|
||||
teamTempList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
keyWord:undefined
|
||||
},
|
||||
// 查询参数
|
||||
queryTeam: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: undefined,
|
||||
sex: undefined,
|
||||
teamId: undefined,
|
||||
},
|
||||
|
||||
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
houseName: [
|
||||
{
|
||||
required: true,
|
||||
message: '仓库名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
geoLocation: [
|
||||
{
|
||||
required: false,
|
||||
message: '地理位置不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
physicalName: [
|
||||
{
|
||||
required: false,
|
||||
message: '实物库不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
leasePrice: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属组织',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
remark: [
|
||||
{
|
||||
required: false,
|
||||
message: '备注不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询岗位列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getListHouse(this.queryParams).then(response => {
|
||||
this.houseList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.showHouse = true
|
||||
this.title = '新增'
|
||||
},
|
||||
|
||||
handleUpdate(row){
|
||||
this.reset()
|
||||
const houseId = row.houseId
|
||||
getHouseDetail(houseId).then((response) => {
|
||||
this.form = response.data;
|
||||
|
||||
this.showHouse = true
|
||||
this.title = '修改'
|
||||
})
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {};
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.queryParams.keyWord=null;
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
//** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.houseId != undefined) {
|
||||
editHouse(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
|
||||
addHouse(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.showHouse = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.showHouse = false;
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const houseIds = row.houseId
|
||||
this.$modal
|
||||
.confirm('是否确认删除数据项?')
|
||||
.then(function () {
|
||||
return delHouse(houseIds)
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
handleExport() {
|
||||
this.download('/material/wh_house_info/export', {
|
||||
...this.queryParams
|
||||
}, `仓库管理_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.uploadImg {
|
||||
padding-top: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.deviceCode {
|
||||
margin-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 60px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
//隐藏图片上传框的css
|
||||
::v-deep.disabled {
|
||||
.el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,891 @@
|
|||
<template>
|
||||
<!-- 类型管理 -->
|
||||
<div class="app-container" id="toolsType">
|
||||
<el-row :gutter="20">
|
||||
<!--树数据-->
|
||||
<el-col :span="5" :xs="24">
|
||||
<div class="head-container">
|
||||
<el-input
|
||||
v-model="typeName"
|
||||
placeholder="请输入类型名称"
|
||||
clearable
|
||||
maxlength="50"
|
||||
size="small"
|
||||
prefix-icon="el-icon-search"
|
||||
style="margin-bottom: 20px"
|
||||
/>
|
||||
</div>
|
||||
<div class="head-container" style>
|
||||
<el-tree
|
||||
style="height: 700px; overflow: scroll"
|
||||
:data="treeOptions"
|
||||
:props="defaultProps"
|
||||
:expand-on-click-node="false"
|
||||
:filter-node-method="filterNode"
|
||||
ref="tree"
|
||||
node-key="id"
|
||||
default-expand-all
|
||||
highlight-current
|
||||
@node-click="handleNodeClick"
|
||||
>
|
||||
</el-tree>
|
||||
</div>
|
||||
</el-col>
|
||||
<!--用户数据-->
|
||||
<el-col :span="19" :xs="24">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="关键字" prop="typeName">
|
||||
<el-input
|
||||
v-model="queryParams.typeName"
|
||||
placeholder="请输入关键字"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleBind"
|
||||
v-hasPermi="['machinery:type:add']"
|
||||
>绑定</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-minus"
|
||||
size="mini"
|
||||
@click="handleNoBind"
|
||||
v-hasPermi="['machinery:type:add']"
|
||||
>解绑</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="typeList"
|
||||
ref="multipleTable"
|
||||
row-key="typeId"
|
||||
default-expand-all
|
||||
:tree-props="{ children: 'children' }"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
@select="handleSelect"
|
||||
@select-all="handleSelectAll"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
:reserve-selection="true"
|
||||
/>
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
(queryParams.pageNum - 1) * queryParams.pageSize +
|
||||
scope.$index +
|
||||
1
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="仓库信息"
|
||||
align="center"
|
||||
prop="parentOneLevelName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="施工类型"
|
||||
align="center"
|
||||
prop="parentFourLevelName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="物资类型"
|
||||
align="center"
|
||||
prop="parentThreeLevelName"
|
||||
show-overflow-tooltip
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
label="物资名称"
|
||||
align="center"
|
||||
prop="parentTwoLevelName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="规格型号"
|
||||
align="center"
|
||||
prop="parentThreeLevelName"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="库管员"
|
||||
align="center"
|
||||
prop="keeperUserName"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.keeperUserName == null" style="color: red">
|
||||
{{ "请绑定" }}
|
||||
</div>
|
||||
<div v-else>
|
||||
{{ scope.row.keeperUserName }}
|
||||
</div>
|
||||
<!-- <div v-else style="color: red;"></div> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="维修员"
|
||||
align="center"
|
||||
prop="repairUserName"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.repairUserName == null" style="color: red">
|
||||
{{ "请绑定" }}
|
||||
</div>
|
||||
<div v-else>
|
||||
{{ scope.row.repairUserName }}
|
||||
</div>
|
||||
<!-- <div v-else style="color: red;"></div> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="warning"
|
||||
icon="el-icon-user-solid"
|
||||
@click="handleUpdateKeep(scope.row)"
|
||||
v-hasPermi="['machinery:type:config']"
|
||||
>
|
||||
库管解绑
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="warning"
|
||||
icon="el-icon-user-solid"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['machinery:type:edit']"
|
||||
>
|
||||
维修解绑
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['machinery:type:del']"
|
||||
>
|
||||
删除
|
||||
</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
// import {
|
||||
// getListByMaType,
|
||||
// getMaTypeList,
|
||||
// getMaType,
|
||||
// addMaType,
|
||||
// updateMaType,
|
||||
// delMaType,
|
||||
// } from '@/api/store/tools'
|
||||
import { getUserByRoleList, getMaUserList } from "@/api/system/user";
|
||||
import {
|
||||
getProLists,
|
||||
getMaTypeList,
|
||||
getListByMaType,
|
||||
getMaType,
|
||||
queryKeeperDataApi,
|
||||
queryKeeperProApi,
|
||||
queryKeeperMatApi,
|
||||
queryKeeperNameApi,
|
||||
delMaType,
|
||||
addMaType,
|
||||
updateMaType,
|
||||
} from "@/api/baseGround/base";
|
||||
import {
|
||||
getMatConfigList,
|
||||
getListByMatConfig,
|
||||
bindRepair,
|
||||
} from "@/api/baseGround/matConfig";
|
||||
import { getInfo } from "@/api/login";
|
||||
import { downloadFile } from "@/utils/download";
|
||||
export default {
|
||||
name: "ToolsType",
|
||||
components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
totalTemp:0,
|
||||
countTemp: 1,
|
||||
totalAll:0,
|
||||
// 库管员用户数据
|
||||
keeperList: null,
|
||||
keeperDataRange: [],
|
||||
keeperProRange: [],
|
||||
keeperMatRange: [],
|
||||
keeperNameRange: [],
|
||||
//维修员用户数据
|
||||
repairUserList: null,
|
||||
//资产类型数据
|
||||
propList: null,
|
||||
// 类型名称
|
||||
typeName: undefined,
|
||||
// 树选项
|
||||
treeOptions: undefined,
|
||||
//列表数据
|
||||
typeList: undefined,
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 岗位选项
|
||||
postOptions: [],
|
||||
// 角色选项
|
||||
roleOptions: [],
|
||||
// 表单参数
|
||||
form: {},
|
||||
chosenTypeId: "",
|
||||
leasePrice: "",
|
||||
|
||||
fileList: [],
|
||||
//上传地址
|
||||
// uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
|
||||
// uploadUrl:'http://112.29.103.165:21624/system',//线上服务器地址+system
|
||||
// uploadUrl:'http://192.168.5.12:9201',//本地测试
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + "/system", // 上传的图片服务器地址
|
||||
defaultProps: {
|
||||
children: "children",
|
||||
label: "label",
|
||||
},
|
||||
userIdTemp: -1,
|
||||
typeIdTemp: -1,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
typeName: undefined,
|
||||
level: 0,
|
||||
// phonenumber: undefined,
|
||||
// status: undefined,
|
||||
// typeId: undefined
|
||||
},
|
||||
|
||||
configOpen: false,
|
||||
cform: {
|
||||
price: "",
|
||||
afterPrice: "",
|
||||
useDate: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
// 根据名称筛选部门树
|
||||
typeName(val) {
|
||||
this.$refs.tree.filter(val);
|
||||
},
|
||||
},
|
||||
created() {
|
||||
// this.getInfo()
|
||||
this.getList();
|
||||
this.getTreeData();
|
||||
this.getKeeperDataList();
|
||||
// this.getUserList()
|
||||
// this.getPropData()
|
||||
},
|
||||
methods: {
|
||||
// getInfo() {
|
||||
// getInfo().then((res) => {
|
||||
// console.log(res, 'companyId----')
|
||||
// this.companyId = res.user.companyId
|
||||
// })
|
||||
// },
|
||||
keeperDataChange(e) {
|
||||
this.keeperDataRange.forEach((item) => {
|
||||
if (e === item.value) {
|
||||
this.form.keeperDataPro = null;
|
||||
this.form.keeperDataMat = null;
|
||||
this.form.keeperDataName = null;
|
||||
// 获取工程下拉选
|
||||
let keeper = queryKeeperProApi({
|
||||
houseId: e,
|
||||
}).then((projRes) => {
|
||||
this.keeperProRange = projRes.data.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
keeperDataProChange(e) {
|
||||
this.keeperProRange.forEach((item) => {
|
||||
if (e === item.value) {
|
||||
this.form.keeperDataMat = null;
|
||||
this.form.keeperDataName = null;
|
||||
// 获取工程下拉选
|
||||
let keeper = queryKeeperMatApi({
|
||||
typeId: e,
|
||||
}).then((projRes) => {
|
||||
this.keeperMatRange = projRes.data.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
keeperDataMatChange(e) {
|
||||
this.keeperMatRange.forEach((item) => {
|
||||
if (e === item.value) {
|
||||
this.form.keeperDataName = null;
|
||||
// 获取工程下拉选
|
||||
let keeper = queryKeeperNameApi({
|
||||
typeId: e,
|
||||
}).then((projRes) => {
|
||||
this.keeperNameRange = projRes.data.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/** 查询物资类型 */
|
||||
async getKeeperDataList(data) {
|
||||
let keepdataRes = await queryKeeperDataApi({
|
||||
// typeId:data.keeperData
|
||||
});
|
||||
this.keeperDataRange = keepdataRes.data.map((item) => {
|
||||
return {
|
||||
label: item.houseName,
|
||||
value: item.houseId,
|
||||
};
|
||||
});
|
||||
this.form.keeperData = this.keeperDataRange.value;
|
||||
},
|
||||
|
||||
async getKeeperDataListTemp(data) {
|
||||
let keepdataRes = await queryKeeperDataApi({
|
||||
// typeId:data.keeperData
|
||||
});
|
||||
this.keeperDataRange = keepdataRes.data.map((item) => {
|
||||
return {
|
||||
label: item.houseName,
|
||||
value: item.houseId,
|
||||
};
|
||||
});
|
||||
// this.form.keeperData = this.keeperDataRange.value
|
||||
|
||||
let keepproRes = await queryKeeperProApi({
|
||||
houseId: data.keeperDataPro,
|
||||
});
|
||||
this.keeperProRange = keepproRes.data.map((item) => {
|
||||
return {
|
||||
label: item.typeName,
|
||||
value: item.typeId,
|
||||
};
|
||||
});
|
||||
this.form.keeperDataPro = this.keeperProRange.value;
|
||||
},
|
||||
/** 查询新增页面-上级类型下拉树结构 */
|
||||
getTreeData() {
|
||||
getMatConfigList().then((response) => {
|
||||
this.treeOptions = response.data;
|
||||
});
|
||||
},
|
||||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getListByMatConfig(this.queryParams).then((response) => {
|
||||
this.typeList = response.data;
|
||||
response.data.forEach(item=>{
|
||||
if(item.children.length!=0){
|
||||
this.totalTemp=this.totalTemp+item.children.length
|
||||
}
|
||||
})
|
||||
this.totalTemp = this.totalTemp + response.data.length
|
||||
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 筛选节点 - 左侧树
|
||||
filterNode(value, data) {
|
||||
if (!value) return true;
|
||||
return data.label.indexOf(value) !== -1;
|
||||
},
|
||||
// 节点单击事件 - 左侧树
|
||||
handleNodeClick(data, node) {
|
||||
// this.queryParams.level = data.level
|
||||
this.handleQuery();
|
||||
(this.userIdTemp = data.id), (this.queryParams.userId = data.id);
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
photoUrl: "",
|
||||
photoName: "",
|
||||
documentUrl: "",
|
||||
documentName: "",
|
||||
parentId: "",
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
// this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.queryParams.typeId = undefined;
|
||||
this.queryParams.pageNum = 1;
|
||||
this.queryParams.pageSize = 10;
|
||||
this.queryParams.level = 0;
|
||||
this.$refs.tree.setCurrentKey(null);
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) =>item.typeId);
|
||||
console.log('ids----',this.ids)
|
||||
this.single = selection.length != 1;
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
handleSelect(selection, row) {
|
||||
this.toggleSelection(selection, row);
|
||||
},
|
||||
handleSelectAll(selection) {
|
||||
// this.countTemp++;
|
||||
console.log('selectionThree',selection)
|
||||
if (this.countTemp == 1 && selection.length == this.typeList.length) {
|
||||
this.typeList.forEach((row) => {
|
||||
this.toggleSelection([row], row);
|
||||
});
|
||||
this.countTemp=2
|
||||
} else if (
|
||||
this.countTemp == 2 &&
|
||||
selection.length == this.totalTemp - this.typeList.length
|
||||
) {
|
||||
this.typeList.forEach((row) => {
|
||||
this.toggleSelectionFalse([row], row);
|
||||
});
|
||||
this.countTemp=1
|
||||
}
|
||||
},
|
||||
// else if (
|
||||
// this.countTemp != 1 &&
|
||||
// this.countTemp != 2 &&
|
||||
// selection.length == this.totalTemp
|
||||
// ) {
|
||||
// this.typeList.forEach((row) => {
|
||||
// this.toggleSelection([row], row);
|
||||
// });
|
||||
// } else if (
|
||||
// this.countTemp != 1 &&
|
||||
// this.countTemp != 2 &&
|
||||
// selection.length == this.totalTemp - this.typeList.length
|
||||
// ) {
|
||||
// this.typeList.forEach((row) => {
|
||||
// this.toggleSelectionFalse([row], row);
|
||||
// });
|
||||
// }
|
||||
// },
|
||||
toggleSelection(selection, row) {
|
||||
if (row.children && row.children.length) {
|
||||
row.children.forEach((child) => {
|
||||
this.$refs.multipleTable.toggleRowSelection(
|
||||
child,
|
||||
selection.includes(row)
|
||||
);
|
||||
this.toggleSelection(selection, child);
|
||||
});
|
||||
}
|
||||
},
|
||||
toggleSelectionFalse(selection, row) {
|
||||
if (row.children && row.children.length) {
|
||||
row.children.forEach((child) => {
|
||||
this.$refs.multipleTable.toggleRowSelection(
|
||||
child,
|
||||
!selection.includes(row)
|
||||
);
|
||||
this.toggleSelectionFalse(selection, child);
|
||||
});
|
||||
}
|
||||
},
|
||||
/** 绑定按钮操作 */
|
||||
handleBind() {
|
||||
if (this.userIdTemp == -1) {
|
||||
this.$alert("未勾选绑定人,无法绑定", "提示", {
|
||||
type: "warning",
|
||||
confirmButtonText: "确定",
|
||||
});
|
||||
return;
|
||||
}
|
||||
// if (this.ids.length == 0) {
|
||||
// this.$alert("未进行勾选,无法绑定", "提示", {
|
||||
// type: "warning",
|
||||
// confirmButtonText: "确定",
|
||||
// });
|
||||
// return;
|
||||
// } else {
|
||||
// const ids = this.ids.join(",");
|
||||
// }
|
||||
console.log(this.typeIdTemp);
|
||||
bindRepair({
|
||||
typeId: this.typeIdTemp,
|
||||
userId: this.userIdTemp,
|
||||
bindFlag: 1,
|
||||
bindRoleType: 1,
|
||||
}).then((response) => {
|
||||
this.$modal.msgSuccess("绑定成功");
|
||||
this.getList();
|
||||
});
|
||||
},
|
||||
|
||||
/** 解绑按钮操作 */
|
||||
handleNoBind() {
|
||||
if (this.userIdTemp == -1) {
|
||||
this.$alert("未勾选绑定人,无法绑定", "提示", {
|
||||
type: "warning",
|
||||
confirmButtonText: "确定",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.ids.length == 0) {
|
||||
this.$alert("未进行勾选,无法解绑", "提示", {
|
||||
type: "warning",
|
||||
confirmButtonText: "确定",
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
const typeId = row.typeId;
|
||||
const userId = row.repairUserId;
|
||||
bindRepair({
|
||||
typeId: typeId,
|
||||
userId: userId,
|
||||
bindFlag: 2,
|
||||
bindRoleType: 2,
|
||||
}).then((response) => {
|
||||
this.$modal.msgSuccess("解绑成功");
|
||||
this.getList();
|
||||
});
|
||||
},
|
||||
|
||||
handleUpdateKeep(row) {
|
||||
const typeId = row.typeId;
|
||||
const userId = row.keeperUserId;
|
||||
console.log("typeId", typeId);
|
||||
console.log("userId", userId);
|
||||
bindRepair({
|
||||
typeId: typeId,
|
||||
userId: userId,
|
||||
bindFlag: 2,
|
||||
bindRoleType: 1,
|
||||
}).then((response) => {
|
||||
this.$modal.msgSuccess("解绑成功");
|
||||
this.getList();
|
||||
});
|
||||
},
|
||||
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
console.log(this.form, "提交参数---");
|
||||
this.$refs["form"].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.typeId != undefined) {
|
||||
updateMaType(this.form).then((response) => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
this.getTreeData();
|
||||
});
|
||||
} else {
|
||||
// this.form.companyId = this.companyId
|
||||
addMaType(this.form).then((response) => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
this.getTreeData();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const typeIds = row.typeId;
|
||||
this.$modal
|
||||
.confirm("是否确认删除数据项?")
|
||||
.then(function () {
|
||||
return delMaType(typeIds);
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
this.getList();
|
||||
this.getTreeData();
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
/** 导出按钮操作 */
|
||||
// handleExport() {
|
||||
// // this.download('system/user/export', {
|
||||
// // ...this.queryParams
|
||||
// // }, `user_${new Date().getTime()}.xlsx`)
|
||||
// exportMaterial(this.queryParams).then(res => {
|
||||
// downloadFile({ fileName: `物资类型信息_${new Date().getTime()}.xlsx`, fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
|
||||
// })
|
||||
// },
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download(
|
||||
"/material/ma_type/export",
|
||||
{
|
||||
...this.queryParams,
|
||||
},
|
||||
`物资类型信息_${new Date().getTime()}.xlsx`
|
||||
);
|
||||
},
|
||||
/* 树节点操作 */
|
||||
treeChange(val) {
|
||||
console.log(val, "树节点");
|
||||
|
||||
this.form.companyId = val.companyId;
|
||||
},
|
||||
|
||||
/* 树节点增加 */
|
||||
appendTreeNode(data) {
|
||||
if (data.level === 3) {
|
||||
this.reset();
|
||||
Object.assign(this.form, data);
|
||||
this.form.parentId = data.id;
|
||||
this.open = true;
|
||||
this.title = "新增";
|
||||
} else {
|
||||
Object.assign(this.addFormParams, data);
|
||||
this.addFormParams.typeName = "";
|
||||
this.addTitle = "新增";
|
||||
this.addTitleVisible = true;
|
||||
}
|
||||
},
|
||||
/* 树节点删除 */
|
||||
removeTreeNode(data) {
|
||||
// this.$message.success('删除--')
|
||||
console.log(data, "删除时的数据源--");
|
||||
this.$modal
|
||||
.confirm("是否确认删除数据项?")
|
||||
.then(function () {
|
||||
return delMaType(data.id);
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
this.getTreeData();
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
/* 树节点修改 */
|
||||
editTreeNode(data) {
|
||||
console.log(data, "修改");
|
||||
Object.assign(this.addFormParams, data);
|
||||
this.addTitle = "修改";
|
||||
this.addFormParams.typeName = data.label;
|
||||
this.addTitleVisible = true;
|
||||
},
|
||||
/* 确定 */
|
||||
onSubmit() {
|
||||
const { id, typeName } = this.addFormParams;
|
||||
const addParams = {
|
||||
parentId: id,
|
||||
typeName,
|
||||
};
|
||||
const editParams = {
|
||||
typeId: id,
|
||||
typeName,
|
||||
};
|
||||
|
||||
this.$refs["addFormParamsRef"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
if (this.addTitle === "新增") {
|
||||
const res = await addMaType(addParams);
|
||||
if (res.code === 200) {
|
||||
this.$message.success("新增成功!");
|
||||
this.addTitleVisible = false;
|
||||
this.getTreeData();
|
||||
}
|
||||
} else {
|
||||
const res = await updateMaType(editParams);
|
||||
if (res.code === 200) {
|
||||
this.$message.success("修改成功!");
|
||||
this.addTitleVisible = false;
|
||||
this.getTreeData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/* 取消 */
|
||||
onCancel() {
|
||||
this.addTitleVisible = false;
|
||||
},
|
||||
getParentName(list, id) {
|
||||
try {
|
||||
list.forEach((e) => {
|
||||
if (e.id == id) {
|
||||
this.form.label = e.label;
|
||||
throw new Error();
|
||||
} else {
|
||||
if (e.children && e.children.length > 0) {
|
||||
this.getParentName(e.children, id);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (error) {}
|
||||
},
|
||||
|
||||
onMousemove(data) {
|
||||
this.isMousemoveId = data.id;
|
||||
},
|
||||
onMouseleave() {
|
||||
this.isMousemoveId = null;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-table .fixed-width .el-button--mini {
|
||||
width: 60px !important;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
::v-deep .btn-items .el-button + .el-button {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.btn-items {
|
||||
margin-left: 4px;
|
||||
|
||||
.el-button--text {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-tree .el-tree-node__expand-icon.expanded {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
::v-deep .el-tree .el-icon-caret-right:before {
|
||||
content: "\e783";
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
::v-deep
|
||||
.el-tree
|
||||
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
|
||||
content: "\e781";
|
||||
font-size: 16px;
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
::v-deep .el-tree-node__content > .el-tree-node__expand-icon {
|
||||
color: #1890ff !important;
|
||||
}
|
||||
|
||||
::v-deep .el-tree-node__expand-icon.is-leaf {
|
||||
color: transparent !important;
|
||||
}
|
||||
|
||||
::v-deep
|
||||
.el-tree--highlight-current
|
||||
.el-tree-node.is-current
|
||||
> .el-tree-node__content {
|
||||
background-color: #8decf1;
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue