diff --git a/src/views/EquipmentLedger/components/equ-repair.vue b/src/views/EquipmentLedger/components/equ-repair.vue index f44d7895..1d868f70 100644 --- a/src/views/EquipmentLedger/components/equ-repair.vue +++ b/src/views/EquipmentLedger/components/equ-repair.vue @@ -220,7 +220,7 @@ export default { pageNum: 1, pageSize: 10, name: '', - status: '2', + status: '5', companyId: '', proId: '' }, diff --git a/src/views/EquipmentLedger/components/equ-store.vue b/src/views/EquipmentLedger/components/equ-store.vue index 2fde59d5..84c0ce08 100644 --- a/src/views/EquipmentLedger/components/equ-store.vue +++ b/src/views/EquipmentLedger/components/equ-store.vue @@ -16,7 +16,7 @@ filterable style="width: 240px" > - + @@ -27,26 +27,26 @@ v-model="outForm.proCode" @change="onChangeProCode" > - + - + - + - + - + - + - + @@ -56,12 +56,12 @@ 装备退库列表 添加装备 - 确定退库 + 确定退库 - - + + @@ -70,8 +70,8 @@ - - + + @@ -230,7 +229,7 @@ import { getMaxFeatureAPI, getUseProjectListAPI, getVoltageListAPI, - addProjectOutAPI, + addProjectOutAPI } from '@/api/EquipmentLedger/equ-out' import { getDeviceListAPI } from '@/api/EquipmentLedger/index.js' import { deptTreeSelect } from '@/api/system/user' @@ -257,7 +256,7 @@ export default { proCity: '', // 项目所在市 proCounty: '', // 项目所在区/县 proLocation: '', // 详细地址 - propertyUnitId: '', // 属性单位ID + propertyUnitId: '' // 属性单位ID }, // 入库表单规则 outFormRules: { @@ -269,7 +268,7 @@ export default { proProvince: [{ required: true, message: '请选择项目所在省', trigger: 'change' }], proCity: [{ required: true, message: '请选择项目所在市', trigger: 'change' }], proCounty: [{ required: true, message: '请选择项目所在区/县', trigger: 'change' }], - proLocation: [{ required: true, message: '请选择详细地址', trigger: 'change' }], + proLocation: [{ required: true, message: '请选择详细地址', trigger: 'change' }] }, equipmentList: [], propertyUnitList: [], // 产权单位 @@ -286,7 +285,7 @@ export default { devName: '', status: '2', companyId: '', - proId: '', + proId: '' }, // 可选择的变更设备列表 addEquipmentList: [], @@ -295,7 +294,7 @@ export default { useProjectList: [], // 使用项目下拉选 voltageList: [], // 电压等级下拉选 proTypeName: '', // 项目类型名称 - voltageLevel: '', + voltageLevel: '' } }, created() { @@ -394,7 +393,7 @@ export default { devName: '', status: '2', companyId: '', - proId: this.addEquipmentQueryParams.proId || '', // 保留项目ID + proId: this.addEquipmentQueryParams.proId || '' // 保留项目ID } this.getSelectEquipmentList() }, @@ -432,7 +431,7 @@ export default { return } - this.$refs.outFormRef.validate(async (valid) => { + this.$refs.outFormRef.validate(async(valid) => { if (valid) { if (this.selectedEquipment.length === 0) { this.$modal.msgError('请至少添加一个装备') @@ -445,7 +444,7 @@ export default { return { devId: item.maId, useTime: item.useTime, - changeStatus: item.changeStatus, + changeStatus: item.changeStatus } }) @@ -457,7 +456,7 @@ export default { if (res.code === 200) { this.$modal.msgSuccess('状态变更成功') this.$router.push({ - path: '/equipment/equipment-ledger', + path: '/equipment/equipment-ledger' }) } else { this.$modal.msgError(res.msg) @@ -514,7 +513,7 @@ export default { this.currentDialogSelected = selection.map((item) => ({ ...item, useTime: '', - validationError: {}, + validationError: {} })) // 更新选中ID集合 @@ -533,14 +532,14 @@ export default { // 过滤掉已添加的装备,避免重复 const newItems = this.currentDialogSelected.filter( - (newItem) => !this.selectedEquipment.some((existing) => existing.devId === newItem.devId), + (newItem) => !this.selectedEquipment.some((existing) => existing.devId === newItem.devId) ) if (newItems.length > 0) { this.selectedEquipment = [...this.selectedEquipment, ...newItems] this.$modal.msgSuccess('成功添加 ' + newItems.length + ' 个装备') this.selectedEquipment.forEach((item) => { - item.changeStatus = '1' + this.$set(item, 'changeStatus', '1'); }) } else { this.$modal.msgError('所选装备已添加') @@ -593,8 +592,8 @@ export default { // 确定变更 onHandleSubmit() { this.submitForm() - }, - }, + } + } } diff --git a/src/views/EquipmentLedger/index.vue b/src/views/EquipmentLedger/index.vue index e7da46bc..5103b7d5 100644 --- a/src/views/EquipmentLedger/index.vue +++ b/src/views/EquipmentLedger/index.vue @@ -12,7 +12,7 @@ @submit.native.prevent style="width: 100%" > - + 下架 - 在库 + 在库 自用 共享 - 退役 - 维修 + 退役 + 维修 查看 @@ -803,9 +803,9 @@ import { getDeviceDetailAPI, getManufacturerSelectApi } from '@/api/EquipmentLedger/index.js' -import {firstLevel, secondAndThirdLevel} from '@/api/EquipmentEntryApply' -import {getMaxFeatureAPI, getProvinceListAPI} from '@/api/EquipmentLedger/equ-out.js' -import {deptTreeSelect} from '@/api/system/user' +import { firstLevel, secondAndThirdLevel } from '@/api/EquipmentEntryApply' +import { getMaxFeatureAPI, getProvinceListAPI } from '@/api/EquipmentLedger/equ-out.js' +import { deptTreeSelect } from '@/api/system/user' export default { name: 'EquipmentLedger', @@ -836,14 +836,14 @@ export default { featureItem: undefined, // 特征项 featureValue: undefined, // 特征值 pageNum: 1, - pageSize: 10, + pageSize: 10 }, // 查询表单验证规则 queryRules: {}, // 树形结构配置 defaultProps: { children: 'children', - label: 'name', + label: 'name' }, treeData: [], defaultExpandedKeys: [], // 存储默认展开的节点 key @@ -854,51 +854,51 @@ export default { serviceLifeList: [], // 使用年限 manufacturerList: [], // 生产厂家 columns: [ - {key: 0, label: `所属省份`, prop: 'province', visible: true}, - {key: 1, label: `产权单位`, prop: 'propertyUnit', visible: true}, - {key: 2, label: `专业`, prop: 'major', visible: true}, - {key: 3, label: `工序`, prop: 'process', visible: true}, - {key: 4, label: `装备类目`, prop: 'devType', visible: true}, - {key: 5, label: `装备名称`, prop: 'name', visible: true}, - {key: 6, label: `规格型号`, prop: 'specificationModel', visible: true}, - {key: 7, label: `装备编码`, prop: 'code', visible: true}, - {key: 8, label: `装备状态`, prop: 'status', visible: true}, - {key: 44, label: `上下架状态`, prop: 'upDownStatus', visible: true}, - {key: 9, label: `使用年限`, prop: 'serviceLife', visible: true}, - {key: 10, label: `使用项目`, prop: 'usingProject', visible: true}, - {key: 11, label: `使用到期时间`, prop: 'expirationTime', visible: true}, - {key: 12, label: `使用次数`, prop: 'usageCount', visible: true}, - {key: 13, label: `维修次数`, prop: 'repairCount', visible: true}, - {key: 14, label: `装备原始编码`, prop: 'originalCode', visible: true}, - {key: 15, label: `计量单位`, prop: 'unit', visible: true}, - {key: 16, label: `生产厂家`, prop: 'manufacturer', visible: true}, - {key: 17, label: `出厂日期`, prop: 'productionDate', visible: true}, - {key: 18, label: `采购日期`, prop: 'purchaseDate', visible: true}, - {key: 19, label: `资产原值(元)`, prop: 'originalValue', visible: true}, - {key: 20, label: `最大使用年限(年)`, prop: 'maxServiceLifeYears', visible: true}, - {key: 21, label: `下次维保日期`, prop: 'nextMaintenanceDate', visible: true}, - {key: 22, label: `装备外观`, prop: 'appearanceImages', visible: true}, - {key: 23, label: `合格证`, prop: 'certificates', visible: true}, - {key: 24, label: `定期检验报告`, prop: 'inspectionReports', visible: true}, - {key: 25, label: `采购发票`, prop: 'purchaseInvoices', visible: true}, - {key: 26, label: `特征项1`, prop: 'featureItem1', visible: true}, - {key: 27, label: `特征值1`, prop: 'featureValue1', visible: true}, - {key: 28, label: `特征项2`, prop: 'featureItem2', visible: true}, - {key: 29, label: `特征值2`, prop: 'featureValue2', visible: true}, - {key: 30, label: `特征项3`, prop: 'featureItem3', visible: true}, - {key: 31, label: `特征值3`, prop: 'featureValue3', visible: true}, - {key: 32, label: `特征项4`, prop: 'featureItem4', visible: true}, - {key: 33, label: `特征值4`, prop: 'featureValue4', visible: true}, - {key: 34, label: `特征项5`, prop: 'featureItem5', visible: true}, - {key: 35, label: `特征值5`, prop: 'featureValue5', visible: true}, - {key: 36, label: `特征项6`, prop: 'featureItem6', visible: true}, - {key: 37, label: `特征值6`, prop: 'featureValue6', visible: true}, - {key: 38, label: `特征项7`, prop: 'featureItem7', visible: true}, - {key: 39, label: `特征值7`, prop: 'featureValue7', visible: true}, - {key: 40, label: `特征项8`, prop: 'featureItem8', visible: true}, - {key: 41, label: `特征值8`, prop: 'featureValue8', visible: true}, - {key: 42, label: `特征项9`, prop: 'featureItem9', visible: true}, - {key: 43, label: `特征值9`, prop: 'featureValue9', visible: true}, + { key: 0, label: `所属省份`, prop: 'province', visible: true }, + { key: 1, label: `产权单位`, prop: 'propertyUnit', visible: true }, + { key: 2, label: `专业`, prop: 'major', visible: true }, + { key: 3, label: `工序`, prop: 'process', visible: true }, + { key: 4, label: `装备类目`, prop: 'devType', visible: true }, + { key: 5, label: `装备名称`, prop: 'name', visible: true }, + { key: 6, label: `规格型号`, prop: 'specificationModel', visible: true }, + { key: 7, label: `装备编码`, prop: 'code', visible: true }, + { key: 8, label: `装备状态`, prop: 'status', visible: true }, + { key: 44, label: `上下架状态`, prop: 'upDownStatus', visible: true }, + { key: 9, label: `使用年限`, prop: 'serviceLife', visible: true }, + { key: 10, label: `使用项目`, prop: 'usingProject', visible: true }, + { key: 11, label: `使用到期时间`, prop: 'expirationTime', visible: true }, + { key: 12, label: `使用次数`, prop: 'usageCount', visible: true }, + { key: 13, label: `维修次数`, prop: 'repairCount', visible: true }, + { key: 14, label: `装备原始编码`, prop: 'originalCode', visible: true }, + { key: 15, label: `计量单位`, prop: 'unit', visible: true }, + { key: 16, label: `生产厂家`, prop: 'manufacturer', visible: true }, + { key: 17, label: `出厂日期`, prop: 'productionDate', visible: true }, + { key: 18, label: `采购日期`, prop: 'purchaseDate', visible: true }, + { key: 19, label: `资产原值(元)`, prop: 'originalValue', visible: true }, + { key: 20, label: `最大使用年限(年)`, prop: 'maxServiceLifeYears', visible: true }, + { key: 21, label: `下次维保日期`, prop: 'nextMaintenanceDate', visible: true }, + { key: 22, label: `装备外观`, prop: 'appearanceImages', visible: true }, + { key: 23, label: `合格证`, prop: 'certificates', visible: true }, + { key: 24, label: `定期检验报告`, prop: 'inspectionReports', visible: true }, + { key: 25, label: `采购发票`, prop: 'purchaseInvoices', visible: true }, + { key: 26, label: `特征项1`, prop: 'featureItem1', visible: true }, + { key: 27, label: `特征值1`, prop: 'featureValue1', visible: true }, + { key: 28, label: `特征项2`, prop: 'featureItem2', visible: true }, + { key: 29, label: `特征值2`, prop: 'featureValue2', visible: true }, + { key: 30, label: `特征项3`, prop: 'featureItem3', visible: true }, + { key: 31, label: `特征值3`, prop: 'featureValue3', visible: true }, + { key: 32, label: `特征项4`, prop: 'featureItem4', visible: true }, + { key: 33, label: `特征值4`, prop: 'featureValue4', visible: true }, + { key: 34, label: `特征项5`, prop: 'featureItem5', visible: true }, + { key: 35, label: `特征值5`, prop: 'featureValue5', visible: true }, + { key: 36, label: `特征项6`, prop: 'featureItem6', visible: true }, + { key: 37, label: `特征值6`, prop: 'featureValue6', visible: true }, + { key: 38, label: `特征项7`, prop: 'featureItem7', visible: true }, + { key: 39, label: `特征值7`, prop: 'featureValue7', visible: true }, + { key: 40, label: `特征项8`, prop: 'featureItem8', visible: true }, + { key: 41, label: `特征值8`, prop: 'featureValue8', visible: true }, + { key: 42, label: `特征项9`, prop: 'featureItem9', visible: true }, + { key: 43, label: `特征值9`, prop: 'featureValue9', visible: true } ], tableData: [], tableColumns: 0, @@ -942,18 +942,18 @@ export default { personPhone: '', nextCheckTime: '', brand: '', - propertyVoList: [], + propertyVoList: [] }, // 表单验证规则 formRules: { - name: [{required: true, message: '请输入装备名称', trigger: 'blur'}], - code: [{required: true, message: '请输入装备编号', trigger: 'blur'}], - changeStatus: [{required: true, message: '请选择装备状态', trigger: 'change'}], + name: [{ required: true, message: '请输入装备名称', trigger: 'blur' }], + code: [{ required: true, message: '请输入装备编号', trigger: 'blur' }], + changeStatus: [{ required: true, message: '请选择装备状态', trigger: 'change' }] }, maxFeatureCount: 5, // 最大特征项数量限制 dialogVisible: false, dialogTitle: '', - dialogList: [], + dialogList: [] } }, methods: { @@ -1017,7 +1017,7 @@ export default { this.processList = [] this.queryParams.process = '' } else { - secondAndThirdLevel({firstLevelId: item}).then((res) => { + secondAndThirdLevel({ firstLevelId: item }).then((res) => { if (res.code === 200) { this.processList = this.convertToSubTree(res.data) } @@ -1032,7 +1032,7 @@ export default { list.forEach((item) => { map[item.value] = { value: item.value.toString(), - label: item.label, + label: item.label } }) @@ -1132,7 +1132,7 @@ export default { try { let fileName = `装备台账_${new Date().getTime()}.xLsx` let url = '/material-mall/device/export' - const params = {...this.queryParams} + const params = { ...this.queryParams } console.log('🚀 ~ 导出 ~ params:', params) this.download(url, params, fileName) } catch (error) { @@ -1140,20 +1140,19 @@ export default { } }, - /** * 获取左侧树形结构数据 */ async getDeviceTree() { try { - this.treeLoading = true; - const res = await getDeviceTreeAPI(); - this.treeData = res.data ? [res.data] : []; + this.treeLoading = true + const res = await getDeviceTreeAPI() + this.treeData = res.data ? [res.data] : [] } catch (error) { - this.$message.error('获取树形结构失败:' + (error.message || '未知错误')); - console.error(error); + this.$message.error('获取树形结构失败:' + (error.message || '未知错误')) + console.error(error) } finally { - this.treeLoading = false; + this.treeLoading = false } }, @@ -1161,13 +1160,13 @@ export default { * 收集第一级和第二级节点的ID,第三级默认不展开 */ collectFirstAndSecondLevelKeys(nodes) { - if (!nodes || !nodes.length) return; + if (!nodes || !nodes.length) return nodes.forEach(firstLevelNode => { // 展开第一级节点 if (firstLevelNode.id) { - this.defaultExpandedKeys.push(firstLevelNode.id); - console.log(`展开第一级节点: ${firstLevelNode.name}, ID: ${firstLevelNode.id}`); + this.defaultExpandedKeys.push(firstLevelNode.id) + console.log(`展开第一级节点: ${firstLevelNode.name}, ID: ${firstLevelNode.id}`) } // 检查是否有子节点(第二级节点) @@ -1175,16 +1174,15 @@ export default { // 遍历所有第二级节点 firstLevelNode.children.forEach(secondLevelNode => { if (secondLevelNode.id) { - this.defaultExpandedKeys.push(secondLevelNode.id); - console.log(`展开第二级节点: ${secondLevelNode.name}, ID: ${secondLevelNode.id}`); + this.defaultExpandedKeys.push(secondLevelNode.id) + console.log(`展开第二级节点: ${secondLevelNode.name}, ID: ${secondLevelNode.id}`) // 第三级及更深层级默认不展开(保持折叠状态) } - }); + }) } - }); + }) }, - /** * 左侧树查询:匹配节点显示自身及下一级,但默认只显示到第二级 */ @@ -1192,41 +1190,41 @@ export default { if (!this.treeSearchKey.trim) return try { // 1. 获取输入的查询关键词(去空格) - const searchKey = this.treeSearchKey ? this.treeSearchKey.trim() : ''; + const searchKey = this.treeSearchKey ? this.treeSearchKey.trim() : '' // 如果没有搜索关键词,则重置为原始树(显示到第二级) if (!searchKey) { - await this.resetTreeSearch(); - return; + await this.resetTreeSearch() + return } // 2. 重新获取原始树形数据 - this.treeLoading = true; - const res = await getDeviceTreeAPI(); - const originalTreeData = res.data ? [res.data] : []; + this.treeLoading = true + const res = await getDeviceTreeAPI() + const originalTreeData = res.data ? [res.data] : [] // 3. 筛选逻辑:匹配节点显示自身及下一级 - const filteredTreeData = this.filterTreeWithNextLevel(originalTreeData, searchKey); + const filteredTreeData = this.filterTreeWithNextLevel(originalTreeData, searchKey) // 4. 收集所有匹配节点的ID,用于默认展开 - const expandedIds = []; - this.collectMatchedNodeIds(filteredTreeData, searchKey, expandedIds); + const expandedIds = [] + this.collectMatchedNodeIds(filteredTreeData, searchKey, expandedIds) // 5. 更新树形数据和默认展开节点 - this.treeData = filteredTreeData; - this.defaultExpandedKeys = expandedIds; + this.treeData = filteredTreeData + this.defaultExpandedKeys = expandedIds // 6. 无匹配结果时提示 if (filteredTreeData.length === 0 || this.isTreeEmpty(filteredTreeData)) { - /* this.$message.info('未找到匹配的类型分支'); */ + /* this.$message.info('未找到匹配的类型分支'); */ } else { // this.$message.success(`找到 ${expandedIds.length} 个匹配项`); } } catch (error) { // this.$message.error('树形查询失败:' + (error.message || '未知错误')); - console.error(error); + console.error(error) } finally { - this.treeLoading = false; + this.treeLoading = false } }, @@ -1234,36 +1232,36 @@ export default { * 辅助方法:筛选节点并包含下一级 */ filterTreeWithNextLevel(treeData, key) { - if (!treeData || !treeData.length) return []; + if (!treeData || !treeData.length) return [] return treeData .map(node => { // 深拷贝节点 - const newNode = {...node}; + const newNode = { ...node } - const isNodeMatch = key ? node.name.includes(key) : true; + const isNodeMatch = key ? node.name.includes(key) : true if (isNodeMatch) { // 匹配节点:保留所有直接子节点 if (newNode.children && newNode.children.length) { // 保留第二级,但第三级及更深层级保持原样(默认不展开) - newNode.children = [...newNode.children]; + newNode.children = [...newNode.children] } - return newNode; + return newNode } else { // 不匹配节点:检查子节点是否有匹配的 if (newNode.children && newNode.children.length) { - const filteredChildren = this.filterTreeWithNextLevel(newNode.children, key); + const filteredChildren = this.filterTreeWithNextLevel(newNode.children, key) if (filteredChildren.length > 0) { - newNode.children = filteredChildren; - return newNode; + newNode.children = filteredChildren + return newNode } } - return null; + return null } }) - .filter(node => node !== null); + .filter(node => node !== null) }, /** @@ -1273,42 +1271,41 @@ export default { * @param {Array} expandedIds - 存储展开节点ID的数组 */ collectMatchedNodeIds(treeData, key, expandedIds) { - if (!treeData || !treeData.length) return; + if (!treeData || !treeData.length) return treeData.forEach(node => { // 若当前节点匹配关键词,记录其ID(用于展开) if (key ? node.name.includes(key) : true) { - if (node.id) expandedIds.push(node.id); + if (node.id) expandedIds.push(node.id) } // 递归处理子级,确保深层子级的匹配节点也被收集 if (node.children && node.children.length) { - this.collectMatchedNodeIds(node.children, key, expandedIds); + this.collectMatchedNodeIds(node.children, key, expandedIds) } - }); + }) }, /** * 辅助方法:检查树是否为空(没有任何有效节点) */ isTreeEmpty(treeData) { - if (!treeData || !treeData.length) return true; + if (!treeData || !treeData.length) return true // 递归检查所有节点 for (const node of treeData) { if (node && node.id) { - return false; // 发现有效节点 + return false // 发现有效节点 } if (node.children && node.children.length) { if (!this.isTreeEmpty(node.children)) { - return false; // 子节点中有有效节点 + return false // 子节点中有有效节点 } } } - return true; + return true }, - /** * 左侧树重置:仅恢复树形原始状态(不联动右侧列表) */ @@ -1319,18 +1316,18 @@ export default { try { // 1. 清空左侧表单输入和查询参数 if (this.$refs.queryFormLeft) { - this.$refs.queryFormLeft.resetFields(); + this.$refs.queryFormLeft.resetFields() } - this.treeSearchKey = ''; // 手动清空装备名称查询值 - this.queryParams.typeId = undefined; // 清空可能存在的节点ID缓存 + this.treeSearchKey = '' // 手动清空装备名称查询值 + this.queryParams.typeId = undefined // 清空可能存在的节点ID缓存 // 2. 恢复原始树形数据,默认显示到第二级 - this.treeLoading = true; - const res = await getDeviceTreeAPI(); - this.treeData = res.data ? [res.data] : []; + this.treeLoading = true + const res = await getDeviceTreeAPI() + this.treeData = res.data ? [res.data] : [] // 重置默认展开的节点ID数组 - this.defaultExpandedKeys = []; + this.defaultExpandedKeys = [] // 只展开第一级和第二级节点 // this.collectFirstAndSecondLevelKeys(this.treeData); @@ -1339,13 +1336,12 @@ export default { // this.$message.success('树形查询已重置'); } catch (error) { // this.$message.error('树形重置失败:' + (error.message || '未知错误')); - console.error(error); + console.error(error) } finally { - this.treeLoading = false; + this.treeLoading = false } }, - /** * 获取右侧列表数据 */ @@ -1382,7 +1378,7 @@ export default { async onHandlePreview(row) { // this.formData = row // this.previewDialogVisible = true - this.$router.push({path: '/equipment/details', query: {id: row.maId}}) + this.$router.push({ path: '/equipment/details', query: { id: row.maId } }) }, /** @@ -1435,7 +1431,7 @@ export default { personPhone: '', nextCheckTime: '', brand: '', - propertyVoList: [], + propertyVoList: [] } }, @@ -1455,7 +1451,7 @@ export default { this.formData.propertyVoList.push({ propertyName: '', - propertyValue: '', + propertyValue: '' }) }, @@ -1468,7 +1464,7 @@ export default { cancelButtonText: '取消', type: 'warning', center: true, - showCancelButton: this.formData.propertyVoList.length > 1, // 至少保留一个特征项 + showCancelButton: this.formData.propertyVoList.length > 1 // 至少保留一个特征项 }) .then(() => { this.formData.propertyVoList.splice(index, 1) @@ -1482,7 +1478,7 @@ export default { * 提交编辑表单 */ async submitEditForm() { - this.$refs.editForm.validate(async (valid) => { + this.$refs.editForm.validate(async(valid) => { if (valid) { try { const res = await updateDeviceAPI(this.formData) @@ -1508,8 +1504,8 @@ export default { this.$confirm('确定要删除该装备吗?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', - type: 'warning', - }).then(async () => { + type: 'warning' + }).then(async() => { try { const res = await delDevice(row.maId) if (res.code === 200) { @@ -1536,7 +1532,7 @@ export default { try { const res = await updateDeviceUpDownAPI({ devIds: this.selectedRows.map((item) => item.maId).join(','), - status: 1, + status: 1 }) this.selectedRows = [] @@ -1564,7 +1560,7 @@ export default { try { const res = await updateDeviceUpDownAPI({ devIds: this.selectedRows.map((item) => item.maId).join(','), - status: 0, + status: 0 }) this.selectedRows = [] @@ -1593,7 +1589,7 @@ export default { async getDeviceStatusCount() { try { const res = await getDeviceStatusCountAPI() - const {inStock, ownUse, share, underRepair} = res.data || {} + const { inStock, ownUse, share, underRepair } = res.data || {} this.inStock = inStock || 0 this.ownUse = ownUse || 0 this.share = share || 0 @@ -1635,7 +1631,7 @@ export default { handleFile(row) { // 打开文件预览 window.open(row.fileUrl, '_blank') - }, + } }, async created() { @@ -1648,14 +1644,12 @@ export default { // 最后加载列表数据 await this.getDeviceList() this.initDefaultExpandedKeys() - }, - + } } - diff --git a/src/views/EquipmentRoamRecord/index.vue b/src/views/EquipmentRoamRecord/index.vue index 74f1da35..30a0af06 100644 --- a/src/views/EquipmentRoamRecord/index.vue +++ b/src/views/EquipmentRoamRecord/index.vue @@ -70,7 +70,7 @@ 维修 - + diff --git a/src/views/EquipmentRoamRecord/outboundRecord/index.vue b/src/views/EquipmentRoamRecord/outboundRecord/index.vue index 1cd9e6a5..7d287817 100644 --- a/src/views/EquipmentRoamRecord/outboundRecord/index.vue +++ b/src/views/EquipmentRoamRecord/outboundRecord/index.vue @@ -1,7 +1,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -63,11 +63,10 @@ --> - 在库 - - 在用 + 自用 + + 共享 - 维修 @@ -100,7 +99,7 @@ 打印 关闭 - + 出库记录单 @@ -369,11 +368,11 @@ export default { border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - + ::v-deep .el-table { border-radius: 6px; overflow: hidden; - + // 启用斑马纹 &.el-table--striped .el-table__body { tr.el-table__row--striped td { @@ -397,11 +396,11 @@ export default { .el-table__body { tr { transition: all 0.2s ease; - + &:hover { background-color: #f8f9fa; } - + td { padding: 12px 8px; font-size: 13px; @@ -413,12 +412,12 @@ export default { &.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell { background-color: #CCF1E9 !important; } - + // 表格边框优化 &::before { display: none; } - + &::after { display: none; } diff --git a/src/views/EquipmentServicing/index.vue b/src/views/EquipmentServicing/index.vue index 7d5167c2..693473c2 100644 --- a/src/views/EquipmentServicing/index.vue +++ b/src/views/EquipmentServicing/index.vue @@ -10,119 +10,114 @@ label-width="auto" size="small" > - - - - - - - - - - - - - - - - - - - - - - - - - - - 查询 - 重置 - - - + + + + + + + + + + + + + + + + + + + + 查询 + + 重置 + + + - - - - - - - - - - - - - 新建 - - - 装备质检记录 - - - - - - - - - - - + + + + + + + + + + + + + 正常 + + 已超期 + + + 一月内维保到期 + + + + + + + 新建 + + + 装备质检记录 + + + + + + + + + + + - - - 支持格式:.jpg、.png、.pdf、.doc、.docx 单个文件大小不能超过10M - + + + 支持格式:.jpg、.png、.pdf、.doc、.docx 单个文件大小不能超过10M + @@ -272,7 +267,9 @@ - 查询 + + 查询 + 重置 @@ -425,7 +422,7 @@ export default { qcUser: '', qcTime: '', nextCheckTime: '', - fileInfoList: [], // 存储上传成功的文件信息 + fileInfoList: [] // 存储上传成功的文件信息 }, // 文件上传相关 @@ -562,7 +559,7 @@ export default { qcUser: '', qcTime: '', nextCheckTime: '', - fileInfoList: [], + fileInfoList: [] } this.fileList = [] this.warningDays = row.maintenanceAlarmDay @@ -921,7 +918,7 @@ export default { padding-top: 6px; margin-top: auto; - ::v-deep .pagination-container { + ::v-deep .pagination-container { padding: 0px 20px !important; margin-bottom: 30px; } @@ -946,20 +943,21 @@ export default { } } - &.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell { + &.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell { background-color: #CCF1E9 !important; } } } + .dialog-table { border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - + ::v-deep .el-table { border-radius: 6px; overflow: hidden; - + // 启用斑马纹 &.el-table--striped .el-table__body { tr.el-table__row--striped td { @@ -983,11 +981,11 @@ export default { .el-table__body { tr { transition: all 0.2s ease; - + &:hover { background-color: #f8f9fa; } - + td { padding: 12px 8px; font-size: 13px; @@ -996,15 +994,15 @@ export default { } } - &.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell { + &.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell { background-color: #CCF1E9 !important; } - + // 表格边框优化 &::before { display: none; } - + &::after { display: none; } @@ -1012,27 +1010,27 @@ export default { } ::v-deep .el-table { - // 启用斑马纹 - &.el-table--striped .el-table__body { - tr.el-table__row--striped td { - background-color: #F6FBFA !important; // 浅紫色 - } - } - - .el-table__header { - background: #E9F0EE; - - th { - background: #E9F0EE !important; - color: #606266; - font-weight: 600; - height: 50px; - } - } - - &.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell { - background-color: #CCF1E9 !important; + // 启用斑马纹 + &.el-table--striped .el-table__body { + tr.el-table__row--striped td { + background-color: #F6FBFA !important; // 浅紫色 } } + + .el-table__header { + background: #E9F0EE; + + th { + background: #E9F0EE !important; + color: #606266; + font-weight: 600; + height: 50px; + } + } + + &.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell { + background-color: #CCF1E9 !important; + } +} diff --git a/src/views/EquipmentTypeConfig/index.vue b/src/views/EquipmentTypeConfig/index.vue index 085faab6..1936be40 100644 --- a/src/views/EquipmentTypeConfig/index.vue +++ b/src/views/EquipmentTypeConfig/index.vue @@ -1,2348 +1,2412 @@ - - - - - - - 装备分类--- - - - + + + + + + + 装备分类--- + + + - - - - + + + + + + + + + + + + + 新增 + + + + - - - - - - - 新增 - - - - - + + + + + + + + + + - - - - - - - - - - + + + + 查看 + + + 编辑 + + + 删除 + + + 配置特征项 + + + + + + + + + + + - - - - 查看 - - - 编辑 - - - 删除 - - - 配置特征项 - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + 点击修改 + + + + + + + + + + + + + + - - - - - - - - - - - 点击修改 - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + 特征项列表 + + 新建 + + + 刷新 + + - - - - - - - - - 特征项列表 - - 新建 - - - 刷新 - - - - - + - - {{ feature.propertyName }} - {{ getInputTypeText(feature.inputType) }} - - - 必填 - 选填 - - - - - - 暂无特征项 - - - - - - - - 当前特征项为:{{ currentFeature.propertyName }} - - 输入类型:{{ getInputTypeText(currentFeature.inputType) }} - 是否必填:{{ currentFeature.mustHave === '1' ? '是' : '否' }} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 预定义选项 - - - {{ isEditingPredefined ? '保存' : '编辑' }} - - - - - - - 添加 - - - - {{ value }} - - - - - - - - {{ value }} - - - - 暂无预定义选项 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 选填 - 必填 - - - - - - 多个选项用逗号分隔,例如:选项1,选项2,选项3 - - - - - - + + + 暂无特征项 + + + + + + + + 当前特征项为:{{ currentFeature.propertyName }} + + 输入类型:{{ getInputTypeText(currentFeature.inputType) }} + 是否必填:{{ currentFeature.mustHave === '1' ? '是' : '否' }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 预定义选项 + + + {{ isEditingPredefined ? '保存' : '编辑' }} + + + + + + + 添加 + + + + {{ value }} + + + + + + + + {{ value }} + + + + 暂无预定义选项 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 选填 + 必填 + + + + + + 多个选项用逗号分隔,例如:选项1,选项2,选项3 + + + + + + diff --git a/src/views/iframe/MallIframe.vue b/src/views/iframe/MallIframe.vue index a1509fbc..9a074163 100644 --- a/src/views/iframe/MallIframe.vue +++ b/src/views/iframe/MallIframe.vue @@ -14,8 +14,8 @@ export default { console.log('🚀 ~ mounted:', window.location) this.iframeSrc = process.env.NODE_ENV === 'production' - ? 'http://192.168.0.14:19190/iws/mall-view/equipList' - : 'http://localhost:8102/iws/mall-view/equipList' + ? ' http://127.0.0.1:8108/iws/mall-view/equipList' + : 'http://127.0.0.1:8108/iws/mall-view/equipList' console.log('🚀 ~ this.iframeSrc:', this.iframeSrc) }, }