This commit is contained in:
gtz217 2022-07-28 18:15:36 +08:00
parent 56ebfbd460
commit 93ec17b792
28 changed files with 1396 additions and 428 deletions

5
package-lock.json generated
View File

@ -7205,6 +7205,11 @@
"minimist": "0.0.8" "minimist": "0.0.8"
} }
}, },
"moment": {
"version": "2.29.4",
"resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
},
"move-concurrently": { "move-concurrently": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",

View File

@ -14,6 +14,7 @@
"axios": "^0.19.0", "axios": "^0.19.0",
"css-loader": "^0.28.11", "css-loader": "^0.28.11",
"fastclick": "^1.0.6", "fastclick": "^1.0.6",
"moment": "^2.29.4",
"node-sass": "^4.12.0", "node-sass": "^4.12.0",
"qs": "^6.8.0", "qs": "^6.8.0",
"sass-loader": "^7.3.1", "sass-loader": "^7.3.1",

View File

@ -1,3 +1,11 @@
<!--
* @Author: gtz
* @Date: 2022-07-25 14:18:00
* @LastEditors: gtz
* @LastEditTime: 2022-07-28 17:00:02
* @Description: file content
* @FilePath: \hf-pda\src\App.vue
-->
<template> <template>
<div id="app"> <div id="app">
<transition :name="transitionName"> <transition :name="transitionName">

View File

@ -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;
}

View File

