gjy před 4 roky
rodič
revize
18545506e8

+ 1 - 1
public/index.html

@@ -15,7 +15,7 @@
 <!-- 如果有安装 Google Chrome Frame 插件则强制为Chromium内核,否则强制本机支持的最高版本IE内核,作用于IE浏览器 -->
   <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
   <link rel="icon" href="<%= BASE_URL %>logo.ico">
-  <title>WinSea | 企业管理后台</title>
+  <title>易粮易运</title>
 </head>
 
 <body>

binární
src/static/images/page/login/logo.png


+ 539 - 0
src/static/images/page/logo/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;
+}

+ 207 - 0
src/static/images/page/logo/demo_index.html

@@ -0,0 +1,207 @@
+<!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>
+      
+    </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">&#xe605;</span>
+                <div class="name">易粮易运</div>
+                <div class="code-name">&amp;#xe605;</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.ttf?t=1620364525435') format('truetype');
+}
+</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 icon-yiliangyiyun"></span>
+            <div class="name">
+              易粮易运
+            </div>
+            <div class="code-name">.icon-yiliangyiyun
+            </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 icon-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="#icon-yiliangyiyun"></use>
+                </svg>
+                <div class="name">易粮易运</div>
+                <div class="code-name">#icon-yiliangyiyun</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>

+ 17 - 0
src/static/images/page/logo/iconfont.css

@@ -0,0 +1,17 @@
+@font-face {
+  font-family: "iconfont"; /* Project id  */
+  src: url('iconfont.ttf?t=1620364525435') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-yiliangyiyun:before {
+  content: "\e605";
+}
+

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
src/static/images/page/logo/iconfont.js


+ 16 - 0
src/static/images/page/logo/iconfont.json

@@ -0,0 +1,16 @@
+{
+  "id": "",
+  "name": "",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "21430593",
+      "name": "易粮易运",
+      "font_class": "yiliangyiyun",
+      "unicode": "e605",
+      "unicode_decimal": 58885
+    }
+  ]
+}

binární
src/static/images/page/logo/iconfont.ttf


+ 2 - 193
src/views/check-flow/listenerId.js

