- 工作时长
+ 有效时长
- 停机时长
+ 关机时长
- 故障时长
+ 中断时长
-
+
@@ -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" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传文件
+
+
+ {{ col.uploadTips || '只能上传jpg/png文件, 大小不超过2MB' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.department || '---' }}
+
+
+
+
+ {{ scope.row.actualCheckTime | timeFilter }}
+
+
+
+
+ {{ scope.row.groupClass || '---' }}
+
+
+
+
+ {{ scope.row.confirmDueTime | timeFilter }}
+
+
+
+
+ {{ scope.row.remark }}
+
+
+
+
+
+
+
+
+ 确认
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+ {{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 巡检内容
+
+
+
+
+
+
+
+
+ 添加内容
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+ 保存
+ 保存
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+ {{ !dataForm.id ? '新增' : '编辑' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
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',function(a){var t=(t=document.getElementsByTagName("script"))[t.length-1],e=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var n,i,o,c,l,d=function(t,e){e.parentNode.insertBefore(t,e)};if(e&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}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 @@
+
+
+
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
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
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 @@
+
+
+
+
+ {{ '设备巡检记录详情' }}
+
+
+
+
+
+ 巡检单名称
+ {{ dataForm.name }}
+
+
+ 部门
+ {{ dataForm.department }}
+
+
+ 班次
+ {{ dataForm.groupClass }}
+
+
+
+
+ 巡检人
+ {{ dataForm.checkPerson }}
+
+
+ 巡检时间
+ {{ parseTime(dataForm.actualCheckTime) }}
+
+
+ 确认人
+ {{ dataForm.confirmPerson }}
+
+
+
+
+
+
+ 巡检内容
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
+
+
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 @@
-
@@ -12,7 +12,7 @@
:show-close="false"
:wrapper-closable="isdetail"
class="drawer"
- size="60%"
+ size="55%"
@closed="$emit('destroy')">
{{ isdetail ? '查看详情' : !dataForm.id ? '新增' : '编辑' }}
@@ -24,7 +24,7 @@
label-width="100px"
v-loading="formLoading">
-
+
-
+
@@ -61,21 +61,19 @@
-
-
-
+
-
+
+
+
-
-
-
+
-
+
-
+
@@ -108,16 +106,17 @@
:table-data="list" />
-
+
+
-
+
- 取消
+ 取消
确定
@@ -126,7 +125,7 @@
diff --git a/src/views/equipment/base/inspection/Settings/attr-add.vue b/src/views/equipment/base/inspection/Settings/attr-add.vue
index d80cdb5b..942e471c 100644
--- a/src/views/equipment/base/inspection/Settings/attr-add.vue
+++ b/src/views/equipment/base/inspection/Settings/attr-add.vue
@@ -1,7 +1,7 @@
@@ -17,18 +17,32 @@
ref="dataForm"
:model="dataForm"
:rules="dataRule"
- label-width="100px"
+ label-width="90px"
@keyup.enter.native="dataFormSubmit()">
-
-
-
+
+
-
+
+
+
+
@@ -41,11 +55,12 @@
+
diff --git a/src/views/equipment/base/inspection/items/components/add-or-updata.vue b/src/views/equipment/base/inspection/items/components/add-or-updata.vue
new file mode 100644
index 00000000..0a8d5193
--- /dev/null
+++ b/src/views/equipment/base/inspection/items/components/add-or-updata.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/inspection/items/components/basic-add.js b/src/views/equipment/base/inspection/items/components/basic-add.js
new file mode 100644
index 00000000..cadb3a8d
--- /dev/null
+++ b/src/views/equipment/base/inspection/items/components/basic-add.js
@@ -0,0 +1,112 @@
+/*
+ * @Author: zwq
+ * @Date: 2022-08-24 11:19:43
+ * @LastEditors: zhp
+ * @LastEditTime: 2024-07-23 13:49:00
+ * @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.checkResult.search('~') != -1) {
+ this.dataForm.minValue = res.data.checkResult.substring(0, res.data.checkResult.search('~'))
+ this.dataForm.maxValue = res.data.checkResult.substring(res.data.checkResult.search('~') + 1, res.data.checkResult.length)
+ this.dataForm.checkResult = undefined
+ // = this.dataForm.minValue + '-' + this.dataForm.maxValue
+ } else {
+ this.dataForm.minValue = undefined
+ this.dataForm.maxValue = undefined
+ this.dataForm.checkResult = res.data.checkResult
+ }
+ 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.checkResult = 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/inspection/items/components/basic-page.js b/src/views/equipment/base/inspection/items/components/basic-page.js
new file mode 100644
index 00000000..d4aab025
--- /dev/null
+++ b/src/views/equipment/base/inspection/items/components/basic-page.js
@@ -0,0 +1,172 @@
+/*
+ * @Author: zhp
+ * @Date: 2024-07-19 09:49:22
+ * @LastEditTime: 2024-07-22 09:17:31
+ * @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.$modal.delConfirm(`确定要删除${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/inspection/items/index.vue b/src/views/equipment/base/inspection/items/index.vue
new file mode 100644
index 00000000..fbf01d64
--- /dev/null
+++ b/src/views/equipment/base/inspection/items/index.vue
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/inspection/items/showDetail.vue b/src/views/equipment/base/inspection/items/showDetail.vue
new file mode 100644
index 00000000..0627eeda
--- /dev/null
+++ b/src/views/equipment/base/inspection/items/showDetail.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/Record--detail.vue b/src/views/equipment/base/maintain/Confirm/Record--detail.vue
new file mode 100644
index 00000000..7dc6e228
--- /dev/null
+++ b/src/views/equipment/base/maintain/Confirm/Record--detail.vue
@@ -0,0 +1,444 @@
+
+
+
+
+
+ {{
+ mode.includes('detail')
+ ? '详情'
+ : mode.includes('edit')
+ ? '编辑'
+ : '新增'
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/WaitingList--add--unplanned.vue b/src/views/equipment/base/maintain/Confirm/WaitingList--add--unplanned.vue
new file mode 100644
index 00000000..7da8a87d
--- /dev/null
+++ b/src/views/equipment/base/maintain/Confirm/WaitingList--add--unplanned.vue
@@ -0,0 +1,368 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/WaitingListPlanned--edit.vue b/src/views/equipment/base/maintain/Confirm/WaitingListPlanned--edit.vue
new file mode 100644
index 00000000..587c2165
--- /dev/null
+++ b/src/views/equipment/base/maintain/Confirm/WaitingListPlanned--edit.vue
@@ -0,0 +1,769 @@
+
+
+
+
+ 编辑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
保养内容
+
+
+
+
+
+
+
+
+
+ 添加属性
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/WaitingListTable.vue b/src/views/equipment/base/maintain/Confirm/WaitingListTable.vue
new file mode 100644
index 00000000..b6a6f323
--- /dev/null
+++ b/src/views/equipment/base/maintain/Confirm/WaitingListTable.vue
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.planName || '---' }}
+
+
+
+
+ {{ scope.row.departmentName || '---' }}
+
+
+
+
+ {{ scope.row.lineName || '---' }}
+
+
+
+
+ {{ scope.row.planStartTime | timeFilter }}
+
+
+
+
+ {{ scope.row.planEndTime | timeFilter }}
+
+
+
+
+ {{ scope.row.startTime | timeFilter }}
+
+
+
+
+ {{ scope.row.endTime | timeFilter }}
+
+
+
+
+ {{ scope.row.confirmDueTime | timeFilter }}
+
+
+
+
+ {{ scope.row.relatePlan | relatePlanFilter }}
+
+
+
+
+
+
+
+
+ 确认
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/WaitingListUnplanned--edit.vue b/src/views/equipment/base/maintain/Confirm/WaitingListUnplanned--edit.vue
new file mode 100644
index 00000000..30a05efa
--- /dev/null
+++ b/src/views/equipment/base/maintain/Confirm/WaitingListUnplanned--edit.vue
@@ -0,0 +1,839 @@
+
+
+
+
+ {{ showTable ? '编辑' : '新增' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
保养内容
+
+
+
+
+
+
+
+
+
+ 添加属性
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+ 保存
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/iconfont/demo.css b/src/views/equipment/base/maintain/Confirm/iconfont/demo.css
new file mode 100644
index 00000000..a67054a0
--- /dev/null
+++ b/src/views/equipment/base/maintain/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/maintain/Confirm/iconfont/iconfont.css b/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.css
new file mode 100644
index 00000000..da3d1f0f
--- /dev/null
+++ b/src/views/equipment/base/maintain/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/maintain/Confirm/iconfont/iconfont.eot b/src/views/equipment/base/maintain/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',function(a){var t=(t=document.getElementsByTagName("script"))[t.length-1],e=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var n,i,o,c,l,d=function(t,e){e.parentNode.insertBefore(t,e)};if(e&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}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/maintain/Confirm/iconfont/iconfont.json b/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.json
new file mode 100644
index 00000000..fd0f1b78
--- /dev/null
+++ b/src/views/equipment/base/maintain/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/maintain/Confirm/iconfont/iconfont.svg b/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.svg
new file mode 100644
index 00000000..647e5515
--- /dev/null
+++ b/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.svg
@@ -0,0 +1,29 @@
+
+
+
diff --git a/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.ttf b/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..014c3da9b180f6bb81e952964e168afc3e36648e
GIT binary patch
literal 2496
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
literal 0
HcmV?d00001
diff --git a/src/views/equipment/base/maintain/Confirm/iconfont/iconfont.woff2 b/src/views/equipment/base/maintain/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/maintain/Monitor/index.vue b/src/views/equipment/base/maintain/Monitor/index.vue
index c2e3f957..ff598770 100644
--- a/src/views/equipment/base/maintain/Monitor/index.vue
+++ b/src/views/equipment/base/maintain/Monitor/index.vue
@@ -1,50 +1,27 @@
-
-
-
+
+
+
-
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue b/src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue
new file mode 100644
index 00000000..93b4a18f
--- /dev/null
+++ b/src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue b/src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue
new file mode 100644
index 00000000..8f9ee114
--- /dev/null
+++ b/src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/PlanConfig/addContent.vue b/src/views/equipment/base/maintain/PlanConfig/addContent.vue
new file mode 100644
index 00000000..62bc69b5
--- /dev/null
+++ b/src/views/equipment/base/maintain/PlanConfig/addContent.vue
@@ -0,0 +1,298 @@
+
+
+
+
+ {{ plan ? '详情' : '添加内容' }}
+
+
+
+
+
+ 保养计划名称
+ {{ dataForm.name }}
+
+
+ 部门
+ {{ dataForm.departmentName }}
+
+
+ 保养频率
+ {{ dataForm.maintenancePeriod }}
+
+
+
+
+ 保养时长
+ {{ dataForm.maintainDuration }}
+
+
+
+
+
+
+ 保养内容
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/PlanConfig/attr-add.vue b/src/views/equipment/base/maintain/PlanConfig/attr-add.vue
new file mode 100644
index 00000000..1b89c64e
--- /dev/null
+++ b/src/views/equipment/base/maintain/PlanConfig/attr-add.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+ {{ !dataForm.id ? '新增' : '编辑' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/PlanConfig/index.vue b/src/views/equipment/base/maintain/PlanConfig/index.vue
index c0db2b78..cf6fcbdf 100644
--- a/src/views/equipment/base/maintain/PlanConfig/index.vue
+++ b/src/views/equipment/base/maintain/PlanConfig/index.vue
@@ -1,146 +1,170 @@
-
-
-
-
+
+ :page="listQuery.pageNo"
+ :limit="listQuery.pageSize"
+ :table-data="tableData"
+ :max-height="tableH">
+ @clickBtn="handleClick" />
-
-
-
-
-
-
+ :limit.sync="listQuery.pageSize"
+ :page.sync="listQuery.pageNo"
+ :total="listQuery.total"
+ @pagination="getDataList" />
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Record/addContent.vue b/src/views/equipment/base/maintain/Record/addContent.vue
new file mode 100644
index 00000000..a31f82a1
--- /dev/null
+++ b/src/views/equipment/base/maintain/Record/addContent.vue
@@ -0,0 +1,294 @@
+
+
+
+
+ {{ '设备保养记录详情' }}
+
+
+
+
+
+ 计划保养人员
+ {{ dataForm.planMaintainWorker }}
+
+
+ 实际保养人员
+ {{ dataForm.maintainWorker }}
+
+
+
+
+
+
+ 保养内容
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/equipment/base/maintain/Record/index.vue b/src/views/equipment/base/maintain/Record/index.vue
index f33df532..8db355dd 100644
--- a/src/views/equipment/base/maintain/Record/index.vue
+++ b/src/views/equipment/base/maintain/Record/index.vue
@@ -12,7 +12,8 @@
:page="queryParams.pageNo"
:limit="queryParams.pageSize"
:table-data="list"
- @emitFun="handleEmitFun">
+ @emitFun="handleEmitFun"
+ :max-height="tableH">
+
@@ -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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传文件
+
+
+ 只能上传jpg/png文件, 大小不超过2MB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@