@ -0,0 +1,237 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>iconfont Demo</title>
<link rel="shortcut icon" href="//img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico" type="image/x-icon"/>
<link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01EYTRnJ297D6vehehJ_!!6000000008020-55-tps-64-64.svg"/>
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
<script src="iconfont.js"></script>
<!-- jQuery -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
<!-- 代码高亮 -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
<style>
.main .logo {
margin-top: 0;
height: auto;
}
.main .logo a {
display: flex;
align-items: center;
}
.main .logo .sub-title {
margin-left: 0.5em;
font-size: 22px;
color: #fff;
background: linear-gradient(-45deg, #3967FF, #B500FE);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
<img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
</a></h1>
<div class="nav-tabs">
<ul id="tabs" class="dib-box">
<li class="dib active"><span>Unicode</span></li>
<li class="dib"><span>Font class</span></li>
<li class="dib"><span>Symbol</span></li>
</ul>
<a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=3551906" target="_blank" class="nav-more">查看项目</a>
</div>
<div class="tab-container">
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe602;</span>
<div class="name">箭头</div>
<div class="code-name">&amp;#xe602;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe603;</span>
<div class="name">日历</div>
<div class="code-name">&amp;#xe603;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持两种方式引用多色图标SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
</blockquote>
<p>Unicode 使用步骤如下:</p>
<h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.eot?t=1658995551520'); /* IE9 */
src: url('iconfont.eot?t=1658995551520#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff2?t=1658995551520') format('woff2'),
url('iconfont.woff?t=1658995551520') format('woff'),
url('iconfont.ttf?t=1658995551520') format('truetype'),
url('iconfont.svg?t=1658995551520#iconfont') format('svg');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
<pre><code class="language-css"
>.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
<pre>
<code class="language-html"
>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont iconfont-jiantou"></span>
<div class="name">
箭头
</div>
<div class="code-name">.iconfont-jiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconfont-rili"></span>
<div class="name">
日历
</div>
<div class="code-name">.iconfont-rili
</div>
</li>
</ul>
<div class="article markdown">
<h2 id="font-class-">font-class 引用</h2>
<hr>
<p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
<p>与 Unicode 使用方式相比,具有如下特点:</p>
<ul>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
</code></pre>
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;span class="iconfont iconfont-xxx"&gt;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"
iconfont" 是你项目下的 font-family。可以通过编辑项目查看默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconfont-jiantou"></use>
</svg>
<div class="name">箭头</div>
<div class="code-name">#iconfont-jiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconfont-rili"></use>
</svg>
<div class="name">日历</div>
<div class="code-name">#iconfont-rili</div>
</li>
</ul>
<div class="article markdown">
<h2 id="symbol-">Symbol 引用</h2>
<hr>
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
<ul>
<li>支持多色图标了,不再受单色限制。</li>
<li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
<li>兼容性较差,支持 IE9+,及现代浏览器。</li>
<li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
</code></pre>
<h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
<pre><code class="language-html">&lt;style&gt;
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
&lt;/style&gt;
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
&lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
&lt;/svg&gt;
</code></pre>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function () {
$('.tab-container .content:first').show()
$('#tabs li').click(function (e) {
var tabContent = $('.tab-container .content')
var index = $(this).index()
if ($(this).hasClass('active')) {
return
} else {
$('#tabs li').removeClass('active')
$(this).addClass('active')
tabContent.hide().eq(index).fadeIn()
}
})
})
</script>
</body>
</html>

View File

@ -0,0 +1,26 @@
@font-face {
font-family: "iconfont"; /* Project id 3551906 */
src: url('iconfont.eot?t=1658995551520'); /* IE9 */
src: url('iconfont.eot?t=1658995551520#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff2?t=1658995551520') format('woff2'),
url('iconfont.woff?t=1658995551520') format('woff'),
url('iconfont.ttf?t=1658995551520') format('truetype'),
url('iconfont.svg?t=1658995551520#iconfont') format('svg');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.iconfont-jiantou:before {
content: "\e602";
}
.iconfont-rili:before {
content: "\e603";
}

Binary file not shown.

View File

@ -0,0 +1 @@
!function(e){var t,n,o,i,a,c='<svg><symbol id="iconfont-jiantou" viewBox="0 0 7509 1024"><path d="M7509.333333 0l-341.333333 324.266667-426.666667 426.666666a144.810667 144.810667 0 0 1-204.8-204.8l221.866667-221.866666H2218.666667V0h5290.666666zM1877.333333 0v341.333333h-512V0h512z m-682.666666 0v341.333333H682.666667V0h512zM341.333333 0v341.333333H0V0h341.333333z" fill="#4271FF" ></path></symbol><symbol id="iconfont-rili" viewBox="0 0 1024 1024"><path d="M259.424 287.488a28.096 28.096 0 0 0-28.064 28.064v449.024c0 15.488 12.608 28.064 28.064 28.064h505.152a28.064 28.064 0 0 0 28.064-28.064V315.52a28.096 28.096 0 0 0-28.064-28.064H259.424z m505.152 561.28H259.424c-46.4 0-84.16-37.76-84.16-84.192V315.52c0-46.4 37.76-84.16 84.16-84.16h505.152c46.4 0 84.16 37.76 84.16 84.16v449.024c0 46.4-37.76 84.16-84.16 84.16zM373.44 343.616h-3.52a26.368 26.368 0 0 1-26.272-26.272V201.568c0-14.464 11.808-26.336 26.272-26.336h3.52c14.496 0 26.304 11.84 26.304 26.336v115.776a26.368 26.368 0 0 1-26.304 26.272m280.64 0h-3.52a26.368 26.368 0 0 1-26.304-26.272V201.568c0-14.464 11.84-26.336 26.304-26.336h3.52c14.464 0 26.272 11.84 26.272 26.336v115.776a26.368 26.368 0 0 1-26.272 26.272m-282.4 308.704H315.552a28.16 28.16 0 0 1-28.064-28.064 28.16 28.16 0 0 1 28.064-28.064h56.128a28.16 28.16 0 0 1 28.064 28.064 28.16 28.16 0 0 1-28.064 28.064m168.384 0h-56.128a28.16 28.16 0 0 1-28.064-28.064 28.16 28.16 0 0 1 28.064-28.064h56.128a28.16 28.16 0 0 1 28.064 28.064 28.16 28.16 0 0 1-28.064 28.064M371.68 512H315.552a28.16 28.16 0 0 1-28.064-28.064 28.16 28.16 0 0 1 28.064-28.064h56.128a28.16 28.16 0 0 1 28.064 28.064 28.16 28.16 0 0 1-28.064 28.064m336.768 0h-56.128a28.16 28.16 0 0 1-28.064-28.064 28.16 28.16 0 0 1 28.064-28.064h56.128a28.16 28.16 0 0 1 28.064 28.064 28.16 28.16 0 0 1-28.064 28.064m-168.384 0h-56.128a28.16 28.16 0 0 1-28.064-28.064 28.16 28.16 0 0 1 28.064-28.064h56.128a28.16 28.16 0 0 1 28.064 28.064 28.16 28.16 0 0 1-28.064 28.064" fill="#0B58FF" ></path></symbol></svg>',d=(d=document.getElementsByTagName("script"))[d.length-1].getAttribute("data-injectcss"),l=function(e,t){t.parentNode.insertBefore(e,t)};if(d&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(e){console&&console.log(e)}}function s(){a||(a=!0,o())}function h(){try{i.documentElement.doScroll("left")}catch(e){return void setTimeout(h,50)}s()}t=function(){var e,t=document.createElement("div");t.innerHTML=c,c=null,(t=t.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",t=t,(e=document.body).firstChild?l(t,e.firstChild):e.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(n=function(){document.removeEventListener("DOMContentLoaded",n,!1),t()},document.addEventListener("DOMContentLoaded",n,!1)):document.attachEvent&&(o=t,i=e.document,a=!1,h(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,s())})}(window);

View File

@ -0,0 +1,23 @@
{
"id": "3551906",
"name": "hf-pda",
"font_family": "iconfont",
"css_prefix_text": "iconfont-",
"description": "",
"glyphs": [
{
"icon_id": "30915165",
"name": "箭头",
"font_class": "jiantou",
"unicode": "e602",
"unicode_decimal": 58882
},
{
"icon_id": "30915166",
"name": "日历",
"font_class": "rili",
"unicode": "e603",
"unicode_decimal": 58883
}
]
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Created by iconfont</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024">
<font-face
font-family="iconfont"
font-weight="400"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="jiantou" unicode="&#58882;" d="M7509.333333 896l-341.333333-324.266667-426.666667-426.666666a144.810667 144.810667 0 0 0-204.8 204.8l221.866667 221.866666H2218.666667V896h5290.666666zM1877.333333 896v-341.333333h-512V896h512z m-682.666666 0v-341.333333H682.666667V896h512zM341.333333 896v-341.333333H0V896h341.333333z" horiz-adv-x="7509" />
<glyph glyph-name="rili" unicode="&#58883;" d="M259.424 608.512a28.096 28.096 0 0 1-28.064-28.064v-449.024c0-15.488 12.608-28.064 28.064-28.064h505.152a28.064 28.064 0 0 1 28.064 28.064V580.48a28.096 28.096 0 0 1-28.064 28.064H259.424z m505.152-561.28H259.424c-46.4 0-84.16 37.76-84.16 84.192V580.48c0 46.4 37.76 84.16 84.16 84.16h505.152c46.4 0 84.16-37.76 84.16-84.16v-449.024c0-46.4-37.76-84.16-84.16-84.16zM373.44 552.384h-3.52a26.368 26.368 0 0 0-26.272 26.272V694.432c0 14.464 11.808 26.336 26.272 26.336h3.52c14.496 0 26.304-11.84 26.304-26.336v-115.776a26.368 26.368 0 0 0-26.304-26.272m280.64 0h-3.52a26.368 26.368 0 0 0-26.304 26.272V694.432c0 14.464 11.84 26.336 26.304 26.336h3.52c14.464 0 26.272-11.84 26.272-26.336v-115.776a26.368 26.368 0 0 0-26.272-26.272m-282.4-308.704H315.552a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064m168.384 0h-56.128a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064M371.68 384H315.552a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064m336.768 0h-56.128a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064m-168.384 0h-56.128a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064" horiz-adv-x="1024" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,11 @@
@font-face {font-family: "iconfont"; @font-face {
src: url('./iconfont/iconfont.eot?t=1569291397091'); /* IE9 */ font-family: "iconfont"; /* Project id 3551906 */
src: url('./iconfont/iconfont.eot?t=1569291397091#iefix') format('embedded-opentype'), /* IE6-IE8 */ src: url('./iconfont/iconfont.eot?t=1658995551520'); /* IE9 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMIAAsAAAAAB2gAAAK6AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDGgqCJIIAATYCJAMUCwwABCAFhG0HQhtuBsgekiSBQAIF/MQRBIwQQbWG9ezuXRBcogBVKh5YAoCKEbFRoKJe6Tf6hWH9iu5/1zQFlmOXEZVkhqiA1OFPeqXcSzNmIxEsC7MJg8KNMeBE8E9kn+dyetewLJD57SyhMNO1Ji3uqBdgHFBgY02K7BJJzFMYXnWQO3GaQLtRDRxrvcNjyK+wJwXiyWIa8heSiiJWWoW6YWURbyqt6SV94DX6fvwyH36SKrNnbj/2mKj968dXeb15dh4QVPP5Ia4jYw5SiNPG4j6XEPku7UW3KWhfg4KvmoavCdxir394SZGJml3bCZaoodyTyqMIvpYi8XUG3Sa0JONdQrSL1bYgt2zeGFM4+n66uwIFl0f17Hrj7bDGpFeHL+tLZv7Fei00JN836qgSX6KFVx3+i/VXSMniGiu6Zoq+zlpg95RU3t+XjRHz4XGCPJGx1ZXV1THyTFDdHSV9ekjv4wOQa9LDO1Z7aKj1+guWf3zsdU8/8LKPpmuezXj+k45pdnJ5Xir+woHgXRgpPc2/W0MFfPmnnSjZ7BQ0rtQqAat+uApsKYbGdlVFa/aUWrjSD+YT2p0MDbKj/f7mMQ/BjYRWQyPCLUYyZK3GyMKdQ6XDAmqtFtFuVt/6DgMElyhtmLFDEHrdI+n2GVmvT7Jwf1EZ9o9ab7jQ7jDyduwwEVawS4AmwcT6ArYMnqWuRwbj+hFgM2lN5DWRYAJEzsrgWDharvRBFsQcc3KzLC4lxVTwDO4l50E6zbEteBIMGU5IaZNIhDZ9KGzwDApaJQCNBEyYbgFmMXBZNOgsBSvMjwDMjDSN6KDVpScAIcfqHYsJiwJknzEL0e7lnZxZTJwkURglcBlYL/GDtFPkMLt5WBIwSGGJEXkbEWHtKGoMr2/OfOMuaGc/XkWKHCWqqJV7Ppd1p4FK54ztERZLSIQAAAA=') format('woff2'), src: url('./iconfont/iconfont.eot?t=1658995551520#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('./iconfont/iconfont.woff?t=1569291397091') format('woff'), url('./iconfont/iconfont.woff2?t=1658995551520') format('woff2'),
url('./iconfont/iconfont.ttf?t=1569291397091') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ url('./iconfont/iconfont.woff?t=1658995551520') format('woff'),
url('./iconfont/iconfont.svg?t=1569291397091#iconfont') format('svg'); /* iOS 4.1- */ url('./iconfont/iconfont.ttf?t=1658995551520') format('truetype'),
url('./iconfont/iconfont.svg?t=1658995551520#iconfont') format('svg');
} }
.iconfont { .iconfont {
@ -15,19 +16,11 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-down:before { .iconfont-jiantou:before {
content: "\e697"; content: "\e602";
} }
.icon-left:before { .iconfont-rili:before {
content: "\e698"; content: "\e603";
}
.icon-up:before {
content: "\e69a";
}
.icon-right:before {
content: "\e699";
} }

Binary file not shown.

View File

@ -1,38 +1,23 @@
<?xml version="1.0" standalone="no"?> <?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!-- <svg xmlns="http://www.w3.org/2000/svg">
2013-9-30: Created. <metadata>Created by iconfont</metadata>
--> <defs>
<svg> <font id="iconfont" horiz-adv-x="1024">
<metadata> <font-face
Created by iconfont font-family="iconfont"
</metadata> font-weight="400"
<defs> font-stretch="normal"
units-per-em="1024"
<font id="iconfont" horiz-adv-x="1024" > ascent="896"
<font-face descent="-128"
font-family="iconfont" />
font-weight="500" <missing-glyph />
font-stretch="normal"
units-per-em="1024" <glyph glyph-name="jiantou" unicode="&#58882;" d="M7509.333333 896l-341.333333-324.266667-426.666667-426.666666a144.810667 144.810667 0 0 0-204.8 204.8l221.866667 221.866666H2218.666667V896h5290.666666zM1877.333333 896v-341.333333h-512V896h512z m-682.666666 0v-341.333333H682.666667V896h512zM341.333333 896v-341.333333H0V896h341.333333z" horiz-adv-x="7509" />
ascent="896"
descent="-128" <glyph glyph-name="rili" unicode="&#58883;" d="M259.424 608.512a28.096 28.096 0 0 1-28.064-28.064v-449.024c0-15.488 12.608-28.064 28.064-28.064h505.152a28.064 28.064 0 0 1 28.064 28.064V580.48a28.096 28.096 0 0 1-28.064 28.064H259.424z m505.152-561.28H259.424c-46.4 0-84.16 37.76-84.16 84.192V580.48c0 46.4 37.76 84.16 84.16 84.16h505.152c46.4 0 84.16-37.76 84.16-84.16v-449.024c0-46.4-37.76-84.16-84.16-84.16zM373.44 552.384h-3.52a26.368 26.368 0 0 0-26.272 26.272V694.432c0 14.464 11.808 26.336 26.272 26.336h3.52c14.496 0 26.304-11.84 26.304-26.336v-115.776a26.368 26.368 0 0 0-26.304-26.272m280.64 0h-3.52a26.368 26.368 0 0 0-26.304 26.272V694.432c0 14.464 11.84 26.336 26.304 26.336h3.52c14.464 0 26.272-11.84 26.272-26.336v-115.776a26.368 26.368 0 0 0-26.272-26.272m-282.4-308.704H315.552a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064m168.384 0h-56.128a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064M371.68 384H315.552a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064m336.768 0h-56.128a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064m-168.384 0h-56.128a28.16 28.16 0 0 0-28.064 28.064 28.16 28.16 0 0 0 28.064 28.064h56.128a28.16 28.16 0 0 0 28.064-28.064 28.16 28.16 0 0 0-28.064-28.064" horiz-adv-x="1024" />
/>
<missing-glyph /> </font>
</defs>
<glyph glyph-name="down" unicode="&#59031;" d="M26.396 549.888l431.56-431.56c0.91-1.023 1.934-2.047 2.844-3.071 28.444-28.445 74.41-28.445 102.855 0L997.49 549.092c28.444 28.444 28.444 74.41 0 102.855s-74.41 28.444-102.855 0L512.34 269.653l-383.09 383.09c-28.444 28.445-74.41 28.445-102.855 0-28.33-28.444-28.33-74.41 0-102.855z" horiz-adv-x="1024" /> </svg>
<glyph glyph-name="left" unicode="&#59032;" d="M677.888 869.604l-431.56-431.56c-1.023-0.91-2.047-1.934-3.071-2.844-28.445-28.444-28.445-74.41 0-102.855L677.092-101.49c28.444-28.444 74.41-28.444 102.855 0s28.444 74.41 0 102.855L397.653 383.66l383.09 383.09c28.445 28.444 28.445 74.41 0 102.855-28.444 28.33-74.41 28.33-102.855 0z" horiz-adv-x="1024" />
<glyph glyph-name="up" unicode="&#59034;" d="M997.604 218.112l-431.56 431.56c-0.91 1.023-1.934 2.047-2.844 3.071-28.444 28.445-74.41 28.445-102.855 0L26.396 218.908c-28.444-28.444-28.444-74.41 0-102.855s74.411-28.444 102.856 0l382.293 382.294 383.09-383.09c28.444-28.445 74.41-28.445 102.855 0s28.444 74.41 0.114 102.855z" horiz-adv-x="1024" />
<glyph glyph-name="right" unicode="&#59033;" d="M346.112-101.604l431.56 431.56c1.023 0.91 2.047 1.934 3.071 2.844 28.445 28.444 28.445 74.41 0 102.855L346.908 869.604c-28.444 28.444-74.41 28.444-102.855 0s-28.444-74.411 0-102.856l382.294-382.293-383.09-383.203c-28.445-28.445-28.445-74.411 0-102.856 28.444-28.33 74.41-28.33 102.855 0z" horiz-adv-x="1024" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

View File

@ -1,4 +1,4 @@
@charset "utf-8";html{background-color:#fff;color:#000;font-size:12px} @charset "utf-8";html{background-color:#fff;color:#131415;font-size:12px}
body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,figure,form,fieldset,legend,input,textarea,button,p,blockquote,th,td,pre,xmp{margin:0;padding:0} body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,figure,form,fieldset,legend,input,textarea,button,p,blockquote,th,td,pre,xmp{margin:0;padding:0}
body,input,textarea,button,select,pre,xmp,tt,code,kbd,samp{line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif} body,input,textarea,button,select,pre,xmp,tt,code,kbd,samp{line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif}
h1,h2,h3,h4,h5,h6,small,big,input,textarea,button,select{font-size:100%} h1,h2,h3,h4,h5,h6,small,big,input,textarea,button,select{font-size:100%}
@ -20,6 +20,6 @@ mark{background-color:transparent}
a,ins,s,u,del{text-decoration:none} a,ins,s,u,del{text-decoration:none}
sup,sub{vertical-align:baseline} sup,sub{vertical-align:baseline}
html {overflow-x: hidden;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;} html {overflow-x: hidden;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;}
body {font-family: Arial, "Microsoft Yahei", "Helvetica Neue", Helvetica, sans-serif;color: #333;font-size: .28em;line-height: 1;-webkit-text-size-adjust: none;} body {font-family: Arial, "Microsoft Yahei", "Helvetica Neue", Helvetica, sans-serif;color: #131415;font-size: .28em;line-height: 1;-webkit-text-size-adjust: none;}
hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;} hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;}
a {color: #25a4bb;text-decoration: none;} a {color: #25a4bb;text-decoration: none;}

View File

@ -0,0 +1,43 @@
<!--
* @Author: gtz
* @Date: 2022-07-28 10:22:30
* @LastEditors: gtz
* @LastEditTime: 2022-07-28 16:47:14
* @Description: file content
* @FilePath: \hf-pda\src\components\shortLine.vue
-->
<template>
<div class="shortLine" :style="lineStyle" />
</template>
<script>
export default {
name: 'shortLine',
props: {
lineStyle: {
tpye: Object,
default: () => {
return {
background: '#4271FF',
width: '0.0525rem',
height: '0.375rem',
borderRadius: '0.0525rem',
top: '0.06rem'
}
}
}
},
data () {
return {}
},
methods: {}
}
</script>
<style lang="scss" scoped>
.shortLine {
display: inline-block;
position: relative;
}
</style>

View File

@ -1,3 +1,11 @@
/*
* @Author: gtz
* @Date: 2022-07-25 14:18:00
* @LastEditors: gtz
* @LastEditTime: 2022-07-28 10:26:05
* @Description: file content
* @FilePath: \hf-pda\src\main.js
*/
// The Vue build version to load with the `import` command // The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue' import Vue from 'vue'
@ -11,9 +19,9 @@ import './assets/css/iconfont.css'
import './components/' import './components/'
import store from '@/store' import store from '@/store'
import { Button, Field, Icon, Dialog, Grid, GridItem, NavBar, Popup, Row, Col, Stepper, Picker, DatetimePicker, PullRefresh, Cell, CellGroup, Tag, Checkbox, CheckboxGroup, Tab, Tabs, Sticky } from 'vant' import { Button, Field, Icon, Dialog, Grid, GridItem, NavBar, Popup, Row, Col, Stepper, Picker, DatetimePicker, PullRefresh, Cell, CellGroup, Tag, Checkbox, CheckboxGroup, Tab, Tabs, Sticky, Calendar } from 'vant'
Vue.use(Button).use(Field).use(Icon).use(Dialog).use(Grid).use(GridItem).use(NavBar).use(Popup).use(Row).use(Col).use(Stepper).use(Picker).use(DatetimePicker).use(PullRefresh).use(Cell).use(CellGroup).use(Tag).use(Checkbox).use(CheckboxGroup).use(Tab).use(Tabs).use(Sticky) Vue.use(Button).use(Field).use(Icon).use(Dialog).use(Grid).use(GridItem).use(NavBar).use(Popup).use(Row).use(Col).use(Stepper).use(Picker).use(DatetimePicker).use(PullRefresh).use(Cell).use(CellGroup).use(Tag).use(Checkbox).use(CheckboxGroup).use(Tab).use(Tabs).use(Sticky).use(Calendar)
Vue.config.productionTip = false Vue.config.productionTip = false
fastClick.attach(document.body) fastClick.attach(document.body)

View File

@ -1,171 +0,0 @@
const cols = [
{
title: '序号',
key: 'index',
align: 'center',
width: 0
},
{
title: '品名(品号)',
key: 'productName',
align: 'center',
width: 120
},
{
title: '品名(料号)',
key: 'partName',
align: 'center',
width: 120
},
{
title: '规格',
key: 'specification',
align: 'center',
width: 120
},
{
title: '密度',
key: 'density',
align: 'center',
width: 120
},
{
title: '门幅',
key: 'larghezza',
align: 'center',
width: 120
},
{
title: '品号',
key: 'productCode',
align: 'center',
width: 120
},
{
title: '料号',
key: 'itemCode',
align: 'center',
width: 120
},
{
title: '分类',
key: 'sort',
align: 'center',
width: 120
},
{
title: '克重',
key: 'grammage',
align: 'center',
width: 120
},
{
title: '市场报价',
key: 'marketPrice',
align: 'center',
width: 120
},
{
title: '加工方式',
key: 'processingMode',
align: 'center',
width: 120
},
{
title: '一阶大类',
key: 'firstLargeClass',
align: 'center',
width: 120
},
{
title: '添加时间',
key: 'createTime',
align: 'center',
width: 120
},
{
title: '厂商编码',
key: 'supplierCodename',
align: 'center',
width: 120
},
{
title: '品质',
key: 'quality',
align: 'center',
width: 120
},
{
title: '等级',
key: 'dominant',
align: 'center',
width: 120
},
{
title: '颜色',
key: 'colorCode',
align: 'center',
width: 120
},
{
title: '原料',
key: 'stockProduct',
align: 'center',
width: 120
},
{
title: '组织',
key: 'tissue',
align: 'center',
width: 120
},
{
title: '仓库数量',
key: 'wareNum',
align: 'center',
width: 120
},
{
title: '厂商库存',
key: 'factureInventory',
align: 'center',
width: 120
},
{
title: '材料成本价',
key: 'costPrice',
align: 'center',
width: 120
},
{
title: '描述信息',
key: 'description',
align: 'center',
width: 120
},
{
title: '定做时间(天)',
key: 'sustomMadeTime',
align: 'center',
width: 120
},
{
title: '是否现货',
key: 'isSpot',
align: 'center',
width: 120
},
{
title: '是否开票',
key: 'isBilling',
align: 'center',
width: 120
},
{
title: '备注',
key: 'remark',
align: 'center',
width: 120
}
]
export default cols

View File

@ -0,0 +1,127 @@
<!--
* @Author: gtz
* @Date: 2022-07-28 10:22:30
* @LastEditors: gtz
* @LastEditTime: 2022-07-28 17:22:14
* @Description: file content
* @FilePath: \hf-pda\src\pages\eqInspection\components\eqItem.vue
-->
<template>
<div class="eqItem">
<div class="eqItem-header">
<div class="eqItem-title">
<short-line />
{{ injectData.equipmentName }}
</div>
<div class="eqItem-user">
{{ injectData.inspectionWorker }}
</div>
</div>
<div class="eqItem-main">
<div class="eqItem-main-left">
<div class="eqItem-main-left-item">
添加时间
<span>{{ injectData.createTime ? moment(injectData.createTime).format('YYYY-MM-DD HH:mm:ss') : '暂无' }}</span>
</div>
<div class="eqItem-main-left-item">
巡检时间
<span>{{ injectData.inspectionStartTime ? moment(injectData.inspectionStartTime).format('YYYY-MM-DD HH:mm:ss') : '暂无' }}</span>
</div>
</div>
<div class="eqItem-main-right" @click="toDetail">
<div class="eqItem-main-right-box">
<div style="opacity: .5;">查看详情</div>
<div>
<van-icon class-prefix="iconfont" name="jiantou" />
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import moment from 'moment'
import shortLine from '@/components/shortLine.vue'
export default {
name: 'eqItem',
components: { shortLine },
props: {
injectData: {
type: Object,
default: () => {}
}
},
data () {
return {
moment
}
},
methods: {
toDetail () {}
}
}
</script>
<style lang="scss" scoped>
.eqItem {
width: calc(100% - .75rem);
padding: .125rem .375rem;
border-radius: .25rem;
height: 2.125rem;
background: #fff;
box-shadow: .02rem .02rem .1rem rgba($color: #000000, $alpha: .2);
margin: .125rem 0;
.eqItem-header {
line-height: .875rem;
display: flex;
font-size: .34375rem;
.eqItem-title {
font-weight: bold;
max-width: 2.75rem;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.eqItem-user {
flex: 1;
text-align: right;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
}
.eqItem-main {
display: flex;
.eqItem-main-left {
flex: 1;
padding-right: .1rem;
.eqItem-main-left-item {
line-height: .59375rem;
font-size: .3125rem;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
span {
opacity: .5;
}
}
}
.eqItem-main-right {
font-size: .3125rem;
width: 1.6rem;
display: flex;
align-items: flex-end;
justify-content: center;
.eqItem-main-right-box {
padding-bottom: .1rem;
.iconfont {
font-size: 0.17rem;
color: #4271FF;
}
}
}
}
}
</style>

View File

@ -0,0 +1,59 @@
<!--
* @Author: gtz
* @Date: 2022-07-28 10:22:30
* @LastEditors: gtz
* @LastEditTime: 2022-07-28 15:29:27
* @Description: file content
* @FilePath: \hf-pda\src\pages\eqInspection\components\eqPopup.vue
-->
<template>
<van-popup v-model="show" position="bottom" class="eqPopup">
<van-picker
title="标题"
show-toolbar
:columns="showEqList"
@confirm="onConfirm"
@cancel="onCancel"
/>
</van-popup>
</template>
<script>
export default {
name: 'eqPopup',
props: {
eqList: {
type: Array,
default: () => []
}
},
data () {
return {
show: false
}
},
computed: {
showEqList: function () {
return this.eqList.map(item => {
return item.name
})
}
},
methods: {
init () {
this.show = true
},
onConfirm (val, index) {
this.$emit('changeEq', index)
this.show = false
},
onCancel () {
this.show = false
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,78 @@
<!--
* @Author: gtz
* @Date: 2022-07-28 10:22:30
* @LastEditors: gtz
* @LastEditTime: 2022-07-28 17:26:08
* @Description: file content
* @FilePath: \hf-pda\src\pages\eqInspection\components\timePopup.vue
-->
<template>
<van-calendar
class="timePopup"
v-model="show"
type="range"
:min-date="minDate"
:default-date="defaultDate"
@confirm="onConfirm"
/>
</template>
<script>
import moment from 'moment'
export default {
props: {
defaultDate: {
type: Array,
default: () => {
return [new Date(), new Date() + 86400000]
}
}
},
name: 'timePopup',
data () {
return {
show: false,
date: null,
minDate: new Date(2020, 1, 1)
}
},
methods: {
init () {
this.show = true
},
formatDate (date) {
return moment(date).format('YYYY-MM-DDTHH:mm:ss')
},
onConfirm (date) {
const [start, end] = date
this.show = false
this.date = [
this.formatDate(start - (start.valueOf() + 28800000) % 86400000),
this.formatDate(end - (start.valueOf() + 28800000) % 86400000 + 86399000)
]
this.$emit('changeDate', this.date)
}
}
}
</script>
<style lang="scss">
.timePopup {
.van-calendar__day--start, .van-calendar__day--end {
background-color: #4271FF;
}
.van-calendar__day--middle::after {
background-color: transparent;
}
.van-calendar__day--middle {
background: rgba($color: #4271FF, $alpha: .2);
color: #fff;
}
.van-button--danger {
color: #fff;
background-color: #4271FF;
border: 0.02rem solid #4271FF;
}
}
</style>

View File

@ -15,19 +15,63 @@
<!-- 信息列表主体 --> <!-- 信息列表主体 -->
<!-- 搜索区域 --> <!-- 搜索区域 -->
<div class="eq-search"> <div class="eq-search">
<div class="eq-search-back"></div> <div class="eq-search-back" />
<div class="eq-search-main"></div> <div class="eq-search-main">
<van-row class="eq-search-item">
<van-col :span="7" class="eq-search-item-lable">设备名称</van-col>
<van-col :span="15" :offset="1" class="eq-search-item-input">
<van-field
v-model="eqName"
right-icon="arrow-down"
disabled
placeholder="请选择设备"
@click="handleEqSelect"
/>
</van-col>
</van-row>
<van-row class="eq-search-item">
<van-col :span="7" class="eq-search-item-lable">时间段</van-col>
<van-col :span="15" :offset="1" class="eq-search-item-input">
<van-field
v-model="timeStr"
right-icon="rili"
icon-prefix="iconfont"
disabled
placeholder="请选择时间段"
@click="handleTimeSelect"
/>
</van-col>
</van-row>
<van-row class="eq-search-btn">
<van-col :span="9" :offset="1">
<van-button class="eq-search-btn-item eq-search-btn-left" round>扫描新增</van-button>
</van-col>
<van-col :span="12" :offset="1">
<van-button class="eq-search-btn-item eq-search-btn-right" round @click="getDataList"> </van-button>
</van-col>
</van-row>
</div>
</div>
<div class="eq-list">
<eq-item v-for="item in dataList" :inject-data="item" :key="item.id" />
</div> </div>
<water-fall @click.native="getMore" :isOver="isOver"></water-fall> <water-fall @click.native="getMore" :isOver="isOver"></water-fall>
</van-pull-refresh> </van-pull-refresh>
<time-popup ref="timePopup" :default-date="timeSlot" @changeDate="changeDate" />
<eq-popup ref="eqPopup" :eq-list="eqList" @changeEq="changeEq" />
</div> </div>
</template> </template>
<script> <script>
import { list, eqList } from '@/api/eqInspection' import { list, eqList } from '@/api/eqInspection'
import timePopup from './components/timePopup.vue'
import eqPopup from './components/eqPopup.vue'
import eqItem from './components/eqItem.vue'
import moment from 'moment'
export default { export default {
name: 'eqInspection', name: 'eqInspection',
components: { timePopup, eqPopup, eqItem },
data () { data () {
return { return {
queryList: { queryList: {
@ -41,35 +85,38 @@ export default {
isOver: true, isOver: true,
dataList: [], dataList: [],
eqList: [], eqList: [],
dataOption: {} dataOption: {},
eqName: null,
timeSlot: [],
timeStr: null
} }
}, },
mounted () { mounted () {
this.getDataList() this.getDataList()
this.getEqList() this.getEqList()
document.querySelector('.eq-main').addEventListener('scroll', this.handleScroll, true) document.querySelector('.eq-main').addEventListener('scroll', this.handleScroll, true)
// // //
// window.history.pushState(null, null, document.URL) window.history.pushState(null, null, document.URL)
// // windowpopstatethis.onBrowserBackaddEventListener // windowpopstatethis.onBrowserBackaddEventListener
// window.addEventListener('popstate', this.onBrowserBack, false) window.addEventListener('popstate', this.onBrowserBack, false)
},
destroyed () {
window.removeEventListener('popstate', this.onBrowserBack, false)
document.querySelector('.eq-main').removeEventListener('scroll', this.handleScroll, false)
}, },
// destroyed () {
// window.removeEventListener('popstate', this.onBrowserBack, false)
// document.querySelector('.ol-main').removeEventListener('scroll', this.handleScroll, false)
// },
methods: { methods: {
// //
// onBrowserBack () { onBrowserBack () {
// if (this.show || this.showItem || this.showTypeId || this.showTypeCode) { if (this.eqVisable || this.timeVisable) {
// this.show = false this.eqVisable = false
// this.showItem = false this.timeVisable = false
// this.showTypeId = false window.history.pushState(null, null, document.URL)
// this.showTypeCode = false } else {
// window.history.pushState(null, null, document.URL) this.$router.push({
// } else { name: 'index'
// this.$router.goBack() })
// } }
// }, },
// //
handleScroll () { handleScroll () {
let clientHeight = document.documentElement.clientHeight // let clientHeight = document.documentElement.clientHeight //
@ -102,7 +149,7 @@ export default {
if (result.success) { if (result.success) {
this.dataList = result.data.records this.dataList = result.data.records
this.dataOption = result.data this.dataOption = result.data
if (this.dataOption.total === this.queryList.current) { if (this.dataOption.total / 10 <= this.queryList.current) {
this.isOver = false this.isOver = false
} else { } else {
this.isOver = true this.isOver = true
@ -118,7 +165,9 @@ export default {
current: 1, current: 1,
size: 999 size: 999
}) })
console.log(result) if (result.success) {
this.eqList = result.data
}
}, },
// //
onChange (v) { onChange (v) {
@ -126,14 +175,55 @@ export default {
}, },
// //
onClickLeft () { onClickLeft () {
this.$router.goBack() this.$router.push({
name: 'index'
})
},
//
resetQuery () {
this.queryList = {
current: 1,
endTime: '',
equipmentId: '',
size: 10,
startTime: ''
}
this.eqName = null
this.timeStr = null
this.timeSlot = []
}, },
// //
async onRefresh () { async onRefresh () {
this.queryList.current = 1 this.resetQuery()
await this.getDataList() await this.getDataList()
this.$toast.success('刷新成功') this.$toast.success('刷新成功')
this.isLoading = false this.isLoading = false
},
//
handleEqSelect () {
this.$nextTick(() => {
this.$refs.eqPopup.init()
})
},
//
handleTimeSelect () {
this.$nextTick(() => {
this.$refs.timePopup.init()
})
},
//
changeDate (date) {
if (date && date.length) {
this.timeStr = `${moment(date[0]).format('YYYY/MM/DD')}-${moment(date[1]).format('YYYY/MM/DD')}`
this.queryList.startTime = date[0]
this.queryList.endTime = date[1]
this.timeSlot = [new Date(date[0]), new Date(date[1])]
}
},
//
changeEq (index) {
this.eqName = this.eqList[index].name
this.queryList.equipmentId = this.eqList[index].id
} }
} }
} }
@ -173,6 +263,13 @@ export default {
width: 100%; width: 100%;
height: 3.625rem; height: 3.625rem;
position: relative; position: relative;
.iconfont {
font-size: .5rem;
position: relative;
top: .05rem;
left: .09rem;
color: #0B58FF;
}
.eq-search-back { .eq-search-back {
position: absolute; position: absolute;
top: 0; top: 0;
@ -183,13 +280,70 @@ export default {
} }
.eq-search-main { .eq-search-main {
position: relative; position: relative;
padding-top: .125rem;
width: 94%; width: 94%;
margin-left: 3%; margin-left: 3%;
height: 3.625rem; height: 3.5rem;
border-radius: .25rem; border-radius: .25rem;
background: #fff; background: #fff;
box-shadow: .02rem .02rem .1rem rgba($color: #000000, $alpha: .2); box-shadow: .02rem .02rem .1rem rgba($color: #000000, $alpha: .2);
input::-webkit-input-placeholder {
color: #131415;
font-size: .375rem;
}
input:-moz-placeholder {
color: #131415;
font-size: .375rem;
}
input::-moz-placeholder {
color: #131415;
font-size: .375rem;
}
input:-ms-input-placeholder {
color: #131415;
font-size: .375rem;
}
} }
.eq-search-item {
padding-top: .25rem;
line-height: .875rem;
.eq-search-item-lable {
text-align: right;
font-size: .375rem;
}
.van-cell {
padding: 0 .25rem;
height: .875rem;
background: #F6F6F6;
border-radius: .1875rem;
.van-field__body {
height: .875rem;
.van-field__control {
height: .875rem;
}
}
}
}
.eq-search-btn {
margin-top: .25rem;
.eq-search-btn-item {
width: 100%;
font-size: .375rem;
}
.eq-search-btn-left {
color: #42D1A5;
border: 0.02rem solid #42D1A5;
}
.eq-search-btn-right {
color: #fff;
background: #4271FF;
border: 0.02rem solid #4271FF;
}
}
}
.eq-list {
width: 94%;
padding: 0 3%;
} }
} }
</style> </style>

View File

@ -1,171 +0,0 @@
const cols = [
{
title: '序号',
key: 'index',
align: 'center',
width: 0
},
{
title: '品名(品号)',
key: 'productName',
align: 'center',
width: 120
},
{
title: '品名(料号)',
key: 'partName',
align: 'center',
width: 120
},
{
title: '规格',
key: 'specification',
align: 'center',
width: 120
},
{
title: '密度',
key: 'density',
align: 'center',
width: 120
},
{
title: '门幅',
key: 'larghezza',
align: 'center',
width: 120
},
{
title: '品号',
key: 'productCode',
align: 'center',
width: 120
},
{
title: '料号',
key: 'itemCode',
align: 'center',
width: 120
},
{
title: '分类',
key: 'sort',
align: 'center',
width: 120
},
{
title: '克重',
key: 'grammage',
align: 'center',
width: 120
},
{
title: '市场报价',
key: 'marketPrice',
align: 'center',
width: 120
},
{
title: '加工方式',
key: 'processingMode',
align: 'center',
width: 120
},
{
title: '一阶大类',
key: 'firstLargeClass',
align: 'center',
width: 120
},
{
title: '添加时间',
key: 'createTime',
align: 'center',
width: 120
},
{
title: '厂商编码',
key: 'supplierCodename',
align: 'center',
width: 120
},
{
title: '品质',
key: 'quality',
align: 'center',
width: 120
},
{
title: '等级',
key: 'dominant',
align: 'center',
width: 120
},
{
title: '颜色',
key: 'colorCode',
align: 'center',
width: 120
},
{
title: '原料',
key: 'stockProduct',
align: 'center',
width: 120
},
{
title: '组织',
key: 'tissue',
align: 'center',
width: 120
},
{
title: '仓库数量',
key: 'wareNum',
align: 'center',
width: 120
},
{
title: '厂商库存',
key: 'factureInventory',
align: 'center',
width: 120
},
{
title: '材料成本价',
key: 'costPrice',
align: 'center',
width: 120
},
{
title: '描述信息',
key: 'description',
align: 'center',
width: 120
},
{
title: '定做时间(天)',
key: 'sustomMadeTime',
align: 'center',
width: 120
},
{
title: '是否现货',
key: 'isSpot',
align: 'center',
width: 120
},
{
title: '是否开票',
key: 'isBilling',
align: 'center',
width: 120
},
{
title: '备注',
key: 'remark',
align: 'center',
width: 120
}
]
export default cols