diff --git a/src/views/specialEquipment/check/CheckOrderListTable.vue b/src/views/specialEquipment/check/CheckOrderListTable.vue new file mode 100644 index 00000000..96943a31 --- /dev/null +++ b/src/views/specialEquipment/check/CheckOrderListTable.vue @@ -0,0 +1,227 @@ + + + + + + + + diff --git a/src/views/specialEquipment/check/Content.vue b/src/views/specialEquipment/check/Content.vue index 1ec798e2..992dccd0 100644 --- a/src/views/specialEquipment/check/Content.vue +++ b/src/views/specialEquipment/check/Content.vue @@ -15,7 +15,7 @@ @headBtnClick="handleSearchBarBtnClick" /> - - + --> + + + @confirm="handleSubmit"> @@ -60,10 +70,11 @@ import basicPageMixin from '@/mixins/lb/basicPageMixin'; import addOrUpdata from './add-or-updata.vue'; import add from './add.vue'; import { parseTime } from '../../core/mixins/code-filter'; +import CheckOrderListTable from './CheckOrderListTable.vue'; export default { name: 'SpecialEquipmentCheckConfig', - components: { addOrUpdata, add }, + components: { addOrUpdata, add, CheckOrderListTable }, mixins: [basicPageMixin], data() { return { @@ -71,25 +82,21 @@ export default { addOrEditTitle: '', searchBarKeys: ['name'], tableBtn: [ - this.$auth.hasPermi('equipment:check-setting:addInsp') - ? { - type: 'add', - btnName: '添加', - showTip: '添加巡检', - } - : undefined, + { + type: 'confirm', + btnName: '确认', + showTip: '确认', + }, this.$auth.hasPermi('equipment:check-setting:update') ? { type: 'edit', btnName: '修改', } : undefined, - // this.$auth.hasPermi('equipment:check-setting:update') - // ? { - // type: 'detail', - // btnName: '查看详情', - // } - // : undefined, + { + type: 'detail', + btnName: '巡检内容详情', + }, this.$auth.hasPermi('equipment:check-setting:delete') ? { type: 'delete', @@ -104,11 +111,6 @@ export default { width: 100, showOverflowtooltip: true, }, - { - prop: 'code', - label: '巡检单编码', - showOverflowtooltip: true, - }, { prop: 'department', label: '部门', @@ -117,27 +119,18 @@ export default { }, { prop: 'planCheckTime', - label: '计划巡检时间', + label: '巡检时间', showOverflowtooltip: true, filter: parseTime, }, { - width: 144, - prop: 'confirmTimeLimit', - label: '确认时限', + prop: 'confirmDueTime', + label: '确认截止时间', showOverflowtooltip: true, - filter: (val) => - val != null && val > 24 - ? `${(val - (val % 24)) / 24}天${val % 24}小时` - : `${val}小时`, - }, - { prop: 'groupClass', label: '班次', showOverflowtooltip: true }, - { prop: 'creator', label: '创建人', showOverflowtooltip: true }, - { - prop: 'createTime', - label: '创建时间', - showOverflowtooltip: true, - filter: parseTime, + // filter: (val) => + // val != null && val > 24 + // ? `${(val - (val % 24)) / 24}天${val % 24}小时` + // : `${val}小时`, }, { prop: 'remark', label: '备注' }, ], @@ -166,14 +159,20 @@ export default { plain: true, color: 'success', }, - // { - // type: this.$auth.hasPermi('equipment:check-setting:export') - // ? 'button' - // : '', - // btnName: '导出', - // name: 'export', - // color: 'warning', - // }, + { + type: 'button', + btnName: '导出', + name: 'export', + plain: true, + color: 'warning', + }, + { + type: 'button', + btnName: '批量确认', + name: 'batch-confirm', + plain: true, + color: 'primary', + }, ], // 是否显示弹出层 open: false, @@ -196,7 +195,7 @@ export default { this.getList(); }, methods: { - handleConfirm() { + handleSubmit() { this.$refs.add.dataFormSubmit(); }, successSubmit() { @@ -307,11 +306,15 @@ export default { }); }); }, - /** 删除按钮操作 */ + /** 编辑 */ + handleEdit(row) {}, + /** 确认巡检单 */ + handleConfirm(row) {}, + /** 删除巡检单 */ handleDelete(row) { const id = row.id; this.$modal - .confirm('是否确认删除配置名为"' + row.name + '"的数据项?') + .confirm('是否确认删除巡检单"' + row.name + '"?') .then(() => { return this.del({ id }); }) @@ -338,11 +341,11 @@ export default { break; } }, - handleDetail({ id }) { + handleDetail(row) { this.addOrUpdateVisible = true; this.addOrEditTitle = '详情'; this.$nextTick(() => { - this.$refs.addOrUpdate.init(id, true); + this.$refs.addOrUpdate.init(row?.id, true); }); }, handleAddDetail(row) { @@ -374,7 +377,4 @@ export default { }; - + \ No newline at end of file diff --git a/src/views/specialEquipment/check/iconfont/demo.css b/src/views/specialEquipment/check/iconfont/demo.css new file mode 100644 index 00000000..a67054a0 --- /dev/null +++ b/src/views/specialEquipment/check/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/specialEquipment/check/iconfont/iconfont.css b/src/views/specialEquipment/check/iconfont/iconfont.css new file mode 100644 index 00000000..da3d1f0f --- /dev/null +++ b/src/views/specialEquipment/check/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/specialEquipment/check/iconfont/iconfont.eot b/src/views/specialEquipment/check/iconfont/iconfont.eot new file mode 100644 index 00000000..e746725c Binary files /dev/null and b/src/views/specialEquipment/check/iconfont/iconfont.eot differ diff --git a/src/views/specialEquipment/check/iconfont/iconfont.js b/src/views/specialEquipment/check/iconfont/iconfont.js new file mode 100644 index 00000000..1520f0ab --- /dev/null +++ b/src/views/specialEquipment/check/iconfont/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_3821755='',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/specialEquipment/check/iconfont/iconfont.json b/src/views/specialEquipment/check/iconfont/iconfont.json new file mode 100644 index 00000000..fd0f1b78 --- /dev/null +++ b/src/views/specialEquipment/check/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/specialEquipment/check/iconfont/iconfont.svg b/src/views/specialEquipment/check/iconfont/iconfont.svg new file mode 100644 index 00000000..647e5515 --- /dev/null +++ b/src/views/specialEquipment/check/iconfont/iconfont.svg @@ -0,0 +1,29 @@ + + + + Created by iconfont + + + + + + + + + + + + + + + + + + diff --git a/src/views/specialEquipment/check/iconfont/iconfont.ttf b/src/views/specialEquipment/check/iconfont/iconfont.ttf new file mode 100644 index 00000000..014c3da9 Binary files /dev/null and b/src/views/specialEquipment/check/iconfont/iconfont.ttf differ diff --git a/src/views/specialEquipment/check/iconfont/iconfont.woff b/src/views/specialEquipment/check/iconfont/iconfont.woff new file mode 100644 index 00000000..d25f7534 Binary files /dev/null and b/src/views/specialEquipment/check/iconfont/iconfont.woff differ diff --git a/src/views/specialEquipment/check/iconfont/iconfont.woff2 b/src/views/specialEquipment/check/iconfont/iconfont.woff2 new file mode 100644 index 00000000..28c92805 Binary files /dev/null and b/src/views/specialEquipment/check/iconfont/iconfont.woff2 differ