@@ -1,198 +1,7 @@
 export default function getListenerIdFromBusinessCode (businessCode) {
   switch (businessCode) {
-    case 'CREW-TRAINING':
-      return 'trainingListener';
-    case 'CREW-DISEMBARKATION-EVALUATION':
-      return 'disembarkationListener';
-    case 'CREW-EVALUATION':
-      return 'evaluationListener';
-    case 'CREW-SALARY':
-      return 'salarySettlementListener';
-    case 'CREW-INTERVIEW':
-      return 'interviewListener';
-    case 'FINANCE-DEPTBUDGET':
-      return 'deptBudgetListener';
-    case 'FINANCE-MONTHBUDGET':
-      return 'monthBudgetListener';
-    case 'CREW-BATCHSHIFTS':
-      return 'batchShiftsListener';
-    case 'FINANCE-PAYMENTAFTER':
-      return 'paymentAfterListener';
-    case 'FINANCE-TRAVELEXPENSES':
-      return 'travelExpensesListener';
-    case 'FINANCE-PAYMENT':
-      return 'paymentListener';
-    case 'FINANCE-REIMBURSEMENT':
-      return 'reimbursementListener';
-    case 'PURCHASE-SP-APPL':
-      return 'purSpApplInfoListener';
-    case 'PURCHASE-SP-PARITY':
-      return 'purSpParityInfoListener';
-    case 'PURCHASE-MA-PARITY':
-      return 'purMaParityInfoListener';
-    case 'PURCHASE-MAP-APPL':
-      return 'purMapApplInfoListener';
-    case 'PURCHASE-MAP-PARITY':
-      return 'purMapParityInfoListener';
-    case 'PURCHASE-MA-APPL':
-      return 'purMaApplInfoListener';
-    case 'PURCHASE-SP-PURCHAS':
-      return 'purSpPurchasInfoListener';
-    case 'PURCHASE-SP-BILL':
-      return 'purSpBillInfoListener';
-    case 'PURCHASE-MA-PURCHAS':
-      return 'purMaPurchasInfoListener';
-    case 'PURCHASE-MA-BILL':
-      return 'purMaBillInfoListener';
-    case 'PURCHASE-MAP-PURCHAS':
-      return 'purMapPurchasInfoListener';
-    case 'PURCHASE-MAP-BILL':
-      return 'purMapBillInfoListener';
-    case 'CREW-EVALUATE-YEAR-WARK':
-      return 'evaluationListener';
-    case 'CREW-TRAINING-YEAR-DEMAND':
-      return 'trainingDemandListener';
-    case 'CREW-TRAINING-YEAR-PLAN':
-      return 'trainingPlanListener';
-    case 'CREW-TRAINING-RECORD':
-      return 'trainingRecordListener';
-    case 'INS-INCOMPATIBLE-REPORT':
-      return 'incompatibleReportListener';
-    case 'NAVIGATION-APPLY':
-      return 'navigationApplyPurListener';
-    case 'ISM-SYSTEM-OPERATION':
-      return 'operationInfoListener';
-    case 'CREW-INTERVIEW-BACK-FLOW':
-      return 'interviewBackListener';
-    case 'CREW-SYSTEM-TRAINING':
-      return 'syetemTrainingListener';
-    case 'CREW-ASSESS-TRAINING':
-      return 'assessTrainingListener';
-    case 'CREW-EVALUATE-MIDDLE':
-      return 'middleEvalListener';
-    case 'REPAIR-VOYAGE-APPL':
-      return 'voyageRepairApplyListener';
-    case 'REPAIR-VOYAGE-BUDGET':
-      return 'voyageRepairBudgetListener';
-    case 'REPAIR-VOYAGE-ACCEPTANCE':
-      return 'voyageRepairAcceptanceListener';
-    case 'REPAIR-VOYAGE-SETTLEMENT':
-      return 'voyageRepairSettlementListener';
-    case 'INS-SHIPSELF-INSPECTION-REPORT':
-      return 'shipSelfInspectionListener';
-    case 'INS-SHIPPSC-INSPECTION-REPORT':
-      return 'shipPscInspectionListener';
-    case 'INS-SHIPFSC-INSPECTION-REPORT':
-      return 'shipFscInspectionListener';
-    case 'SERVICER-MERCHANT-ADD':
-      return 'servicerMerchantInfoListener';
-    case 'REPAIR-SELF-SETTLEMENT':
-      return 'selfRepairSettlementListener';
-    case 'INS-VISIT-SHIP':
-      return 'visitShipListener';
-    case 'ISM-COMP-INS-REPORT':
-      return 'shipCompanyInspectionListener';
-    case 'REPAIR-YEAR-PLAN':
-      return 'annualPlanListener';
-    case 'REPAIR-QUALITY-FEEDBACK':
-      return 'qualityFeedbackListener';
-    case 'REPAIR-YARD-BUDGET':
-      return 'repairYardBudgetListener';
-    case 'REPAIR-YARD-APPLY':
-      return 'repairYardApplyListener';
-    case 'REPAIR-YARD-PROJECT':
-      return 'repairYardProjectListener';
-    case 'REPAIR-YARD-ACCEPTANCE':
-      return 'repairYardAcceptanceListener';
-    case 'CREW-SINGLE-PRE-JOB-TRAINING':
-      return 'singlePreJobTrainingListener';
-    case 'MONITOR-VOYAGE-PLAN':
-      return 'voyagePlanListener';
-    case 'FINANCE-PAYWATER':
-      return 'paymentWaterListener';
-    case 'FINANCE-YEARBUDGET':
-      return 'yearBudgetListener';
-    case 'FINANCE-MIDYEARBUDGET':
-      return 'midYearBudgetListener';
-    case 'OIL-MONTHLY-CONSUMPTION-APPROVE':
-      return 'oilMonthlyConsumptionInfoListener';
-    case 'OIL-VOYAGE-CONSUMPTION-APPROVE':
-      return 'oilVoyageConsumptionInfoListener';
-    case 'OIL-APPLY-APPROVE':
-      return 'oilApplyListener';
-    case 'OIL-BUNKERING-REPORT-APPROVE':
-      return 'oilBunkeringReportListener';
-    case 'OIL-FEEDBACK-APPROVE':
-      return 'oilFeedbackListener';
-    case 'MATERIEL-FEEDBACK-WORKFLOW':
-      return 'materielFeedbackListener';
-    case 'SPAREPART-FEEDBACK-WORKFLOW':
-      return 'sparepartFeedbackListener';
-    case 'ISM-SELFFY-INS-REPORT':
-      return 'shipSelfFyInspectionListener';
-    case 'ISM-INC-STUA-REPORT':
-      return 'incompatibleSituationListener';
-    case 'SPAREPART-TRANSACTION-WORKFLOW':
-      return 'sparepartOutStockListener';
-    case 'ISM-SITE-SUPERVISION-REPORT':
-      return 'siteSupervisionInspectionListener';
-    case 'CREW-MONTH-EVALUATE':
-      return 'monthEvalListener';
-    case 'CREW-FY-EVALUATE-MIDDLE':
-      return 'middleEvalFYListener';
-    case 'ISM-THIRD-INSPECTION-REPORT':
-      return 'thirdInspectionListener';
-    case 'CREW-PERFORMANCE-WORKFLOW':
-      return 'performanceManagementListener';
-    case 'ISM-FSCXT-INSPECTION-REPORT':
-      return 'shipFscXtInspectionListener';
-    case 'ISM-SELFXT-INS-REPORT':
-      return 'shipSelfXtInspectionListener';
-    case 'ISM-INTERNAL-AUDIT-PLAN':
-      return 'internalAuditPlanListener';
-    case 'ISM-INTERNAL-AUDIT-REPORT-B':
-      return 'internalAuditReportBListener';
-    case 'ISM-INTERNAL-AUDIT-REPORT-V':
-      return 'internalAuditReportVListener';
-    case 'ISM-DISCREPANCY-REPORT':
-      return 'discrepancyReportListener';
-    case 'ISM-DEFECT-REPORT':
-      return 'defectReportListener';
-    case 'ISM-VISIT-VESSEL-PLAN':
-      return 'visitVesselPlanListener';
-    case 'ISM-VISIT-VESSEL-REPORT':
-      return 'visitVesselReportListener';
-    case 'SPAREPART-SP-APPL':
-      return 'sparepartApplInfoListener';
-    case 'SPAREPART-SP-CHECK':
-      return 'sparepartCheckInfoListener';
-    case 'MATERIEL-MAT-APPL':
-      return 'materielApplInfoListener';
-    case 'MATERIEL-MAT-CHECK':
-      return 'materielCheckInfoListener';
-    case 'ISM-DANGER-REPORT':
-      return 'dangerReportListener';
-    case 'ISM-FIVE-YEAR-PLAN':
-      return 'fiveYearPlanListener';
-    case 'ISM-YEARTH-PLAN':
-      return 'yearthPlanListener';
-    case 'ISM-EXERCISE-PLAN':
-      return 'exercisePlanListener';
-    case 'ISM-EXERCISE-RECORD':
-      return 'exerciseRecordListener';
-    case 'ISM-EXTERNAL-AUDIT-REPORT':
-      return 'externalAuditReportListener';
-    case 'ISM-VESSEL-EXERCISE-PLAN':
-      return 'shipExercisePlanListener';
-    case 'ISM-DANGER-STATISTICS':
-      return 'dangerStatisticsInfoListener';
-    case 'PURCHASE-SP-PURCHAS':
-      return 'purSpPurchasInfoListener'
-    case 'PURCHASE-MA-PURCHAS':
-      return 'purMaPurchasInfoListener'
-    // 海图采购
-    case 'PURCHASE-MAP-PURCHAS':
-      return ''
+	  case 'INOUTTASK-TASK-APPROVE':
+	  return 'inOutWharehoseTaskListener'
     default:
       return null;
 

+ 8 - 4
src/views/login/index.vue

@@ -8,7 +8,8 @@
       <div class="login-right">
         <div class="login-header">
           <div class="header-box">
-            <img src="../../static/images/page/login/logoWinsea.png" />
+            <span class="iconfont icon-yiliangyiyun"></span>
+  
             <p>管理后台</p>
           </div>
         </div>
@@ -57,7 +58,7 @@
       </div>
     </div>
     <div class="login-footer">
-      <p class="copyright">Copyright © 大连海大赢海科技有限公司版权所有 CP备案号 : 辽ICP备13007766号-6</p>
+      <!-- <p class="copyright">Copyright © 大连海大赢海科技有限公司版权所有 CP备案号 : 辽ICP备13007766号-6</p> -->
     </div>
 
     <!--忘记密码消息弹框盒子-->
@@ -129,7 +130,7 @@ import { setToken } from '../../utils/auth';
 import { sendMsg } from '../../api/businessSettings/businessSettings';
 import { userType } from '../../api/user';
 import Cookies from "js-cookie";
-
+import "../../static/images/page/logo/iconfont.css";
 export default {
   name: 'Login',
   filters: {
@@ -465,6 +466,10 @@ export default {
 };
 </script>
 <style scoped lang="scss">
+.icon-yiliangyiyun{
+color:#fff;
+font-size:36px;
+}
 .icon-user {
   position: relative;
 }
@@ -595,7 +600,6 @@ export default {
       align-items: center;
       p {
         color: #ffffff;
-        padding-top: 13px;
         padding-left: 10px;
         font-size: 16px;
       }

+ 19 - 18
src/views/organizationNew/shoreMemberAdd.vue

@@ -146,7 +146,7 @@
           <span class="operaction"
                 @click="setwork">设置</span>
         </div>
-       <div class="lastspan">
+       <!-- <div class="lastspan">
           <span class="star font">关联船舶</span>
           <div class="ontent"
                style="width: 800px;">
@@ -158,7 +158,7 @@
                   class="operaction shipSelectSet"
                   @click="setChargeShip">设置</span>
           </div>
-        </div>
+        </div> -->
         <div style="display:flex">
           <span class=" font">兼职职务</span>
           <span class="operaction"
@@ -566,7 +566,7 @@ export default {
             major: "1"
           }
         ],
-        vessels: [],
+        vessels: [{vesselId:'e88a798337c14cd7b8e0dfe7f9efdf5a',vesselName:'试用船舶'}],
         roleVesselIds: []
       },
       rules: {
@@ -1351,21 +1351,22 @@ export default {
         if (valid) {
           debugger
           if (this.ruleForm.roles.length !== 0)
-            if (this.ruleForm.roles[0].roleId === "" || this.zhiwu1.roleName === null) {
-              this.$message({
-                type: "warning",
-                message: "请先设置职务!",
-                showClose: true
-              });
-              return false;
-            } else if (this.ruleForm.vessels.length === 0) {
--              this.$message({
--                type: "warning",
--                message: "请先设置关联船舶!",
--                showClose: true
--              });
--              return false;
-             }
+                      if (this.ruleForm.roles[0].roleId === "" || this.zhiwu1.roleName === null) {
+                        this.$message({
+                          type: "warning",
+                          message: "请先设置职务!",
+                          showClose: true
+                        });
+                        return false;
+                      }
+                      // else if (this.ruleForm.vessels.length === 0) {
+                      //   this.$message({
+                      //     type: "warning",
+                      //     message: "请先设置关联船舶!",
+                      //     showClose: true,
+                      //     });
+                      //     return false;
+                      //  }
           this.loading = true;
           this.getSelectLabel();
           if (this.id) {

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů