From a6fe9e654e4926105025d4cdf70d66413005482e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98937886381=E2=80=99?= <‘937886381@qq.com’> Date: Mon, 22 Jul 2024 09:11:01 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BF=9D=E5=85=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.dev | 8 +- src/api/equipment/base/maintain/items.js | 47 ++++ src/components/DialogForm/index.vue | 167 ++++-------- .../base/maintain/PlanConfig/index.vue | 155 ++++++----- .../maintain/items/components/InputArea.vue | 46 ++++ .../items/components/add-or-updata.vue | 141 ++++++++++ .../maintain/items/components/basic-add.js | 112 ++++++++ .../maintain/items/components/basic-page.js | 172 ++++++++++++ .../equipment/base/maintain/items/index.vue | 257 ++++++++++++++++++ .../base/maintain/items/showDetail.vue | 134 +++++++++ 10 files changed, 1057 insertions(+), 182 deletions(-) create mode 100644 src/api/equipment/base/maintain/items.js create mode 100644 src/views/equipment/base/maintain/items/components/InputArea.vue create mode 100644 src/views/equipment/base/maintain/items/components/add-or-updata.vue create mode 100644 src/views/equipment/base/maintain/items/components/basic-add.js create mode 100644 src/views/equipment/base/maintain/items/components/basic-page.js create mode 100644 src/views/equipment/base/maintain/items/index.vue create mode 100644 src/views/equipment/base/maintain/items/showDetail.vue diff --git a/.env.dev b/.env.dev index 1da25e71..92524b2e 100644 --- a/.env.dev +++ b/.env.dev @@ -1,8 +1,8 @@ ### # @Author: Do not edit # @Date: 2023-08-29 09:40:39 - # @LastEditTime: 2023-11-21 10:36:47 - # @LastEditors: DY + # @LastEditTime: 2024-07-22 08:48:47 + # @LastEditors: zhp # @Description: ### # 开发环境配置 @@ -13,7 +13,7 @@ VUE_APP_TITLE = MES系统 # 芋道管理系统/开发环境 # VUE_APP_BASE_API = 'http://100.64.0.26:48082' -VUE_APP_BASE_API = 'http://192.168.0.33:48082' +# VUE_APP_BASE_API = 'http://192.168.0.33:48082' # VUE_APP_BASE_API = 'http://192.168.4.173:48080' # VUE_APP_BASE_API = 'http://192.168.2.173:48080' # VUE_APP_BASE_API = 'http://192.168.1.49:48082' @@ -21,6 +21,8 @@ VUE_APP_BASE_API = 'http://192.168.0.33:48082' # VUE_APP_BASE_API = 'http://192.168.4.159:48080' # VUE_APP_BASE_API = 'http://192.168.1.56:48082' # VUE_APP_BASE_API = 'http://192.168.4.159:48080' +VUE_APP_BASE_API = 'http://192.168.1.64:48082' + # 积木报表指向地址 VUE_APP_JIMU_API = 'http://192.168.0.33:48082' diff --git a/src/api/equipment/base/maintain/items.js b/src/api/equipment/base/maintain/items.js new file mode 100644 index 00000000..0abc9324 --- /dev/null +++ b/src/api/equipment/base/maintain/items.js @@ -0,0 +1,47 @@ +/* + * @Author: zhp + * @Date: 2024-07-12 15:31:41 + * @LastEditTime: 2024-07-19 14:18:59 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 删除设备保养记录 +export function deleteData(id) { + return request({ + url: '/base/equipment-maintain-program/delete?id=' + id, + method: 'delete' + }) +} + +export function getItemPageData(data) { + return request({ + url: '/base/equipment-maintain-program/page', + method: 'get', + data + }) +} + +export function getItemData(id) { + return request({ + url: 'base/equipment-maintain-program/get?id=' + id, + method: 'get' + }) +} + +export function updateItemData(data) { + return request({ + url: 'base/equipment-maintain-program/update', + method: 'put', + data + }) +} + +export function createItemData(data) { + return request({ + url: 'base/equipment-maintain-program/create', + method: 'post', + data + }) +} diff --git a/src/components/DialogForm/index.vue b/src/components/DialogForm/index.vue index 0c4fcff1..8af942b7 100644 --- a/src/components/DialogForm/index.vue +++ b/src/components/DialogForm/index.vue @@ -1,4 +1,4 @@ - + diff --git a/src/views/equipment/base/maintain/items/components/add-or-updata.vue b/src/views/equipment/base/maintain/items/components/add-or-updata.vue new file mode 100644 index 00000000..90fda1c9 --- /dev/null +++ b/src/views/equipment/base/maintain/items/components/add-or-updata.vue @@ -0,0 +1,141 @@ + + + + diff --git a/src/views/equipment/base/maintain/items/components/basic-add.js b/src/views/equipment/base/maintain/items/components/basic-add.js new file mode 100644 index 00000000..c8f7e43e --- /dev/null +++ b/src/views/equipment/base/maintain/items/components/basic-add.js @@ -0,0 +1,112 @@ +/* + * @Author: zwq + * @Date: 2022-08-24 11:19:43 + * @LastEditors: zhp + * @LastEditTime: 2024-07-19 14:47:02 + * @Description: + */ +export default { + data() { + /* eslint-disable */ + return { + urlOptions: { + createURL: '', + updateURL: '', + infoURL: '', + codeURL: '', + getOption: false, + isGetCode: false, + optionArrUrl: [], + optionArr: {} + }, + visible: false, + setData: false + } + }, + created() { + }, + activated() { + }, + methods: { + init(obj) { + console.log(obj); + this.dataForm.id = obj.id || ""; + this.dataForm.equipmentTypeId = obj.equipmentTypeId || ""; + this.visible = true; + if (this.urlOptions.getOption) { + this.getArr() + } + this.$nextTick(() => { + this.$refs["dataForm"].resetFields(); + if (this.dataForm.id) { + this.urlOptions.infoURL(this.dataForm.id).then(res => { + this.dataForm.id = res.data.id + this.dataForm.program = res.data.program + this.dataForm.resultType = res.data.resultType + // console.log(this.dataForm.maintainResult.search('~')) + if (res.data.resultType === 2 || res.data.maintainResult.search('~') != -1) { + this.dataForm.minValue = res.data.maintainResult.substring(0, res.data.maintainResult.search('~')) + this.dataForm.maxValue = res.data.maintainResult.substring(res.data.maintainResult.search('~') + 1, res.data.maintainResult.length) + this.dataForm.maintainResult = undefined + // = this.dataForm.minValue + '-' + this.dataForm.maxValue + } else { + this.dataForm.minValue = undefined + this.dataForm.maxValue = undefined + this.dataForm.maintainResult = res.data.maintainResult + } + console.log(this.dataForm); + }); + } + }); + }, + getCode() { + this.urlOptions.codeURL() + .then(({ data: res }) => { + this.dataForm.code = res; + }) + .catch(() => {}); + }, + getArr() { + const params = { + pageSize: 100, + pageNo: 1, + } + this.urlOptions.optionArrUrl.forEach((item, index) => { + item(params).then(({ data: res }) => { + this.$set(this.urlOptions.optionArr, `arr${index}`, res.list) + }) + .catch(() => { + }); + }); + }, + // 表单提交 + dataFormSubmit() { + this.$refs["dataForm"].validate((valid) => { + if (this.dataForm.resultType === 2) { + this.dataForm.maintainResult = this.dataForm.minValue + '~' + this.dataForm.maxValue + } + if (!valid) { + return false; + } + // 修改的提交 + if (this.dataForm.id) { + this.urlOptions.updateURL(this.dataForm).then(response => { + this.$modal.msgSuccess("修改成功"); + this.visible = false; + this.$emit("refreshDataList"); + }); + return; + } + // 添加的提交 + this.urlOptions.createURL(this.dataForm).then(response => { + this.$modal.msgSuccess("新增成功"); + this.visible = false; + this.$emit("refreshDataList"); + }); + }); + }, + formClear() { + this.$refs.dataForm.resetFields() + } + } +} diff --git a/src/views/equipment/base/maintain/items/components/basic-page.js b/src/views/equipment/base/maintain/items/components/basic-page.js new file mode 100644 index 00000000..b00d216c --- /dev/null +++ b/src/views/equipment/base/maintain/items/components/basic-page.js @@ -0,0 +1,172 @@ +/* + * @Author: zhp + * @Date: 2024-07-19 09:49:22 + * @LastEditTime: 2024-07-19 14:17:27 + * @LastEditors: zhp + * @Description: + */ +export default { + data() { + /* eslint-disable */ + return { + urlOptions: { + getDataListURL: '', + deleteURL: '', + statusUrl: '', + exportURL: '' + }, + tableData: [], + listQuery: { + pageSize: 10, + pageNo: 1, + total: 1, + }, + exportLoading: false, + dataListLoading: false, + addOrEditTitle: '', + addOrUpdateVisible: false, + } + }, + created() { + }, + mounted() { + this.getDataList() + }, + methods: { + // 获取数据列表 + getDataList() { + this.dataListLoading = true; + this.urlOptions.getDataListURL(this.listQuery).then(response => { + this.tableData = response.data.list; + this.listQuery.total = response.data.total; + this.dataListLoading = false; + }); + }, + // 每页数 + sizeChangeHandle(val) { + this.listQuery.pageSize = val; + this.listQuery.pageNo = 1; + this.getDataList(); + }, + // 当前页 + currentChangeHandle(val) { + this.listQuery.pageNo = val; + this.getDataList(); + }, + // 新增 / 修改 + addOrUpdateHandle(id) { + this.addOrUpdateVisible = true; + this.$nextTick(() => { + this.$refs.addOrUpdate.init(id); + }); + }, + cancel(id) { + this.$refs["popover-" + id].showPopper = false; + }, + //改变状态 + changeStatus(id) { + this.$http + .post(this.urlOptions.statusUrl, { id }) + .then(({ data: res }) => { + if (res.code !== 0) { + return this.$message.error(res.msg); + } + this.$refs["popover-" + id].showPopper = false; + this.$message({ + message: this.$t("prompt.success"), + type: "success", + duration: 500, + onClose: () => { + this.getDataList(); + }, + }); + }) + .catch(() => { }); + }, + //tableBtn点击 + handleClick(val) { + if (val.type === "edit") { + this.addOrUpdateVisible = true; + this.addOrEditTitle = "编辑" + let obj = { + id: val.data.id, + equipmentTypeId:val.data.equipmentTypeId + } + this.$nextTick(() => { + this.$refs.addOrUpdate.init(obj); + }); + } else if (val.type === "delete") { + this.deleteHandle(val.data.id, val.data.program, val.data._pageIndex) + } else if (val.type === "change") { + this.changeStatus(val.data.id) + } else { + this.otherMethods(val) + } + }, + // 删除 + deleteHandle(id, name, index) { + this.$confirm(`确定要删除${name}?`, "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.urlOptions.deleteURL(id).then(({ data }) => { + this.$message({ + message: "操作成功", + type: "success", + duration: 1500, + onClose: () => { + this.getDataList(); + }, + }); + }); + }) + .catch(() => { }); + }, + //search-bar点击 + buttonClick(val) { + switch (val.btnName) { + case "search": + this.listQuery.xm1 = val.xm1; + this.listQuery.xm2 = val.xm2; + this.listQuery.pageNo = 1; + this.getDataList(); + break; + case "add": + this.addOrEditTitle = '新增' + this.addOrUpdateVisible = true; + this.addOrUpdateHandle() + break; + default: + console.log(val) + } + }, + handleCancel() { + this.$refs.addOrUpdate.formClear() + this.addOrUpdateVisible = false + this.addOrEditTitle = '' + }, + handleConfirm() { + this.$refs.addOrUpdate.dataFormSubmit() + }, + successSubmit() { + this.handleCancel() + this.getDataList() + }, + /** 导出按钮操作 */ + handleExport() { + // 处理查询参数 + let params = { ...this.queryParams }; + params.pageNo = undefined; + params.pageSize = undefined; + this.$modal.confirm('是否确认导出所有数据项?').then(() => { + this.exportLoading = true; + return this.urlOptions.exportURL(params); + }).then(response => { + this.$download.excel(response, '工厂.xls'); + this.exportLoading = false; + }).catch(() => { }); + } + } +} diff --git a/src/views/equipment/base/maintain/items/index.vue b/src/views/equipment/base/maintain/items/index.vue new file mode 100644 index 00000000..c9ff6f64 --- /dev/null +++ b/src/views/equipment/base/maintain/items/index.vue @@ -0,0 +1,257 @@ + + + diff --git a/src/views/equipment/base/maintain/items/showDetail.vue b/src/views/equipment/base/maintain/items/showDetail.vue new file mode 100644 index 00000000..a4a7840c --- /dev/null +++ b/src/views/equipment/base/maintain/items/showDetail.vue @@ -0,0 +1,134 @@ + + + + + + From dbe784cec609ecc973a3aba85bc48759967ac154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98937886381=E2=80=99?= <‘937886381@qq.com’> Date: Tue, 30 Jul 2024 08:36:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.dev | 2 +- package.json | 1 + src/api/equipment/base/inspection/items.js | 61 ++ src/api/equipment/base/inspection/record.js | 65 +- src/api/equipment/base/inspection/settings.js | 62 +- src/api/equipment/base/maintain/confirm.js | 26 + src/api/equipment/base/maintain/items.js | 9 +- src/api/equipment/base/maintain/planconfig.js | 104 +++ src/api/equipment/base/maintain/record.js | 38 +- .../equipment/analysis/Statistics/index.vue | 52 +- .../analysis/Visualization/index.vue | 14 +- .../efficiency/components/pieChart.vue | 83 +- .../equipment/analysis/efficiency/index.vue | 42 +- .../equipment/analysis/exception/index.vue | 60 +- .../equipment/analysis/quality/index.vue | 14 +- .../base/alarm/Record/AddOrUpdate.vue | 2 +- .../base/alarm/Record/DialogForm.vue | 520 +++++++++++ .../equipment/base/alarm/Record/index.vue | 37 +- .../base/inspection/Confirm/SmallTitle.vue | 65 ++ .../inspection/Confirm/WaitingListTable.vue | 287 ++++++ .../base/inspection/Confirm/add-or-updata.vue | 563 ++++++++++++ .../base/inspection/Confirm/attr-add.vue | 172 ++++ .../base/inspection/Confirm/iconfont/demo.css | 539 +++++++++++ .../inspection/Confirm/iconfont/iconfont.css | 38 + .../inspection/Confirm/iconfont/iconfont.eot | Bin 0 -> 2664 bytes .../inspection/Confirm/iconfont/iconfont.js | 1 + .../inspection/Confirm/iconfont/iconfont.json | 44 + .../inspection/Confirm/iconfont/iconfont.svg | 29 + .../inspection/Confirm/iconfont/iconfont.ttf | Bin 0 -> 2496 bytes .../inspection/Confirm/iconfont/iconfont.woff | Bin 0 -> 1544 bytes .../Confirm/iconfont/iconfont.woff2 | Bin 0 -> 1120 bytes .../base/inspection/Confirm/index.vue | 553 ++++++++++++ .../base/inspection/Content/index.vue | 8 +- .../base/inspection/Record/addContent.vue | 312 +++++++ .../base/inspection/Record/addRecord.vue | 54 +- .../base/inspection/Record/index.vue | 223 +++-- .../inspection/Settings/add-or-updata.vue | 126 ++- .../base/inspection/Settings/add.vue | 248 ++++-- .../base/inspection/Settings/attr-add.vue | 73 +- .../base/inspection/Settings/index.vue | 166 ++-- .../inspection/items/components/InputArea.vue | 46 + .../items/components/add-or-updata.vue | 140 +++ .../inspection/items/components/basic-add.js | 112 +++ .../inspection/items/components/basic-page.js | 172 ++++ .../equipment/base/inspection/items/index.vue | 260 ++++++ .../base/inspection/items/showDetail.vue | 131 +++ .../base/maintain/Confirm/Record--detail.vue | 444 +++++++++ .../Confirm/WaitingList--add--unplanned.vue | 368 ++++++++ .../Confirm/WaitingListPlanned--edit.vue | 769 ++++++++++++++++ .../maintain/Confirm/WaitingListTable.vue | 334 +++++++ .../Confirm/WaitingListUnplanned--edit.vue | 839 ++++++++++++++++++ .../base/maintain/Confirm/iconfont/demo.css | 539 +++++++++++ .../maintain/Confirm/iconfont/iconfont.css | 38 + .../maintain/Confirm/iconfont/iconfont.eot | Bin 0 -> 2664 bytes .../maintain/Confirm/iconfont/iconfont.js | 1 + .../maintain/Confirm/iconfont/iconfont.json | 44 + .../maintain/Confirm/iconfont/iconfont.svg | 29 + .../maintain/Confirm/iconfont/iconfont.ttf | Bin 0 -> 2496 bytes .../maintain/Confirm/iconfont/iconfont.woff | Bin 0 -> 1544 bytes .../maintain/Confirm/iconfont/iconfont.woff2 | Bin 0 -> 1120 bytes .../equipment/base/maintain/Confirm/index.vue | 631 +++++++++++++ .../equipment/base/maintain/Monitor/index.vue | 144 ++- .../base/maintain/Monitor/showDetail.vue | 174 ++++ .../base/maintain/PlanConfig/SmallTitle.vue | 65 ++ .../maintain/PlanConfig/add-or-updata.vue | 287 ++++++ .../base/maintain/PlanConfig/addContent.vue | 298 +++++++ .../base/maintain/PlanConfig/attr-add.vue | 167 ++++ .../base/maintain/PlanConfig/index.vue | 551 +++++------- .../base/maintain/PlanConfig/index1.vue | 376 ++++++++ .../base/maintain/Record/addContent.vue | 294 ++++++ .../equipment/base/maintain/Record/index.vue | 296 +++--- .../maintain/items/components/basic-page.js | 4 +- .../equipment/base/maintain/items/index.vue | 17 +- .../base/maintain/items/showDetail.vue | 27 +- .../base/repair/CustomDialogForm.vue | 614 +++++++------ .../equipment/base/repair/Repair--add.vue | 706 +++++++++++++++ src/views/equipment/base/repair/htmls.vue | 35 + src/views/equipment/base/repair/index.vue | 204 ++--- .../base/spareParts/Config/addSparts.vue | 135 +-- .../base/spareParts/Config/index.vue | 44 +- .../base/spareParts/Monitor/addSparts.vue | 144 +-- .../base/spareParts/Monitor/index.vue | 22 +- src/views/equipment/monitor/SearchBar.vue | 33 +- .../monitor/StatusAndParams/index.vue | 20 +- 84 files changed, 12688 insertions(+), 1559 deletions(-) create mode 100644 src/api/equipment/base/inspection/items.js create mode 100644 src/api/equipment/base/maintain/confirm.js create mode 100644 src/api/equipment/base/maintain/planconfig.js create mode 100644 src/views/equipment/base/alarm/Record/DialogForm.vue create mode 100644 src/views/equipment/base/inspection/Confirm/SmallTitle.vue create mode 100644 src/views/equipment/base/inspection/Confirm/WaitingListTable.vue create mode 100644 src/views/equipment/base/inspection/Confirm/add-or-updata.vue create mode 100644 src/views/equipment/base/inspection/Confirm/attr-add.vue create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/demo.css create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.eot create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.js create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.ttf create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.woff create mode 100644 src/views/equipment/base/inspection/Confirm/iconfont/iconfont.woff2 create mode 100644 src/views/equipment/base/inspection/Confirm/index.vue create mode 100644 src/views/equipment/base/inspection/Record/addContent.vue create mode 100644 src/views/equipment/base/inspection/items/components/InputArea.vue create mode 100644 src/views/equipment/base/inspection/items/components/add-or-updata.vue create mode 100644 src/views/equipment/base/inspection/items/components/basic-add.js create mode 100644 src/views/equipment/base/inspection/items/components/basic-page.js create mode 100644 src/views/equipment/base/inspection/items/index.vue create mode 100644 src/views/equipment/base/inspection/items/showDetail.vue create mode 100644 src/views/equipment/base/maintain/Confirm/Record--detail.vue create mode 100644 src/views/equipment/base/maintain/Confirm/WaitingList--add--unplanned.vue create mode 100644 src/views/equipment/base/maintain/Confirm/WaitingListPlanned--edit.vue create mode 100644 src/views/equipment/base/maintain/Confirm/WaitingListTable.vue create mode 100644 src/views/equipment/base/maintain/Confirm/WaitingListUnplanned--edit.vue create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/demo.css create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.css create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.eot create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.js create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.json create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.svg create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.ttf create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.woff create mode 100644 src/views/equipment/base/maintain/Confirm/iconfont/iconfont.woff2 create mode 100644 src/views/equipment/base/maintain/Confirm/index.vue create mode 100644 src/views/equipment/base/maintain/Monitor/showDetail.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/addContent.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/attr-add.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/index1.vue create mode 100644 src/views/equipment/base/maintain/Record/addContent.vue create mode 100644 src/views/equipment/base/repair/Repair--add.vue create mode 100644 src/views/equipment/base/repair/htmls.vue diff --git a/.env.dev b/.env.dev index 92524b2e..f246ea0d 100644 --- a/.env.dev +++ b/.env.dev @@ -1,7 +1,7 @@ ### # @Author: Do not edit # @Date: 2023-08-29 09:40:39 - # @LastEditTime: 2024-07-22 08:48:47 + # @LastEditTime: 2024-07-22 16:34:50 # @LastEditors: zhp # @Description: ### diff --git a/package.json b/package.json index abeb01a6..570a5c86 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "crypto-js": "^4.0.0", "diagram-js": "^12.3.0", "echarts": "5.4.0", + "el-tree-transfer": "^2.4.7", "element-ui": "2.15.12", "file-saver": "^2.0.5", "fuse.js": "6.6.2", diff --git a/src/api/equipment/base/inspection/items.js b/src/api/equipment/base/inspection/items.js new file mode 100644 index 00000000..96c6bf62 --- /dev/null +++ b/src/api/equipment/base/inspection/items.js @@ -0,0 +1,61 @@ +/* + * @Author: zhp + * @Date: 2024-07-23 13:44:00 + * @LastEditTime: 2024-07-23 13:44:00 + * @LastEditors: zhp + * @Description: + */ +/* + * @Author: zhp + * @Date: 2024-07-12 15:31:41 + * @LastEditTime: 2024-07-22 09:33:20 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 删除设备保养记录 +export function deleteData(id) { + return request({ + url: '/base/equipment-check-program/delete?id=' + id, + method: 'delete' + }) +} + +export function getItemPageData(data) { + return request({ + url: '/base/equipment-check-program/page', + method: 'get', + data + }) +} + +export function getItemData(id) { + return request({ + url: 'base/equipment-check-program/get?id=' + id, + method: 'get' + }) +} + +export function updateItemData(data) { + return request({ + url: 'base/equipment-check-program/update', + method: 'put', + data + }) +} + +export function createItemData(data) { + return request({ + url: 'base/equipment-check-program/create', + method: 'post', + data + }) +} + +export function deleteProgramTypeData(id) { + return request({ + url: 'base/equipment-check-program-type/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/api/equipment/base/inspection/record.js b/src/api/equipment/base/inspection/record.js index 31bb481e..c89e2152 100644 --- a/src/api/equipment/base/inspection/record.js +++ b/src/api/equipment/base/inspection/record.js @@ -1,7 +1,7 @@ /* * @Author: Do not edit * @Date: 2023-11-08 15:56:52 - * @LastEditTime: 2023-11-16 20:15:02 + * @LastEditTime: 2024-02-28 18:16:56 * @LastEditors: DY * @Description: */ @@ -52,6 +52,17 @@ export function exportCheckLogExcel(query) { }) } +// 导出设备巡检单记录 +export function exportCheckOrderExcel(query) { + return request({ + url: '/base/equipment-check-order/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + + // 根据设备获得所有巡检配置列表 export function getcheckConfigByEqList(query) { return request({ @@ -68,3 +79,55 @@ export function deleteEqCheckLog(id) { method: 'delete' }) } + +// 获得设备巡检单详情分页 +export function getCheckOrderDetPage(query) { + return request({ + url: '/base/equipment-check-order-det/page', + method: 'get', + params: query + }) +} + +// 创建设备巡检单详情 +export function createCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/create', + method: 'post', + data: data + }) +} + +// 更新设备巡检单详情 +export function updateCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/update', + method: 'put', + data: data + }) +} + +// 删除设备巡检单详情 +export function deleteCheckOrderDet(id) { + return request({ + url: '/base/equipment-check-order-det/delete?id=' + id, + method: 'delete' + }) +} + +// 获得设备巡检计划单 +export function getEqCheckOrder(id) { + return request({ + url: '/base/equipment-check-order/get?id=' + id, + method: 'get' + }) +} + +// 获得设备巡检单分页 +export function getCheckOrderPage(query) { + return request({ + url: '/base/equipment-check-order/page', + method: 'get', + params: query + }) +} diff --git a/src/api/equipment/base/inspection/settings.js b/src/api/equipment/base/inspection/settings.js index 5f637a22..c4d798d6 100644 --- a/src/api/equipment/base/inspection/settings.js +++ b/src/api/equipment/base/inspection/settings.js @@ -1,7 +1,7 @@ /* * @Author: Do not edit * @Date: 2023-11-08 15:56:52 - * @LastEditTime: 2023-11-25 16:22:49 + * @LastEditTime: 2024-02-25 22:23:54 * @LastEditors: DY * @Description: */ @@ -100,3 +100,63 @@ export function updateCheckConfig(data) { data: data }) } + +// 创建巡检单 +export function createCheckOrder(data) { + return request({ + url: '/base/equipment-check-order/create', + method: 'post', + data: data + }) +} + +// 更新巡检单 +export function updateCheckOrder(data) { + return request({ + url: '/base/equipment-check-order/update', + method: 'put', + data: data + }) +} + +// 获得设备巡检单code +export function getOrderCode() { + return request({ + url: '/base/equipment-check-order/getCode', + method: 'get' + }) +} + +// 获得巡检单 +export function getCheckOrder(id) { + return request({ + url: '/base/equipment-check-order/get?id=' + id, + method: 'get' + }) +} + +// 获得巡检单详细 +export function getCheckOrderDet(id) { + return request({ + url: '/base/equipment-check-order-det/get?id=' + id, + method: 'get' + }) +} + +// 创建巡检单详情 +export function createCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/create', + method: 'post', + data: data + }) +} + +// 更新巡检单详情 +export function updateCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/update', + method: 'put', + data: data + }) +} diff --git a/src/api/equipment/base/maintain/confirm.js b/src/api/equipment/base/maintain/confirm.js new file mode 100644 index 00000000..abf924f6 --- /dev/null +++ b/src/api/equipment/base/maintain/confirm.js @@ -0,0 +1,26 @@ +/* + * @Author: Do not edit + * @Date: 2024-02-26 15:01:48 + * @LastEditTime: 2024-02-26 18:09:39 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 获得设备保养记录分页 +export function getLogDetPage(query) { + return request({ + url: '/base/equipment-maintain-log-det/page', + method: 'get', + params: query + }) +} + +// 获得设备巡检单 +export function getCheckOrder(query) { + return request({ + url: '/base/equipment-check-order/get', + method: 'get', + params: query + }) +} diff --git a/src/api/equipment/base/maintain/items.js b/src/api/equipment/base/maintain/items.js index 0abc9324..5cded3eb 100644 --- a/src/api/equipment/base/maintain/items.js +++ b/src/api/equipment/base/maintain/items.js @@ -1,7 +1,7 @@ /* * @Author: zhp * @Date: 2024-07-12 15:31:41 - * @LastEditTime: 2024-07-19 14:18:59 + * @LastEditTime: 2024-07-22 09:33:20 * @LastEditors: zhp * @Description: */ @@ -45,3 +45,10 @@ export function createItemData(data) { data }) } + +export function deleteProgramTypeData(id) { + return request({ + url: 'base/equipment-maintain-program-type/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/api/equipment/base/maintain/planconfig.js b/src/api/equipment/base/maintain/planconfig.js new file mode 100644 index 00000000..60fa4e32 --- /dev/null +++ b/src/api/equipment/base/maintain/planconfig.js @@ -0,0 +1,104 @@ +/* + * @Author: Do not edit + * @Date: 2024-02-22 15:14:19 + * @LastEditTime: 2024-02-23 19:18:22 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 获得设备保养计划配置分页 +export function getPlanPage(query) { + return request({ + url: '/base/equipment-maintain-plan/page', + method: 'get', + params: query + }) +} + +// 创建设备保养计划 +export function createPlan(data) { + return request({ + url: '/base/equipment-maintain-plan/create', + method: 'post', + data: data + }) +} + +// 更新设备保养计划 +export function updatePlan(data) { + return request({ + url: '/base/equipment-maintain-plan/update', + method: 'put', + data: data + }) +} + +// 获得计划code +export function getCode() { + return request({ + url: '/base/equipment-maintain-plan/getCode', + method: 'get' + }) +} + +// 获得计划 +export function getPlan(query) { + return request({ + url: '/base/equipment-maintain-plan/get', + method: 'get', + params: query + }) +} + +// 获得设备保养计划配置详情分页 +export function getPlanDetPage(query) { + return request({ + url: '/base/equipment-maintain-plan-det/page', + method: 'get', + params: query + }) +} + +// 创建设备保养计划详情 +export function createPlanDet(data) { + return request({ + url: '/base/equipment-maintain-plan-det/create', + method: 'post', + data: data + }) +} + +// 更新设备保养计划详情 +export function updatePlanDet(data) { + return request({ + url: '/base/equipment-maintain-plan-det/update', + method: 'put', + data: data + }) +} + +// 获得计划详情 +export function getPlanDet(query) { + return request({ + url: '/base/equipment-maintain-plan-det/get', + method: 'get', + params: query + }) +} + +// 删除设备保养计划 +export function deletePlan(id) { + return request({ + url: '/base/equipment-maintain-plan/delete?id=' + id, + method: 'delete' + }) +} + +// 删除设备保养计划详情 +export function deletePlanDet(id) { + return request({ + url: '/base/equipment-maintain-plan-det/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/api/equipment/base/maintain/record.js b/src/api/equipment/base/maintain/record.js index 8ca6f36f..012239bf 100644 --- a/src/api/equipment/base/maintain/record.js +++ b/src/api/equipment/base/maintain/record.js @@ -1,7 +1,7 @@ /* * @Author: Do not edit * @Date: 2023-11-08 15:56:52 - * @LastEditTime: 2023-11-23 19:10:07 + * @LastEditTime: 2024-02-26 17:02:53 * @LastEditors: DY * @Description: */ @@ -42,3 +42,39 @@ export function exportMaintainLogExcel(query) { responseType: 'blob' }) } + +// 导出巡检单 +export function exportCheckOrderExcel(query) { + return request({ + url: '/base/equipment-check-order/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +// 获得保养记录 +export function getLog(query) { + return request({ + url: '/base/equipment-maintain-log/get', + method: 'get', + params: query + }) +} + +// 获得设备保养记录详情分页 +export function getLogDetPage(query) { + return request({ + url: '/base/equipment-maintain-log-det/page', + method: 'get', + params: query + }) +} + +// 删除设备保养记录详情 +export function deleteLogDet(id) { + return request({ + url: '/base/equipment-maintain-log-det/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/views/equipment/analysis/Statistics/index.vue b/src/views/equipment/analysis/Statistics/index.vue index 4f5b9e91..4d47094f 100644 --- a/src/views/equipment/analysis/Statistics/index.vue +++ b/src/views/equipment/analysis/Statistics/index.vue @@ -9,7 +9,8 @@ :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" - :table-data="tableData"> + :table-data="tableData" + :max-height="tableH"> { - if (val && val.length > 0) { - return ( - moment(val[0]).format('YYYY-MM-DD HH:mm:ss') + - ' ~ ' + - moment(val[1]).format('YYYY-MM-DD HH:mm:ss') - ); - } - return '-'; - }, - }, + // { + // prop: 'recordTime', + // label: '时间段', + // filter: (val) => { + // if (val && val.length > 0) { + // return ( + // moment(val[0]).format('YYYY-MM-DD HH:mm:ss') + + // ' ~ ' + + // moment(val[1]).format('YYYY-MM-DD HH:mm:ss') + // ); + // } + // return '-'; + // }, + // }, { prop: 'lineName', label: '产线', + width: 150, + showOverflowtooltip: true }, { prop: 'sectionName', label: '工段', + width: 150, + showOverflowtooltip: true }, { prop: 'equipmentName', label: '设备名称', + minWidth: 150, + showOverflowtooltip: true }, { prop: 'equipmentType', label: '设备类型', + width: 150, + showOverflowtooltip: true }, { prop: 'workTime', label: '工作时间累积(h)', + width: 160, + showOverflowtooltip: true }, { prop: 'repairCount', label: '维修次数', + width: 120, + showOverflowtooltip: true }, { prop: 'maintainCount', label: '保养次数', + width: 120, + showOverflowtooltip: true }, ]; export default { - mixins: [basicPage], + mixins: [basicPage, tableHeightMixin], data() { const today = new Date(); @@ -110,7 +126,7 @@ export default { tableBtn: [].filter((v) => v), tableData: [], listQuery: { - pageSize: 10, + pageSize: 20, pageNo: 1, total: 1, recordTime: [ @@ -158,7 +174,7 @@ export default { : '', btnName: '导出', name: 'export', - color: 'warning', + color: 'primary', plain: true, }, ], diff --git a/src/views/equipment/analysis/Visualization/index.vue b/src/views/equipment/analysis/Visualization/index.vue index d311dbde..c8d32ca8 100644 --- a/src/views/equipment/analysis/Visualization/index.vue +++ b/src/views/equipment/analysis/Visualization/index.vue @@ -27,20 +27,20 @@
- 工作时长 + 有效时长
- 停机时长 + 关机时长
- 故障时长 + 中断时长
-
+
@@ -389,14 +389,14 @@ export default { position: relative; padding: 4px 0; padding-left: 12px; - font-size: 14px; + font-size: 18px; &::before { content: ''; position: absolute; left: 0; top: 6px; - height: 16px; + height: 20px; width: 4px; border-radius: 1px; background: #0b58ff; diff --git a/src/views/equipment/analysis/efficiency/components/pieChart.vue b/src/views/equipment/analysis/efficiency/components/pieChart.vue index 27f30311..9e13b150 100644 --- a/src/views/equipment/analysis/efficiency/components/pieChart.vue +++ b/src/views/equipment/analysis/efficiency/components/pieChart.vue @@ -16,23 +16,22 @@
{{ textData.workTime }}
-
工作时长
+
有效时长
{{ textData.stopTime }}
-
停机时长
+
关机时长
{{ textData.downTime }}
-
故障时长
+
中断时长
-
- +
@@ -76,6 +75,12 @@ export default { }, tooltip: { trigger: 'item', + formatter: (v) => { + const num = String(v.value)?.split('.').length === 2 ? v.value?.toFixed(2) : v.value + return `
+ ${v.name}: ${num} +
` + } }, legend: { show: false, @@ -93,7 +98,7 @@ export default { // 外环 name: '', type: 'pie', - radius: ['75%', '90%'], + radius: ['60%', '90%'], center: ['50%', '48%'], label: { show: false, @@ -105,24 +110,24 @@ export default { { name: '故障时长', value: 580 }, ], }, - { - // 内环 - name: '', - type: 'pie', - center: ['50%', '48%'], - radius: ['60%', '75%'], - itemStyle: { - borderRadius: 10, - }, - label: { - show: false, - }, - data: [ - //<========= - { name: '总', value: 3000 }, - { name: '', value: 1400 }, - ], - }, + // { + // // 内环 + // name: '', + // type: 'pie', + // center: ['50%', '48%'], + // radius: ['60%', '75%'], + // itemStyle: { + // borderRadius: 10, + // }, + // label: { + // show: false, + // }, + // data: [ + // //<========= + // { name: '总', value: 3000 }, + // { name: '', value: 1400 }, + // ], + // }, // { // name: this.value.equipmentName || 'Default', // type: 'pie', @@ -196,22 +201,22 @@ export default { this.config.title.text = lineName; this.config.title.subtext = equipmentName; this.config.series[0].data = [ - { name: '工作时长', value: workTime }, - { name: '停机时长', value: stopTime }, - { name: '故障时长', value: downTime }, - ]; - this.config.series[1].data = [ - { name: '速度开动率', value: peEfficiency }, - { name: '', value: 100 }, - // { name: '速度开动率', value: peEfficiency }, - // { name: '', value: Math.ceil(peEfficiency) - peEfficiency }, + { name: '有效时长', value: workTime }, + { name: '关机时长', value: stopTime }, + { name: '中断时长', value: downTime } ]; + // this.config.series[1].data = [ + // { name: '速度开动率', value: peEfficiency }, + // // { name: '', value: 100 }, + // // { name: '速度开动率', value: peEfficiency }, + // // { name: '', value: Math.ceil(peEfficiency) - peEfficiency }, + // ]; // this.textData = { - workTime: +workTime.toFixed(2), - stopTime: +stopTime.toFixed(2), - downTime: +downTime.toFixed(2), - peEfficiency: +peEfficiency.toFixed(2), + workTime: +workTime?.toFixed(2), + stopTime: +stopTime?.toFixed(2), + downTime: +downTime?.toFixed(2), + // peEfficiency: +peEfficiency?.toFixed(2), }; }, }, @@ -259,7 +264,7 @@ export default { } .data-view__item__title { - font-size: 8px; + font-size: 14px; line-height: 14px; } diff --git a/src/views/equipment/analysis/efficiency/index.vue b/src/views/equipment/analysis/efficiency/index.vue index cc49a574..94d7571a 100644 --- a/src/views/equipment/analysis/efficiency/index.vue +++ b/src/views/equipment/analysis/efficiency/index.vue @@ -19,6 +19,7 @@ :page="1" :limit="10" :table-data="list" + height="65vh" @emitFun="handleEmitFun" /> + + + + + + + + diff --git a/src/views/equipment/base/alarm/Record/index.vue b/src/views/equipment/base/alarm/Record/index.vue index a9b41c91..53da57d8 100644 --- a/src/views/equipment/base/alarm/Record/index.vue +++ b/src/views/equipment/base/alarm/Record/index.vue @@ -12,7 +12,8 @@ :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-data="list" - @emitFun="handleEmitFun"> + @emitFun="handleEmitFun" + :max-height="tableH"> moment(val).format('yyyy-MM-DD HH:mm:ss'); const btn = { @@ -89,7 +92,7 @@ const btn = { export default { name: 'Record', components: { AddOrUpdate }, - mixins: [basicPageMixin], + mixins: [basicPageMixin, tableHeightMixin], data() { return { readOnly: false, @@ -116,19 +119,31 @@ export default { // : undefined, ].filter((v) => v), tableProps: [ - { prop: 'productionLine', label: '产线' }, - { prop: 'workshopSection', label: '工段' }, - { prop: 'equipment', label: '设备名称' }, + { prop: 'productionLine', label: '产线', width: 120, showOverflowtooltip: true }, + { prop: 'workshopSection', label: '工段', width: 120, showOverflowtooltip: true }, + { prop: 'equipment', label: '设备名称', width: 120, showOverflowtooltip: true }, { prop: 'alarmGrade', label: '报警级别', filter: publicFormatter(this.DICT_TYPE.EQU_ALARM_LEVEL), }, - { prop: 'createTime', label: '报警时间', filter: timeFilter }, - { prop: 'alarmCode', label: '设备报警码' }, - { prop: 'alarmContent', label: '报警内容' }, - { prop: 'opt1', label: '处理记录', name: '查看', subcomponent: btn }, - { prop: 'opt2', label: '处理', name: '报警处理', subcomponent: btn }, + { prop: 'createTime', label: '报警时间', filter: timeFilter, width: 150, showOverflowtooltip: true }, + { prop: 'alarmCode', label: '设备报警码', width: 180, showOverflowtooltip: true }, + { prop: 'alarmContent', label: '报警内容', width: 150, showOverflowtooltip: true }, + this.$auth.hasPermiAnd([ + 'monitoring:equipment-alarm-log:query', + 'base:equipment-alarm-hand:query' + ]) ? + { prop: 'opt1', label: '处理记录', name: '查看', subcomponent: btn } : undefined, + this.$auth.hasPermiAnd([ + 'monitoring:equipment-alarm-log:query', + 'base:equipment-alarm-hand:query', + // 'base:core-worker:query', + 'base:equipment-alarm-hand:create', + 'base:equipment-alarm-hand:update', + 'monitoring:equipment-alarm-log:update' + ]) ? + { prop: 'opt2', label: '处理', name: '报警处理', subcomponent: btn } : undefined, // { prop: 'remark', label: '备注' }, ], searchBarFormConfig: [ @@ -203,7 +218,7 @@ export default { // 查询参数 queryParams: { pageNo: 1, - pageSize: 10, + pageSize: 20, lineId: null, equipmentId: null, recordTime: [], diff --git a/src/views/equipment/base/inspection/Confirm/SmallTitle.vue b/src/views/equipment/base/inspection/Confirm/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/WaitingListTable.vue b/src/views/equipment/base/inspection/Confirm/WaitingListTable.vue new file mode 100644 index 00000000..fccfce40 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/WaitingListTable.vue @@ -0,0 +1,287 @@ + + + + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/add-or-updata.vue b/src/views/equipment/base/inspection/Confirm/add-or-updata.vue new file mode 100644 index 00000000..921f167b --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/add-or-updata.vue @@ -0,0 +1,563 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/attr-add.vue b/src/views/equipment/base/inspection/Confirm/attr-add.vue new file mode 100644 index 00000000..0abf82d5 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/attr-add.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/demo.css b/src/views/equipment/base/inspection/Confirm/iconfont/demo.css new file mode 100644 index 00000000..a67054a0 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css new file mode 100644 index 00000000..da3d1f0f --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css @@ -0,0 +1,38 @@ +@font-face { + font-family: "iconfont"; /* Project id 3821755 */ + src: url('iconfont.eot?t=1689233106339'); /* IE9 */ + src: url('iconfont.eot?t=1689233106339#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAARgAAsAAAAACcAAAAQUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACDKAqGSIUsATYCJAMYCw4ABCAFhGcHVBtUCMiuMG7hiaIkox1FaBhxvd1fpwAN4YKo1v7tWTr8hBRkBQgO7yqKUJKPUKzDjkixjn7/q0vlANCkEHCJtsMvx2eQn04h5rHEE8593TK2y1SC5nbvNG5gqgZBNEWTqFUQLGVFNnVu1TjyMm3SafEsC3y0myW12KdEh2x+deP/zzHTJeG3AVBm4lrnAxpQN0US7s3ijuSE6Jbh1UGv08cgQEivMg5z6m49Qj77TVxDEZww6gXicNkviSbkxgswNeGCj+CgMw1yFRpAnUNegSv+8+UfU/igsBpjnRV3rRV9+Su8Fk1Agv6CW4eAeyvAAhronJlI1tcrVnIMHZ0cCcsUTrRTnQ0CP50B4KfgEub9Lw80BougQBwGI8bYJU4LPwUbBw0/HXAw8NORUM90wsT9JeIMFACux9QckHyQ9FDYTobcGi+FLSjwMxDe3L5s+w9THFYeEs8H303FWMnZ1JuBWFgNPh3bd5wOvJmKI9aTqXeD8eJ66HnfnV1dJPE8cy4EgqT+s/SbdSWbp9Pn24NbZ1MnGw7CDbvT6+lL1CXVh++hcH56umDT9vOviL/grQ6srHjE57uLHdQn+dtO9x2v94WN6+eXm0HWlZOzta3tUDp1JWjymsiD8r0ViWGkC+n4GeH5aODSM+9COnilpdfdZsRIvMerLmS0uICTplrOnb99LT3NkJNeajPfpDznblq6bXH8efBjlPIUxhQcX+U0qEdt4bjxy6rMdOkbEn0/3mlvrXZL60ysxdwcn/qKLJ/82pnzGS61z5rBeGmrxf33ZXN/IBWUvb8KSvnttbwwq+YTkweZHue0M0+c0ssZGY/Rs+aVF8+3GaW07CkvLC/KcBvP8c2uGpsdm0THlazwlPE22Kdi9ZK4Hdsmtw9eHVQwPjG0p33Q7tGMJ6TUJ2VK1MMw6ftI6qPPtruCvEPmLZqiHcj1Aw3Rup/sdzj+lt/w3f5TrAHgx++nD7A+8xaD4CL8m60Q+KWYO7CgUY3gTFl+OwUBHKteh00BoWmGDIYm301frAJwKAg+BTEoPCpA41OPNNh2sET0g8NnCkI61M6PKKBzREwANBtGIOS6BEU2D0CT6xvSYP+Apdg/cOT6DyErI68W0RzbqhmYOFixuRNLFqoRi839Zh+A2KqYWJH1CTC7hM04My0j664HDVgXY+xtYhbnBBNGVVzH7geKQrHOqA0sPK2Fc70oPZ2UPSTNQlVUjQEmHLDCzDphEgtKQ9zCPP16DwBRK4UJAyKfyBg7jaeaxzKlyQAg6xkaKO9M2tu1EWXhOEL3IxhKhdWpMqCYDgrTy7vZAAsuTUsLm65IOlWIQBlp47PUS9wAhBgHOFGixYgVJx7+dtqutZuY1eXTvXYncJOkOF1Wicd+CnBACA==') format('woff2'), + url('iconfont.woff?t=1689233106339') format('woff'), + url('iconfont.ttf?t=1689233106339') format('truetype'), + url('iconfont.svg?t=1689233106339#iconfont') format('svg'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-downward:before { + content: "\e604"; +} + +.icon-upward:before { + content: "\e605"; +} + +.icon-detail:before { + content: "\e601"; +} + +.icon-edit:before { + content: "\e602"; +} + +.icon-delete:before { + content: "\e603"; +} + diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.eot b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e746725cb7ee14836d415117d59484c396fcf152 GIT binary patch literal 2664 zcmd^B-ES0C6hCKXcG_*Xv)vCDx`jI3cGslf7S>@4WLpvtiV0EVqr`+nmfdN)bicA4 zzKk(dh{j+7A>aeyL81>DeDIaT59C2&LgI_X7gI@0788vRBtDqfslPir>&m9YKft>? z=l;&`oO|xQ=g!BO?IODEC1R3DG>JU21HfEjf%ffh=q>5cP?vVp&bQbm>ZJnZs6u6$ zcBBP^MhD2G89GTt%2EwXgr>mMXdd3eSEtRCq)o7_HXgK?w3`-4rcILv5AW13#9srs z73`sx4vwZWk-dx1--CWESISl&ZmS#EjRNlDnc~^$H^wHf6Um?B+B<7z^TXdhx&hw@ zxYDyAI+o;jfMKWM*^+f;Eda*;2C=qS$z`SY`3%N>3SBE@&r~^rO%e+?y__wXy&q;i zBkI6>(oD57Z@v6e^a_!;2>T(ic6niCfsVqACKly@mQWoA?D^V`rC0r#Kd8Im`(W|N z0pZr@R~8kLH$d%lkE;<$r6Z&|!NehU;YYOM=nZ=p5<5ZC^LzFkBCVLU$`logaGF@j zzcCjJGg-uMjAYn^mBFwxhvTmhUm_3o`mS^j){Bjvf29;-Wa}P+?Xk9hdUu{~*SYR- z@j!=dFz7$|`BdKU-#yX=JykKzji#F^nvTX`VgkO#>}eK@ymbQt$mEP+)wcA*Zn zl!(ehTZ{xYfkPd_ednC3k%${fOYL3Mzq`J9UxALvh9EaAg`%f&MIyDnCMe{it}pZbR` zR>3d3xQnK^$Hm>0;M}g7nYGNke*COn$W_YIm9o|B512D2i`iOJZT3@UZN5+`>zk9C zn$)COHfzl=^QUG~mNl(U*D57_58|1{VnwgkDksdGm7KM#>h{r5F^}Mrxk`z4p&~I+ zp;(Z4(&;#zg>0{9+V#h4n|5ovzIxr$?lp-Ol${ExeKqrR3YAm}YqU^d>9}gBph`e{ z+NM=pEdoHPTf{&zQIK$v3gTkVwn~8u*x0O gnXjBKpU&3u>dC6p.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}")}catch(t){console&&console.log(t)}}n=function(){var t,e=document.createElement("div");e.innerHTML=a._iconfont_svg_string_3821755,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?d(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(n,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),n()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=n,c=a.document,l=!1,v(),c.onreadystatechange=function(){"complete"==c.readyState&&(c.onreadystatechange=null,s())})}function s(){l||(l=!0,o())}function v(){try{c.documentElement.doScroll("left")}catch(t){return void setTimeout(v,50)}s()}}(window); \ No newline at end of file diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json new file mode 100644 index 00000000..fd0f1b78 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json @@ -0,0 +1,44 @@ +{ + "id": "3821755", + "name": "component", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "封装的组件中的icon", + "glyphs": [ + { + "icon_id": "36426261", + "name": "downward", + "font_class": "downward", + "unicode": "e604", + "unicode_decimal": 58884 + }, + { + "icon_id": "36426301", + "name": "upward", + "font_class": "upward", + "unicode": "e605", + "unicode_decimal": 58885 + }, + { + "icon_id": "33347867", + "name": "detail", + "font_class": "detail", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "33347918", + "name": "edit", + "font_class": "edit", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "33347930", + "name": "delete", + "font_class": "delete", + "unicode": "e603", + "unicode_decimal": 58883 + } + ] +} diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg new file mode 100644 index 00000000..647e5515 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg @@ -0,0 +1,29 @@ + + + + Created by iconfont + + + + + + + + + + + + + + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.ttf b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..014c3da9b180f6bb81e952964e168afc3e36648e GIT binary patch literal 2496 zcmd^B+iM(E82`SR+1YHenay6@Hk&q1HrW-@I%(JGrY)NYtxYNvFTJD)1-spyB-`wb z&GaTB(TXA!T1x9f>4QZdl=|Rn!D}BZLctePU!)d}2{93M(E`b|W%9tGUHZAyD@42<(u2<*7|G<~dl$jK3;t-KlCR(2(KLx9 z1+tH3%4eou8=bsLB!7mvch<@mhrWGq4Yv0%v$GKR@5*ljLr+7q75nsh0Qmj}vc6m^ zl~*7^ukQ9<||gu2f0s){Mb*Lsn_Q17k^4zA_|nDKS;=3URYkB zBT!?Aq+GBcD=j1{McT%lpt2B{J?eaomvlLZAY0?VL2U{s7-wS(|~Jc91o_jwgSotvU= zqNb>K6IBvZRIVv_(F0*4cu`Ha#=xRK!j33S&(Uoj<`02I6q2t?uTz95#aT0*^anVd zRAcKnzAm1Xp5(b`+Kf6kotrT;73H}=Fp|E&7kdo7$GOaNJ-X53R67*4^_+-UXGN?4 z$75>pi2$p~v^mPz(QJI}SW?}oieNnFTo%Fjq8kipxxJUqOLr(lkJAX{=vkUV$^%Jt zBgf)T4P>%oY^LS^;5pXMnQ=A^PHG%}BqP7I^o^`2vb0mdcm)3I7cH?dp*@mFU;E_k zvd<;X&ue2T9!i8liGD$x@7KnnQ_G9;b-Yo;`+?ZZX5x>9W12KLkTj%iVRKx<`TIGh zF(jG(%L!#}>5!RXu~WCR%eDU8_1vAp=ZtXY@3x*M z;3%g1WPx^oYhj7})aPLt@}!3q;9(E@@FmT7ScQDd!=1E=_IS7p5$ocussyl4n$CKd zsfRxHutXZ&@URT|Ee|WeKX}+jak}qe74jtychVGhd$^0zT-e>P^0rmfkDbv=g<5sG zR<+yferx7LIp1ir?RCm(%$I6aeXFshEt<5dR-+we{^U%?wx{*!My;YxAf8n&*YtX$ zcHAo1#;k4EcaDsReT3X7)GD-_8e~zPY|tXsQI)1$YCpv9hxH7dpfWrg z4{29>Pr!b=pb>9>3LAld!6~maDUwr<2$%gB)#Sq+>P^sRA_N1 zf+vQ~9SR|g0)pI76flYbJQ9j1AOj-G{qf4oy_s*{`@Z>h-_GpYv;KSb00_XLgaT^v ztRnoI%j^G#&!J#103Z~sy1)oB$~I2&KV)SKYr9}B2f=k6{slRjNQ1Qun4f}knG`o} z9}&e2hie%C2yFn6_!K9fd@6+)2G=XF&kBYkwqve{3X1?Jn8Vx<23C0($)QHm8L)RCU!=9Zmf&$*^=Q8rigfId@Lb4_Z$b`5v^D0D1=U(#;GM7XkrU9<2?QNT_c5b|M zu(hzIh$L?R(yD10Uq_IJ?P>FGtAyzH97tx4}dmaV|nj-Uud zR%}Bn7uf71Q(~6h3WdV+90+e~U2IB10MaZvoRR;Y+oGQ4fl}bObaN`T$=jNeLsn~x z)Q+;T)haq7aympmgHmp^Az6m(dmGZ{a&DNhge&lg&Q571XBqUeVJEV*%hhvI5<%^m%CA8A>obANMjuEZx#=jO`x68=+MVINp0z zO|{%5Tp2Z>RL4E-f@UTgvF43K24eDy;+nJugs*;sekMC>)EQf4eVXojEu&|0;yGiS z=@Sd3U)UtzNRXvR%gp)CH;oe;(tGv<3DkC|+pd*)C+n8m3;AQqL-F}9<`10wFjh0% zF_pBKOA*tG7Y3;~T~=b;OHY@MeywaG#$tf9_^ATZ${%(j?J#>{>MQwU5W}D;S&C3G zA`38WlBm`yi>nX)DS)!#j$=np`yc%CCMwrV=Udn}-tl!2M=Y||t}JR|>PeN_gB;an zk(sgVLnki#(ct`O9rTrgQ&##YHFK9pN3{1-BZ5DbBv!*4O3M zW>LltVHCVpUGqpH>$Z8fHt}oK@iu!Zs_Te(30y1$ywW zl7|U60J@;SR4z!MaUljtD3Deen)relWGSy>y0gd4Z(k|DNyK z;~1J3lyI>-Kz|}gOul`-QHER3Z@;xmoq2z3u&nD=t;R_K-Eyj4%#(Riwb6tk8x}d= zo5qFN{Q`UnTu>W4^4Q%+hp!Dak8(;{>H|C?!KxrR(0D!*$z)yo) literal 0 HcmV?d00001 diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.woff2 b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28c928058ba5d5c7f7bb8fb6318699bc2d478764 GIT binary patch literal 1120 zcmV-m1fTnNPew8T0RR9100dwF3jhEB013bV00a~O0RR9100000000000000000000 z0000SR0d!GgD47yNQEo`HUcCA7z+*n1Rw>3X9rXpR0znfFmBOtiz5-v5tQKt4rko(4-J>iMGQp$7hhAP9f&8 z#1qba-7>bzRD$Mq?=)^;ss=$cMU$vi5G-XyHg#^*IPx-W(rNK53w*SjCAHY6M2BpC zb>sifG1DdCw*gRQ;#%he8c;Vy67J37j^u>smf_VwuhYjMKuE7L4s+^mJwiVFO zK!W~)TZe#qE5HI8=$x5I*4Hamats}v90|)5PP9{<4FW%%0pO?L66XCc4>Sggpg9FTmF^ibGNhTIx2g)J!XGZ5a~ zzHIvsQyf+v63++UO~qKr+0>hXSXd1{9ou)D4!oI)Bi56tcZ2cbdgyuIon2id@jP=b z1cIdgv-F#FC7Y+y=i7r@XHzE|4#Ew))9dL=)Fsu2@1byhdb(iK_VcfZzu>J7tgLv% z=evs?)F=7dPWK(J_l1q?=a-v7)|Hd9wXN+?I&~#z@|wtl^1T&_VWbP`_!;5(XyDQ_ z??O6wrKQ*1X2eLm$Ez-6w77tirdrOOzkMw|&5)B`YBS%YJm+p&x@~d%dGKSD@)X7t z9AD)$s7Gz#xbe%X%yj7+5`913X>YA|OY2Om#oQd9`id-{{MwoG87{TYn!$K!tHu5I zWpjTZ6_mZd3QGCywY)H^<`a_#nI7k~Gf$k-%NZGu(X-~27tgmDrL^oRFDx(0a2wC@ z&8`}o9h*eQm8|fT@iy3}V)c@^9or_i4_+NqFg`J~r+v`w(Tpdg)F)+1)Wb08`$+1e z&$hdQyhG+KnxY-Z^#cvjx}WTKIR2L3@ZJ7XtO4N1@23y2KJylX;3E8+tq}O7m^-kb zQH|hCS$;bO0UWDdhfM*YX@(4jCf`k8tO9T-2tEZdC_E}a<5Q0`*mkf)^n=4^3PL*6 z&W|Xdb3{x4G#f@Bl@Nw|A3{~KXByw4mqs+d@j^$9S$gv~fJEhFo$2Mt&kW9)5W7Uu*LMpazL?gxrOvCgOsEIh4+ zbG;}%os>N!%|caFjR7Vcu)@qbVG;{UL)^kV{dx}oQ7eTB10tWu7(0!pn#VGw$p9eh z85$_>OxoME5oO^xLiZyWN`=*_GN70a3e(HG*#HYJO-l=#u1Gpnh(H-> + + + + diff --git a/src/views/equipment/base/inspection/Content/index.vue b/src/views/equipment/base/inspection/Content/index.vue index e79cf7b7..ccd56a5f 100644 --- a/src/views/equipment/base/inspection/Content/index.vue +++ b/src/views/equipment/base/inspection/Content/index.vue @@ -84,10 +84,10 @@ export default { : undefined, ].filter((v) => v), tableProps: [ - { prop: 'program', label: '巡检项目' }, - { prop: 'content', label: '巡检内容' }, - { prop: 'code', label: '巡检内容编码' }, - { prop: 'remark', label: '备注' }, + { prop: 'program', label: '巡检项目', showOverflowtooltip: true }, + { prop: 'content', label: '巡检内容', minWidth: 150, showOverflowtooltip: true }, + { prop: 'code', label: '巡检内容编码', showOverflowtooltip: true }, + { prop: 'remark', label: '备注', showOverflowtooltip: true }, ], searchBarFormConfig: [ { diff --git a/src/views/equipment/base/inspection/Record/addContent.vue b/src/views/equipment/base/inspection/Record/addContent.vue new file mode 100644 index 00000000..f520287c --- /dev/null +++ b/src/views/equipment/base/inspection/Record/addContent.vue @@ -0,0 +1,312 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Record/addRecord.vue b/src/views/equipment/base/inspection/Record/addRecord.vue index f420896b..961fda3e 100644 --- a/src/views/equipment/base/inspection/Record/addRecord.vue +++ b/src/views/equipment/base/inspection/Record/addRecord.vue @@ -1,8 +1,8 @@ - @@ -59,82 +64,113 @@ import moment from 'moment'; import basicPageMixin from '@/mixins/lb/basicPageMixin'; import Editor from '@/components/Editor'; import { deleteEqMaintainLog, exportMaintainLogExcel } from '@/api/equipment/base/maintain/record'; +import AddContent from './addContent.vue'; +import { parseTime } from '../../../../core/mixins/code-filter'; +import tableHeightMixin from '@/mixins/tableHeightMixin'; -const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); +// const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); + +const btn = { + name: 'tableBtn', + props: ['injectData'], + data() { + return {}; + }, + methods: { + handleClick() { + this.$emit('emitData', { action: this.injectData.label, value: this.injectData }); + }, + }, + render: function (h) { + return ( + + {this.injectData.name} + + ); + }, +}; export default { name: 'EquipmentMaintainRecord', - components: {}, - mixins: [basicPageMixin], + components: { AddContent }, + mixins: [basicPageMixin, tableHeightMixin], data() { return { + addContent: false, searchBarKeys: [ 'maintainPlanId', 'startTime', - 'relatePlan', - 'equipmentId', + 'logType', ], tableBtn: [ - this.$auth.hasPermi('equipment:maintain-record:update') - ? { - type: 'detail', - btnName: '详情', - } - : undefined, - this.$auth.hasPermi('equipment:maintain-record:update') - ? { - type: 'edit', - btnName: '修改', - } - : undefined, - this.$auth.hasPermi('equipment:maintain-record:delete') - ? { - type: 'delete', - btnName: '删除', - } - : undefined, + // this.$auth.hasPermi('equipment:maintain-record:update') + // ? { + // type: 'detail', + // btnName: '详情', + // } + // : undefined, + // this.$auth.hasPermi('equipment:maintain-record:update') + // ? { + // type: 'edit', + // btnName: '修改', + // } + // : undefined, + // this.$auth.hasPermi('equipment:maintain-record:delete') + // ? { + // type: 'delete', + // btnName: '删除', + // } + // : undefined, ].filter((v) => v), tableProps: [ - { - prop: 'createTime', - label: '添加时间', - fixed: true, - width: 150, - filter: timeFilter, - }, - { prop: 'maintainOrderNumber', label: '设备保养单号', width: 110, showOverflowtooltip: true }, - { prop: 'startTime', label: '开始时间', filter: timeFilter, minWidth: 150, showOverflowtooltip: true }, - { prop: 'endTime', label: '结束时间', filter: timeFilter, minWidth: 150, showOverflowtooltip: true }, - { prop: 'equipmentName', label: '设备名称', minWidth: 100, showOverflowtooltip: true }, - { prop: 'maintainWorker', label: '保养人员', minWidth: 100, showOverflowtooltip: true }, + // { + // prop: 'createTime', + // label: '添加时间', + // fixed: true, + // width: 180, + // filter: timeFilter, + // }, + { prop: 'maintainOrderNumber', label: '设备保养单号', minWidth: 170, showOverflowtooltip: true }, + { prop: 'planName', label: '保养计划名称', minWidth: 150, showOverflowtooltip: true }, + { prop: 'departmentName', label: '部门', minWidth: 120, showOverflowtooltip: true }, + { prop: 'lineName', label: '产线名', minWidth: 120, showOverflowtooltip: true }, + { prop: 'planStartTime', label: '计划开始时间', filter: parseTime, minWidth: 150, showOverflowtooltip: true }, + { prop: 'planEndTime', label: '计划结束时间', filter: parseTime, minWidth: 150, showOverflowtooltip: true }, + { prop: 'startTime', label: '实际开始时间', filter: parseTime, minWidth: 150, showOverflowtooltip: true }, + { prop: 'endTime', label: '实际结束时间', filter: parseTime, minWidth: 150, showOverflowtooltip: true }, + // { prop: 'equipmentName', label: '设备名称' }, + // { prop: 'maintainWorker', label: '保养人员' }, { prop: 'relatePlan', - label: '是否计划保养', - width: 120, - filter: (v) => (v != null ? ['', '是', '否'][v] : ''), + label: '保养计划类型', + filter: (v) => (v != null ? ['', '计划型', '非计划型'][v] : ''), + minWidth: 170, + showOverflowtooltip: true }, - { prop: 'planName', label: '保养计划名称', minWidth: 120, showOverflowtooltip: true }, - { prop: 'maintainDuration', label: '计划保养用时(h)', minWidth: 130, showOverflowtooltip: true }, - { prop: 'timeUsed', label: '实际保养用时(h)', minWidth: 130 }, - { prop: 'remark', label: '备注', minWidth: 100, showOverflowtooltip: true }, + this.$auth.hasPermi('equipment:maintain-record:query') ? + { prop: 'opt', label: '详情', name: '详情', subcomponent: btn } : undefined + // { prop: 'maintainDuration', label: '计划保养用时(h)' }, + // { prop: 'timeUsed', label: '实际保养用时(h)' }, + // { prop: 'remark', label: '备注' }, ], searchBarFormConfig: [ + // { + // type: 'select', + // label: '设备', + // placeholder: '请选择设备', + // param: 'equipmentId', + // }, { type: 'select', - label: '设备', - placeholder: '请选择设备', - param: 'equipmentId', - }, - { - type: 'select', - label: '计划名称', + label: '保养计划名称', placeholder: '请选择计划名称', param: 'maintainPlanId', + filterable: true }, // 开始结束时间 { type: 'datePicker', - label: '保养开始时间', + label: '实际开始时间', dateType: 'daterange', // datetimerange format: 'yyyy-MM-dd', valueFormat: 'yyyy-MM-dd HH:mm:ss', @@ -143,16 +179,18 @@ export default { endPlaceholder: '结束日期', defaultTime: ['00:00:00', '23:59:59'], param: 'startTime', + defaultSelect: [] // width: 350, }, { type: 'select', - label: '是否计划保养', + label: '记录类型', selectOptions: [ - { name: '是', id: 1 }, - { name: '否', id: 2 }, + { name: '正常', id: 0 }, + { name: '异常,保养确认超时', id: 1 }, + { name: '其他异常', id: 2 }, ], - param: 'relatePlan', + param: 'logType', }, { type: 'button', @@ -161,7 +199,8 @@ export default { color: 'primary', }, { - type: 'separate', + type: this.$auth.hasPermi('equipment:maintain-record:export') + ? 'separate' : '', }, { type: this.$auth.hasPermi('equipment:maintain-record:export') @@ -170,17 +209,25 @@ export default { btnName: '导出', name: 'export', plain: true, - color: 'warning', - }, - { - type: this.$auth.hasPermi('equipment:maintain-record:create') - ? 'button' - : '', - btnName: '新增', - name: 'add', - plain: true, - color: 'success', - }, + color: 'primary', + } + // { + // type: this.$auth.hasPermi('equipment:maintain-record:create') + // ? 'button' + // : '', + // btnName: '新增', + // name: 'add', + // plain: true, + // color: 'success', + // }, + // { + // type: this.$auth.hasPermi('equipment:maintain-record:export') + // ? 'button' + // : '', + // btnName: '导出', + // name: 'export', + // color: 'warning', + // }, ], rows: [ [ @@ -188,7 +235,8 @@ export default { select: true, label: '保养设备', prop: 'equipmentId', - url: '/base/core-equipment/listAll', + // url: '/base/core-equipment/listAll', + url: '/base/core-equipment/page?special=false&pageNo=1&pageSize=99', bind: { filterable: true, clearable: true, @@ -215,29 +263,17 @@ export default { }, ], [ - // { - // switch: true, - // label: '是否计划保养', - // prop: 'relatePlan', - // bind: { - // 'active-value': 1, - // 'inactive-value': 2, - // }, - // rules: [{ required: true, message: '是否计划保养不能为空', trigger: 'blur' }], - // }, { - select: true, - options: [ - { label: '是', value: 1 }, - { label: '否', value: 2 } - ], + switch: true, label: '是否计划保养', prop: 'relatePlan', bind: { - clearable: true, filterable: true + 'active-value': 1, + 'inactive-value': 2, }, rules: [{ required: true, message: '是否计划保养不能为空', trigger: 'blur' }], }, + {}, { select: true, label: '所属计划', @@ -248,11 +284,6 @@ export default { clearable: true, }, }, - { - input: true, - label: '保养用时', - prop: 'timeUsed', - }, ], [ { @@ -279,7 +310,11 @@ export default { clearable: true, }, }, - {} + { + input: true, + label: '保养用时', + prop: 'timeUsed', + }, ], [ @@ -306,12 +341,14 @@ export default { // 查询参数 queryParams: { pageNo: 1, - pageSize: 10, + pageSize: 20, + special: false, maintainPlanId: null, maintainPlanId: null, startTime: null, relatePlan: null, equipmentId: null, + confirmed: true }, // 表单参数 form: {}, @@ -320,46 +357,68 @@ export default { }; }, created() { + let end = moment().format('YYYY-MM-DD 08:00:00') + const current = new Date() + let start = parseTime(new Date(current.getFullYear(), current.getMonth(), current.getDate() - 3, 8, 0, 0)) + this.searchBarFormConfig[1].defaultSelect = [start, end] + this.queryParams.startTime = [start, end] this.initSearchBar(); - if (this.$route.query) { - this.queryParams.equipmentId = - this.$route.query?.equipmentId ?? undefined; - this.queryParams.maintainPlanId = - this.$route.query?.maintainPlanId ?? undefined; - this.queryParams.relatePlan = this.$route.query?.relatePlan ?? undefined; - this.queryParams.startTime = this.$route.query?.createTime ?? undefined; - this.searchBarFormConfig[0].defaultSelect = - this.$route.query.equipmentId ?? undefined; - this.searchBarFormConfig[1].defaultSelect = - this.$route.query.maintainPlanId ?? undefined; - this.searchBarFormConfig[2].defaultSelect = - this.$route.query?.createTime ?? undefined; - this.searchBarFormConfig[3].defaultSelect = - Number(this.$route.query.relatePlan) ?? undefined; - } + // if (this.$route.query) { + // // this.queryParams.equipmentId = + // // this.$route.query?.equipmentId ?? undefined; + // this.queryParams.maintainPlanId = + // this.$route.query?.maintainPlanId ?? undefined; + // // this.queryParams.relatePlan = this.$route.query?.relatePlan ?? undefined; + // this.queryParams.startTime = this.$route.query?.createTime ?? undefined; + // // this.searchBarFormConfig[0].defaultSelect = + // // this.$route.query.equipmentId ?? undefined; + // this.searchBarFormConfig[0].defaultSelect = + // this.$route.query.maintainPlanId ?? undefined; + // this.searchBarFormConfig[1].defaultSelect = + // this.$route.query?.createTime ?? undefined; + // // this.searchBarFormConfig[3].defaultSelect = + // // Number(this.$route.query.relatePlan) ?? undefined; + // } this.getList(); if (this.$route.query.addRecord) { this.handleAdd() } }, methods: { + handleEmitFun({action, value}) { + switch (action) { + // 查看详情 + case '详情': + // this.handleDetail({ id: value.id }) + this.addContent = true; + this.$nextTick(() => { + this.$refs.addContent.init(value.id, true); + }); + break; + } + }, initSearchBar() { - this.http('/base/core-equipment/listAll', 'get').then(({ data }) => { - this.$set( - this.searchBarFormConfig[0], - 'selectOptions', - data.map((item) => ({ - name: item.name, - id: item.id, - })) - ); - }); + // this.http('/base/core-equipment/page', 'get', { + // special: false, + // pageNo: 1, + // pageSize: 99 + // }).then(({ data }) => { + // this.$set( + // this.searchBarFormConfig[0], + // 'selectOptions', + // (data?.list || []).map((item) => ({ + // name: item.name, + // id: item.id, + // })) + // ); + // }); this.http('/base/equipment-maintain-plan/page', 'get', { pageNo: 1, pageSize: 100, + special: false }).then(({ data }) => { this.$set( - this.searchBarFormConfig[1], + this.searchBarFormConfig[0], 'selectOptions', (data?.list || []).map((item) => ({ name: item.name, @@ -501,6 +560,7 @@ export default { let params = { ...this.queryParams }; params.pageNo = undefined; params.pageSize = undefined; + params.confirmed = true; this.$modal .confirm('是否确认导出所有保养记录?') .then(() => { diff --git a/src/views/equipment/base/maintain/items/components/basic-page.js b/src/views/equipment/base/maintain/items/components/basic-page.js index b00d216c..d4aab025 100644 --- a/src/views/equipment/base/maintain/items/components/basic-page.js +++ b/src/views/equipment/base/maintain/items/components/basic-page.js @@ -1,7 +1,7 @@ /* * @Author: zhp * @Date: 2024-07-19 09:49:22 - * @LastEditTime: 2024-07-19 14:17:27 + * @LastEditTime: 2024-07-22 09:17:31 * @LastEditors: zhp * @Description: */ @@ -105,7 +105,7 @@ export default { }, // 删除 deleteHandle(id, name, index) { - this.$confirm(`确定要删除${name}?`, "提示", { + this.$modal.delConfirm(`确定要删除${name}?`, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", diff --git a/src/views/equipment/base/maintain/items/index.vue b/src/views/equipment/base/maintain/items/index.vue index c9ff6f64..b6ddd8c6 100644 --- a/src/views/equipment/base/maintain/items/index.vue +++ b/src/views/equipment/base/maintain/items/index.vue @@ -26,7 +26,7 @@ diff --git a/src/views/equipment/base/repair/Repair--add.vue b/src/views/equipment/base/repair/Repair--add.vue new file mode 100644 index 00000000..16f96e9a --- /dev/null +++ b/src/views/equipment/base/repair/Repair--add.vue @@ -0,0 +1,706 @@ + + + + + + + diff --git a/src/views/equipment/base/repair/htmls.vue b/src/views/equipment/base/repair/htmls.vue new file mode 100644 index 00000000..356f2400 --- /dev/null +++ b/src/views/equipment/base/repair/htmls.vue @@ -0,0 +1,35 @@ + + + + diff --git a/src/views/equipment/base/repair/index.vue b/src/views/equipment/base/repair/index.vue index fe7c4768..a3a08c97 100644 --- a/src/views/equipment/base/repair/index.vue +++ b/src/views/equipment/base/repair/index.vue @@ -12,12 +12,13 @@ :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-data="list" - @emitFun="handleEmitFun"> + @emitFun="handleEmitFun" + :max-height="tableH"> @@ -41,15 +42,12 @@ v-if="open" ref="form" v-model="form" - :disabled="mode == 'detail'" - :has-files="true" - :rows="rows" /> + :disabled="mode == 'detail'" /> + @refreshDataList="getList" />
@@ -59,29 +57,32 @@ import basicPageMixin from '@/mixins/lb/basicPageMixin'; import CustomDialogForm from './CustomDialogForm.vue'; import { deleteRepair, exportRepairLogExcel } from '@/api/equipment/base/repair' import { parseTime } from '@/utils/ruoyi' +import htmls from './htmls.vue' +import DialogForm from './Repair--add.vue'; +import tableHeightMixin from '@/mixins/tableHeightMixin'; // const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); export default { name: 'EquipmentRepair', - components: { CustomDialogForm }, - mixins: [basicPageMixin], + components: { CustomDialogForm, DialogForm }, + mixins: [basicPageMixin, tableHeightMixin], data() { return { addOrUpdateVisible: false, - searchBarKeys: ['maintenanceStatus', 'createTime', 'equipmentId'], + searchBarKeys: ['maintenanceResult', 'createTime', 'equipmentId'], tableBtn: [ - this.$auth.hasPermi('equipment:repair:finish') - ? { - type: 'finish', - btnName: '完成', - } - : undefined, - this.$auth.hasPermi('equipment:repair:update') + this.$auth.hasPermi('equipment:repair:query') ? { type: 'detail', btnName: '详情', } : undefined, + // this.$auth.hasPermi('equipment:repair:finish') + // ? { + // type: 'finish', + // btnName: '完成', + // } + // : undefined, // this.$auth.hasPermi('equipment:repair:update') // ? { // type: 'edit', @@ -96,35 +97,42 @@ export default { : undefined, ].filter((v) => v), tableProps: [ + // { + // prop: 'createTime', + // label: '添加时间', + // fixed: true, + // width: 180, + // filter: parseTime, + // }, + { prop: 'repairOrderNumber', label: '维修单号', width: 180, showOverflowtooltip: true }, + { prop: 'lineName', label: '产线名', width: 120, showOverflowtooltip: true }, + { prop: 'sectionName', label: '工段名', width: 120, showOverflowtooltip: true }, + { prop: 'equipmentName', label: '设备名称', minWidth: 100, showOverflowtooltip: true }, + { prop: 'faultDetail', label: '故障明细', subcomponent: htmls, width: 180, showOverflowtooltip: true }, + // { prop: 'maintenanceDetail', label: '维修明细', subcomponent: htmls, minWidth: 100, showOverflowtooltip: true }, { - prop: 'createTime', - label: '添加时间', - fixed: true, + prop: 'maintenanceStartTime', + label: '维修开始时间', width: 150, filter: parseTime, }, - { prop: 'repairOrderNumber', label: '设备维修单号', minWidth: 100, showOverflowtooltip: true }, - { prop: 'maintenanceStartTime', label: '开始时间', filter: parseTime, minWidth: 150, showOverflowtooltip: true }, { prop: 'maintenanceFinishTime', - label: '结束时间', + label: '维修结束时间', + width: 150, filter: parseTime, - minWidth: 150, - showOverflowtooltip: true }, + // { prop: 'maintenanceStartTime', label: '开始时间', filter: parseTime }, { - prop: 'maintenanceStatus', - label: '维修状态', - filter: (v) => (v != null ? ['未完成', '完成', '进行中'][v] : ''), + prop: 'maintenanceResult', + label: '维修结果', + filter: (v) => (v != null ? ['成功', '失败'][v] : ''), }, - { prop: 'maintenanceDuration', label: '维修时长(h)', width: 110 }, - { prop: 'lineName', label: '产线' }, - { prop: 'sectionName', label: '工段' }, - { prop: 'equipmentName', label: '设备名称', minWidth: 100, showOverflowtooltip: true }, - { prop: 'maintenanceDetail', label: '维修明细' }, - { prop: 'repairman', label: '维修工', minWidth: 100, showOverflowtooltip: true }, - { prop: 'repairmanPhone', label: '联系方式', minWidth: 100, showOverflowtooltip: true }, - { prop: 'remark', label: '备注', minWidth: 120, showOverflowtooltip: true }, + // { prop: 'maintenanceDuration', label: '维修时长(h)' }, + { prop: 'maintenanceDetail', label: '维修描述', subcomponent: htmls }, // 没有参数 + // { prop: 'repairman', label: '维修工', minWidth: 100, showOverflowtooltip: true }, + // { prop: 'repairmanPhone', label: '联系方式', minWidth: 100, showOverflowtooltip: true }, + { prop: 'remark', label: '备注', minWidth: 90, showOverflowtooltip: true } ], searchBarFormConfig: [ { @@ -136,13 +144,12 @@ export default { }, { type: 'select', - label: '状态', + label: '维修结果', placeholder: '请选择状态', - param: 'maintenanceStatus', + param: 'maintenanceResult', selectOptions: [ - { name: '未完成', id: '0' }, - { name: '完成', id: '1' }, - { name: '进行中', id: '2' }, + { name: '成功', id: '0' }, + { name: '失败', id: '1' } ], }, // 时间段 @@ -166,96 +173,43 @@ export default { color: 'primary', }, { - type: 'separate', - }, - { - type: this.$auth.hasPermi('equipment:repair:create') ? 'button' : '', - btnName: '新增', - name: 'add', - plain: true, - color: 'success', + type: (this.$auth.hasPermi('equipment:repair:export') || + this.$auth.hasPermiAnd([ + 'equipment:repair:create', + 'base:core-worker:query', + 'system:user:list' + ])) ? 'separate' : '', }, { type: this.$auth.hasPermi('equipment:repair:export') ? 'button' : '', btnName: '导出', name: 'export', plain: true, - color: 'warning', + color: 'primary', + }, + { + type: this.$auth.hasPermiAnd([ + 'equipment:repair:create', + 'base:core-worker:query', + 'system:user:list' + ]) ? 'button' : '', + btnName: '新增', + name: 'add', + plain: true, + color: 'success', }, - ], - rows: [ - [ - { - input: true, - label: '维修单号', - prop: 'repairOrderNumber', - rules: [{ required: true, message: '维修单号不能为空', trigger: 'blur' }], - }, - { - select: true, - label: '设备名称', - prop: 'equipmentId', - url: '/base/core-equipment/listAll', - bind: { - filterable: true, - clearable: true, - }, - rules: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }], - }, - ], - [ - { - // TODO: 和班组联动 - // select: true, - input: true, - label: '维修工', - prop: 'repairman', - // url: '/base/core-worker/listAll', - // valueKey: 'name', - bind: { - filterable: true, - clearable: true, - // multiple: true, - }, - // options: [{ label: 'test', value: 'test' }], - rules: [{ required: true, message: '维修工不能为空', trigger: 'blur' }], - }, - { - input: true, - label: '联系方式', - prop: 'repairmanPhone', - }, - ], - [ - { - datetime: true, - label: '故障发生时间', - prop: 'faultTime', - rules: [{ required: true, message: '故障发生时间不能为空', trigger: 'blur' }], - bind: { - format: 'yyyy-MM-dd HH:mm:ss', - 'value-format': 'timestamp', - // 'value-format': 'yyyy-MM-dd HH:mm:ss', - clearable: true, - }, - }, - { - select: true, - label: '故障级别', - prop: 'faultLevel', // 数据字典 - options: this.getDictDatas(this.DICT_TYPE.FAULT_LEVEL), - }, - ], ], // 是否显示弹出层 open: false, // 查询参数 queryParams: { pageNo: 1, - pageSize: 10, - maintenanceStatus: null, + pageSize: 20, + special: false, + maintenanceResult: null, createTime: null, equipmentId: null, + special: false }, // 表单参数 form: {}, @@ -269,11 +223,15 @@ export default { }, methods: { initSearchBar() { - this.http('/base/core-equipment/listAll', 'get').then(({ data }) => { + this.http('/base/core-equipment/page', 'get', { + special: false, + pageNo: 1, + pageSize: 999, + }).then(({ data }) => { this.$set( this.searchBarFormConfig[0], 'selectOptions', - data.map((item) => ({ + (data?.list || []).map((item) => ({ name: item.name, id: item.id, })) @@ -377,7 +335,10 @@ export default { // } // 修改的提交 if (this.form.id != null) { - this.put(this.form).then((response) => { + this.put({ + ...this.form, + repairman: this.form.repairman.join(',') + }).then((response) => { this.$modal.msgSuccess('修改成功'); this.open = false; this.getList(); @@ -385,7 +346,10 @@ export default { return; } // 添加的提交 - this.post(this.form).then((response) => { + this.post({ + ...this.form, + repairman: this.form.repairman.join(',') + }).then((response) => { this.$modal.msgSuccess('新增成功'); this.open = false; this.getList(); diff --git a/src/views/equipment/base/spareParts/Config/addSparts.vue b/src/views/equipment/base/spareParts/Config/addSparts.vue index 85975edd..06edaab2 100644 --- a/src/views/equipment/base/spareParts/Config/addSparts.vue +++ b/src/views/equipment/base/spareParts/Config/addSparts.vue @@ -9,72 +9,80 @@ + size="60%" + @closed="$emit('destroy')"> {{ disabled ? '查看备件' : '添加备件' }} - - - - - {{ dataForm.name }} - - - - - {{ dataForm.equipmentName }} - - - - - - - {{ dataForm.responsible }} - - - - - - - +
+ + + + + {{ dataForm.name }} + + + + + {{ dataForm.equipmentName }} + + + + + {{ dataForm.responsible }} + + + + +
+ + + -
- -
- - - - +
+ + {{ '备品备件' }} + +
+ +
+ + + + +
- diff --git a/src/views/equipment/base/spareParts/Config/index.vue b/src/views/equipment/base/spareParts/Config/index.vue index d76d9616..36acbf2d 100644 --- a/src/views/equipment/base/spareParts/Config/index.vue +++ b/src/views/equipment/base/spareParts/Config/index.vue @@ -17,7 +17,7 @@ v-if="tableBtn.length" slot="handleBtn" label="操作" - :width="250" + :width="180" :method-list="tableBtn" @clickBtn="handleTableBtnClick" /> @@ -34,7 +34,7 @@ @@ -44,12 +44,14 @@ v-model="form" :disabled="mode == 'detail'" :has-files="false" - :rows="rows" /> + :rows="rows" + style="margin: 0 30px" /> + @refreshDataList="getList" + @destroy="addOrUpdateVisible = false" />
@@ -79,22 +81,24 @@ export default { // btnName: '详情', // } // : undefined, - this.$auth.hasPermi('equipment:spare-parts-config:update') + this.$auth.hasPermi('equipment:spare-parts-config:addParts') ? { - type: 'edit', - btnName: '修改', + type: 'addParts', + btnName: '添加', + showTip: '添加备件' } : undefined, this.$auth.hasPermi('equipment:spare-parts-config:queryParts') ? { type: 'queryParts', - btnName: '查看备件', + btnName: '查看', + showTip: '查看备件' } : undefined, - this.$auth.hasPermi('equipment:spare-parts-config:addParts') + this.$auth.hasPermi('equipment:spare-parts-config:update') ? { - type: 'addParts', - btnName: '添加备件', + type: 'edit', + btnName: '修改', } : undefined, this.$auth.hasPermi('equipment:spare-parts-config:delete') @@ -105,15 +109,15 @@ export default { : undefined, ].filter((v) => v), tableProps: [ - { prop: 'name', label: '配置名' }, - { prop: 'lineName', label: '产线' }, - { prop: 'sectionName', label: '工段' }, - { prop: 'equipmentName', label: '设备名' }, - { prop: 'equipmentCode', label: '设备编码' }, - { prop: 'responsible', label: '负责人' }, + { prop: 'name', label: '配置名', minWidth: 100, showOverflowtooltip: true }, + { prop: 'lineName', label: '产线', minWidth: 100, showOverflowtooltip: true }, + { prop: 'sectionName', label: '工段', minWidth: 100, showOverflowtooltip: true }, + { prop: 'equipmentName', label: '设备名', minWidth: 120, showOverflowtooltip: true }, + { prop: 'equipmentCode', label: '设备编码', minWidth: 100, showOverflowtooltip: true }, + { prop: 'responsible', label: '负责人', minWidth: 150, showOverflowtooltip: true }, // { prop: 'unit', label: '单位', filter: publicFormatter('unit_dict') }, - { prop: 'description', label: '描述', subcomponent: htmls }, - { prop: 'sparePartNumber', label: '备品备件数量' }, + { prop: 'description', label: '描述', subcomponent: htmls, minWidth: 120, showOverflowtooltip: true }, + { prop: 'sparePartNumber', label: '备品备件数量', width: 130 }, // { prop: 'remark', label: '备注' }, ], searchBarFormConfig: [ @@ -198,7 +202,7 @@ export default { prop: 'description', // TODO: 富文本 subcomponent: Editor, bind: { - 'min-height': 192 + 'min-height': 150 } }, ], diff --git a/src/views/equipment/base/spareParts/Monitor/addSparts.vue b/src/views/equipment/base/spareParts/Monitor/addSparts.vue index a39a8dc5..72ad2b79 100644 --- a/src/views/equipment/base/spareParts/Monitor/addSparts.vue +++ b/src/views/equipment/base/spareParts/Monitor/addSparts.vue @@ -9,81 +9,84 @@ {{ !isLog ? '操作页面' : '更换记录' }} - - - - - {{ dataForm.name }} - - - {{ dataForm.lineName }} - - - - - {{ dataForm.equipmentName }} - - - - - - - - -
- - - - +
+ + + + + {{ dataForm.name }} + + + {{ dataForm.lineName }} + + + + + {{ dataForm.equipmentName }} + + + + +
+ + + + +
+ + + + +
+ +
+ + + + +
-
- - - - -
- - ); }, @@ -155,18 +154,19 @@ export default { // : undefined, ].filter((v) => v), tableProps: [ - { prop: 'name', label: '配置名' }, - { prop: 'lineName', label: '产线名称' }, - { prop: 'sectionName', label: '工段名' }, - { prop: 'equipmentName', label: '设备名称' }, - { prop: 'responsible', label: '负责人' }, + { prop: 'name', label: '配置名', showOverflowtooltip: true }, + { prop: 'lineName', label: '产线名称', showOverflowtooltip: true }, + { prop: 'sectionName', label: '工段名', showOverflowtooltip: true }, + { prop: 'equipmentName', label: '设备名称', showOverflowtooltip: true }, + { prop: 'responsible', label: '负责人', minWidth: 130, showOverflowtooltip: true }, { prop: 'color', label: '是否超期', subcomponent: remainBox }, - { prop: 'opt1', label: '备件更换', name: '操作', subcomponent: btn }, + { prop: 'opt1', label: '备件更换', name: '操作', subcomponent: btn, width: 110 }, { prop: 'opt2', label: '更换记录', name: '更新记录', subcomponent: btn, + width: 110 }, // TODO: 是否换成按钮, 群里问 // { prop: 'remark', label: '备注' }, ], diff --git a/src/views/equipment/monitor/SearchBar.vue b/src/views/equipment/monitor/SearchBar.vue index 1cc50e7c..1c95e6d4 100644 --- a/src/views/equipment/monitor/SearchBar.vue +++ b/src/views/equipment/monitor/SearchBar.vue @@ -92,23 +92,34 @@ export default { }); if (code == 0) { this.listLine = data; - return; + } else { + this.listLine.splice(0); } - this.listLine.splice(0); - }, - async getEquipmentByLineId(id) { - const { data, code } = await this.$axios({ - url: '/base/core-equipment/listByLine', - params: { - id, - }, + // 获得全部设备 + const res = await this.$axios({ + url: '/base/core-equipment/listAll', }); - if (code == 0) { - this.listEq = data; + if (res.code == 0) { + this.listEq = res.data; return; } this.listEq.splice(0); }, + async getEquipmentByLineId(id) { + if (id) { + const { data, code } = await this.$axios({ + url: '/base/core-equipment/listByLine', + params: { + id, + }, + }); + if (code == 0) { + this.listEq = data; + return; + } + this.listEq.splice(0); + } + }, handleSearch() { this.$emit('action', { action: 'search', diff --git a/src/views/equipment/monitor/StatusAndParams/index.vue b/src/views/equipment/monitor/StatusAndParams/index.vue index e3f0fe1d..ac3c6fd1 100644 --- a/src/views/equipment/monitor/StatusAndParams/index.vue +++ b/src/views/equipment/monitor/StatusAndParams/index.vue @@ -83,33 +83,41 @@ export default { data() { return { tableProps: [ - { prop: 'equipmentName', label: '设备名称' }, - { prop: 'equipmentCode', label: '设备编码' }, - { prop: 'inQuantity', label: '投入数' }, - { prop: 'outQuantity', label: '产出数' }, + { prop: 'equipmentName', label: '设备名称', minWidth: 100, showOverflowtooltip: true }, + { prop: 'equipmentCode', label: '设备编码', minWidth: 150, showOverflowtooltip: true }, + { prop: 'inQuantity', label: '投入数', minWidth: 80, showOverflowtooltip: true }, + { prop: 'outQuantity', label: '产出数', minWidth: 80, showOverflowtooltip: true }, { prop: 'run', label: '是否运行', filter: (val) => (val != null ? (val ? '是' : '否') : ''), + minWidth: 100, + showOverflowtooltip: true }, { prop: 'status', label: '状态', filter: (val) => val != null ? ['正常', '计划停机', '故障'][val] : '', + minWidth: 90, + showOverflowtooltip: true }, { prop: 'error', label: '是否故障', filter: (val) => (val != null ? (val ? '是' : '否') : ''), + minWidth: 100, + showOverflowtooltip: true }, { prop: 'quantityRecordTime', label: '生产量记录时间', filter: parseTime, + minWidth: 150, + showOverflowtooltip: true }, - { prop: 'statusRecordTime', label: '状态记录时间', filter: parseTime }, - { prop: 'opt1', label: '状态可视化', name: '查看', subcomponent: btn }, + { prop: 'statusRecordTime', label: '状态记录时间', filter: parseTime, minWidth: 150, showOverflowtooltip: true }, + // { prop: 'opt1', label: '状态可视化', name: '查看', subcomponent: btn }, { prop: 'opt2', label: '参数监控', name: '查看', subcomponent: btn }, ], searchBarForm: {