Browse Source

前端孟祥旭

mxx 4 năm trước cách đây
mục cha
commit
adce4642e5
58 tập tin đã thay đổi với 4503 bổ sung852 xóa
  1. 1 1
      .env.production
  2. BIN
      public/img/icons/apple-touch-icon-152x152.png
  3. BIN
      public/img/icons/favicon-16x16.png
  4. BIN
      public/img/icons/favicon-32x32.png
  5. BIN
      public/img/icons/winseaLogo-152x152.png
  6. BIN
      public/img/icons/winseaLogo-33x33.png
  7. BIN
      public/img/icons/winseaLogo_144x144.png
  8. BIN
      public/img/icons/winseaLogo_16x16.png
  9. 3 2
      public/index.html
  10. 539 0
      public/static/iconfont/demo.css
  11. 349 0
      public/static/iconfont/demo_index.html
  12. 0 3
      public/static/iconfont/iconfont.css
  13. BIN
      public/static/iconfont/iconfont.eot
  14. 0 0
      public/static/iconfont/iconfont.js
  15. 58 0
      public/static/iconfont/iconfont.json
  16. BIN
      public/static/iconfont/iconfont.ttf
  17. BIN
      public/static/iconfont/iconfont.woff
  18. BIN
      public/static/iconfont/iconfont.woff2
  19. 539 0
      public/static/sidebar/demo.css
  20. 349 0
      public/static/sidebar/demo_index.html
  21. 43 0
      public/static/sidebar/iconfont.css
  22. 0 0
      public/static/sidebar/iconfont.js
  23. 58 0
      public/static/sidebar/iconfont.json
  24. BIN
      public/static/sidebar/iconfont.ttf
  25. BIN
      public/static/sidebar/iconfont.woff
  26. BIN
      public/static/sidebar/iconfont.woff2
  27. 11 1
      src/api/V2/taskspost/index.js
  28. 3 1
      src/lang/zh.js
  29. 4 3
      src/layout/index/logo.vue
  30. 1 0
      src/layout/index/sidebar/sidebarItem.vue
  31. 1 1
      src/layout/index/top/index.vue
  32. 16 1
      src/model/tasksport/index.js
  33. 2 2
      src/router/index.js
  34. 1 1
      src/views/contractManagement/component/routers/route.js
  35. 6 1
      src/views/contractManagement/purchaseContract.vue
  36. 6 1
      src/views/contractManagement/salesContract.vue
  37. 21 5
      src/views/taskManagement/component/routers/route.js
  38. 0 1
      src/views/taskManagement/inOutWarehouseTaskEdit.vue
  39. 115 166
      src/views/taskManagement/moveWarehouseTask.vue
  40. 263 400
      src/views/taskManagement/moveWarehouseTaskLook.vue
  41. 5 1
      src/views/taskManagement/tranManagementLook.vue
  42. 50 22
      src/views/taskManagement/tranManagementTransport.vue
  43. 117 12
      src/views/taskManagement/tranManagementTransportAdd.vue
  44. 61 24
      src/views/taskManagement/tranManagementTransportEdit.vue
  45. 54 55
      src/views/taskManagement/tranManagementWarehouseInOutTask.vue
  46. 46 22
      src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue
  47. 1515 0
      src/views/taskManagement/tranManagementWarehouseInOutTaskAudit.vue
  48. 17 6
      src/views/taskManagement/tranManagementWarehouseInOutTaskEdit.vue
  49. 1 1
      src/views/tranManagement/component/routers/route.js
  50. 30 8
      src/views/tranManagement/tranManagementDriver.vue
  51. 46 18
      src/views/tranManagement/tranManagementReceivingFeedback.vue
  52. 39 19
      src/views/tranManagement/tranManagementShipping.vue
  53. 44 19
      src/views/tranManagement/tranManagementTransporHairRespond.vue
  54. 30 27
      src/views/tranManagement/tranManagementTransporTationFire.vue
  55. 41 20
      src/views/tranManagement/tranManagementVehicle.vue
  56. 1 1
      src/views/warehouse/component/router/index.js
  57. 13 4
      src/views/warehouse/warehouseManagementList.vue
  58. 4 3
      vue.config.js

+ 1 - 1
.env.production

@@ -4,7 +4,7 @@
 
 NODE_ENV = 'production'
 # base api
-VUE_APP_BASE_API = 'http://api.eliangeyun.com/'
+VUE_APP_BASE_API = 'http://api.zthymaoyi.com/'
 
 # 微服务相关接口配置
 ## 任务消息

BIN
public/img/icons/apple-touch-icon-152x152.png


BIN
public/img/icons/favicon-16x16.png


BIN
public/img/icons/favicon-32x32.png


BIN
public/img/icons/winseaLogo-152x152.png


BIN
public/img/icons/winseaLogo-33x33.png


BIN
public/img/icons/winseaLogo_144x144.png


BIN
public/img/icons/winseaLogo_16x16.png


+ 3 - 2
public/index.html

@@ -8,18 +8,19 @@
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
   <!-- 强制Chromium内核,作用于360浏览器、QQ浏览器等国产双核浏览器 -->
   <meta name="renderer" content="webkit" />
-  <link rel="icon" href="<%= BASE_URL %>logo.ico">
+  <link rel="icon" href="<%= BASE_URL %>/logo.ico">
   <!-- 强制Chromium内核,作用于其他双核浏览器 -->
   <meta name="force-rendering" content="webkit" />
 
   <!-- 如果有安装 Google Chrome Frame 插件则强制为Chromium内核,否则强制本机支持的最高版本IE内核,作用于IE浏览器 -->
   <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
   <link rel="manifest" href="<%= BASE_URL %>/manifest.json" />
-  <link rel="icon" href="<%= BASE_URL %>logo.ico">
+  <link rel="icon" href="<%= BASE_URL %>/logo.ico">
   <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css[process.env.VUE_APP_PACKAGE_ENV]) { %>
       <link href="<%= htmlWebpackPlugin.options.cdn.css[process.env.VUE_APP_PACKAGE_ENV][i] %>" rel="stylesheet">
   <% } %>
   <title>易粮易运</title>
+  <link rel="icon" href="<%= BASE_URL %>/logo.ico">
   <% if (process.env.NODE_ENV === 'production') { %>
     <script>
     !(function(c,i,e,b){var h = i.createElement("script");var f = i.getElementsByTagName("script")[0];h.type = "text/javascript";h.crossorigin = true;h.onload = function(){try {c[b]||(c[b] = new c.wpkReporter({bid: 'qj3rmxes-10jz7agi',spa: true,  plugins: []}));c[b].installAll();} catch (e) {console.error('init wpkReporter fail', e);}};f.parentNode.insertBefore(h, f);h.src = e})(window, document, "https://g.alicdn.com/woodpeckerx/jssdk??wpkReporter.js", "__wpk");

+ 539 - 0
public/static/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;
+}

+ 349 - 0
public/static/iconfont/demo_index.html

@@ -0,0 +1,349 @@
+<!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=2554236" 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">&#xe609;</span>
+                <div class="name">yunshuguanli</div>
+                <div class="code-name">&amp;#xe609;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe601;</span>
+                <div class="name">hetong</div>
+                <div class="code-name">&amp;#xe601;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe602;</span>
+                <div class="name">index</div>
+                <div class="code-name">&amp;#xe602;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe603;</span>
+                <div class="name">shouqi</div>
+                <div class="code-name">&amp;#xe603;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe604;</span>
+                <div class="name">zhankai</div>
+                <div class="code-name">&amp;#xe604;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe606;</span>
+                <div class="name">cangku</div>
+                <div class="code-name">&amp;#xe606;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe607;</span>
+                <div class="name">renwuguanli</div>
+                <div class="code-name">&amp;#xe607;</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.woff2?t=1625617801377') format('woff2'),
+       url('iconfont.woff?t=1625617801377') format('woff'),
+       url('iconfont.ttf?t=1625617801377') 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-yunshu2"></span>
+            <div class="name">
+              yunshuguanli
+            </div>
+            <div class="code-name">.icon-yunshu2
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-hetongguanli"></span>
+            <div class="name">
+              hetong
+            </div>
+            <div class="code-name">.icon-hetongguanli
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-index-copy"></span>
+            <div class="name">
+              index
+            </div>
+            <div class="code-name">.icon-index-copy
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shouqi"></span>
+            <div class="name">
+              shouqi
+            </div>
+            <div class="code-name">.icon-shouqi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhankai"></span>
+            <div class="name">
+              zhankai
+            </div>
+            <div class="code-name">.icon-zhankai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-cangkubeifen"></span>
+            <div class="name">
+              cangku
+            </div>
+            <div class="code-name">.icon-cangkubeifen
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-renwuguanli"></span>
+            <div class="name">
+              renwuguanli
+            </div>
+            <div class="code-name">.icon-renwuguanli
+            </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-yunshu2"></use>
+                </svg>
+                <div class="name">yunshuguanli</div>
+                <div class="code-name">#icon-yunshu2</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-hetongguanli"></use>
+                </svg>
+                <div class="name">hetong</div>
+                <div class="code-name">#icon-hetongguanli</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-index-copy"></use>
+                </svg>
+                <div class="name">index</div>
+                <div class="code-name">#icon-index-copy</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shouqi"></use>
+                </svg>
+                <div class="name">shouqi</div>
+                <div class="code-name">#icon-shouqi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhankai"></use>
+                </svg>
+                <div class="name">zhankai</div>
+                <div class="code-name">#icon-zhankai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-cangkubeifen"></use>
+                </svg>
+                <div class="name">cangku</div>
+                <div class="code-name">#icon-cangkubeifen</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-renwuguanli"></use>
+                </svg>
+                <div class="name">renwuguanli</div>
+                <div class="code-name">#icon-renwuguanli</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>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 3
public/static/iconfont/iconfont.css


BIN
public/static/iconfont/iconfont.eot


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
public/static/iconfont/iconfont.js


+ 58 - 0
public/static/iconfont/iconfont.json

@@ -0,0 +1,58 @@
+{
+  "id": "2554236",
+  "name": "易粮易运",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "22711544",
+      "name": "yunshuguanli",
+      "font_class": "yunshu2",
+      "unicode": "e609",
+      "unicode_decimal": 58889
+    },
+    {
+      "icon_id": "22700427",
+      "name": "hetong",
+      "font_class": "hetongguanli",
+      "unicode": "e601",
+      "unicode_decimal": 58881
+    },
+    {
+      "icon_id": "22700497",
+      "name": "index",
+      "font_class": "index-copy",
+      "unicode": "e602",
+      "unicode_decimal": 58882
+    },
+    {
+      "icon_id": "22700554",
+      "name": "shouqi",
+      "font_class": "shouqi",
+      "unicode": "e603",
+      "unicode_decimal": 58883
+    },
+    {
+      "icon_id": "22700576",
+      "name": "zhankai",
+      "font_class": "zhankai",
+      "unicode": "e604",
+      "unicode_decimal": 58884
+    },
+    {
+      "icon_id": "22700607",
+      "name": "cangku",
+      "font_class": "cangkubeifen",
+      "unicode": "e606",
+      "unicode_decimal": 58886
+    },
+    {
+      "icon_id": "22700672",
+      "name": "renwuguanli",
+      "font_class": "renwuguanli",
+      "unicode": "e607",
+      "unicode_decimal": 58887
+    }
+  ]
+}

BIN
public/static/iconfont/iconfont.ttf


BIN
public/static/iconfont/iconfont.woff


BIN
public/static/iconfont/iconfont.woff2


+ 539 - 0
public/static/sidebar/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;
+}

+ 349 - 0
public/static/sidebar/demo_index.html

@@ -0,0 +1,349 @@
+<!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=2554236" 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">&#xe601;</span>
+                <div class="name">hetong</div>
+                <div class="code-name">&amp;#xe601;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe602;</span>
+                <div class="name">index</div>
+                <div class="code-name">&amp;#xe602;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe603;</span>
+                <div class="name">shouqi</div>
+                <div class="code-name">&amp;#xe603;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe604;</span>
+                <div class="name">zhankai</div>
+                <div class="code-name">&amp;#xe604;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe605;</span>
+                <div class="name">yunshu</div>
+                <div class="code-name">&amp;#xe605;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe606;</span>
+                <div class="name">cangku</div>
+                <div class="code-name">&amp;#xe606;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe607;</span>
+                <div class="name">renwuguanli</div>
+                <div class="code-name">&amp;#xe607;</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.woff2?t=1625559958046') format('woff2'),
+       url('iconfont.woff?t=1625559958046') format('woff'),
+       url('iconfont.ttf?t=1625559958046') 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-hetongguanli"></span>
+            <div class="name">
+              hetong
+            </div>
+            <div class="code-name">.icon-hetongguanli
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-index-copy"></span>
+            <div class="name">
+              index
+            </div>
+            <div class="code-name">.icon-index-copy
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shouqi"></span>
+            <div class="name">
+              shouqi
+            </div>
+            <div class="code-name">.icon-shouqi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhankai"></span>
+            <div class="name">
+              zhankai
+            </div>
+            <div class="code-name">.icon-zhankai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yunshu"></span>
+            <div class="name">
+              yunshu
+            </div>
+            <div class="code-name">.icon-yunshu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-cangkubeifen"></span>
+            <div class="name">
+              cangku
+            </div>
+            <div class="code-name">.icon-cangkubeifen
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-renwuguanli"></span>
+            <div class="name">
+              renwuguanli
+            </div>
+            <div class="code-name">.icon-renwuguanli
+            </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-hetongguanli"></use>
+                </svg>
+                <div class="name">hetong</div>
+                <div class="code-name">#icon-hetongguanli</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-index-copy"></use>
+                </svg>
+                <div class="name">index</div>
+                <div class="code-name">#icon-index-copy</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shouqi"></use>
+                </svg>
+                <div class="name">shouqi</div>
+                <div class="code-name">#icon-shouqi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhankai"></use>
+                </svg>
+                <div class="name">zhankai</div>
+                <div class="code-name">#icon-zhankai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yunshu"></use>
+                </svg>
+                <div class="name">yunshu</div>
+                <div class="code-name">#icon-yunshu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-cangkubeifen"></use>
+                </svg>
+                <div class="name">cangku</div>
+                <div class="code-name">#icon-cangkubeifen</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-renwuguanli"></use>
+                </svg>
+                <div class="name">renwuguanli</div>
+                <div class="code-name">#icon-renwuguanli</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>

+ 43 - 0
public/static/sidebar/iconfont.css

@@ -0,0 +1,43 @@
+@font-face {
+  font-family: "iconfont"; /* Project id 2554236 */
+  src: url('iconfont.woff2?t=1625559958046') format('woff2'),
+       url('iconfont.woff?t=1625559958046') format('woff'),
+       url('iconfont.ttf?t=1625559958046') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-hetongguanli:before {
+  content: "\e601";
+}
+
+.icon-index-copy:before {
+  content: "\e602";
+}
+
+.icon-shouqi:before {
+  content: "\e603";
+}
+
+.icon-zhankai:before {
+  content: "\e604";
+}
+
+.icon-yunshu:before {
+  content: "\e605";
+}
+
+.icon-cangkubeifen:before {
+  content: "\e606";
+}
+
+.icon-renwuguanli:before {
+  content: "\e607";
+}
+

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
public/static/sidebar/iconfont.js


+ 58 - 0
public/static/sidebar/iconfont.json

@@ -0,0 +1,58 @@
+{
+  "id": "2554236",
+  "name": "易粮易运",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "22700427",
+      "name": "hetong",
+      "font_class": "hetongguanli",
+      "unicode": "e601",
+      "unicode_decimal": 58881
+    },
+    {
+      "icon_id": "22700497",
+      "name": "index",
+      "font_class": "index-copy",
+      "unicode": "e602",
+      "unicode_decimal": 58882
+    },
+    {
+      "icon_id": "22700554",
+      "name": "shouqi",
+      "font_class": "shouqi",
+      "unicode": "e603",
+      "unicode_decimal": 58883
+    },
+    {
+      "icon_id": "22700576",
+      "name": "zhankai",
+      "font_class": "zhankai",
+      "unicode": "e604",
+      "unicode_decimal": 58884
+    },
+    {
+      "icon_id": "22700585",
+      "name": "yunshu",
+      "font_class": "yunshu",
+      "unicode": "e605",
+      "unicode_decimal": 58885
+    },
+    {
+      "icon_id": "22700607",
+      "name": "cangku",
+      "font_class": "cangkubeifen",
+      "unicode": "e606",
+      "unicode_decimal": 58886
+    },
+    {
+      "icon_id": "22700672",
+      "name": "renwuguanli",
+      "font_class": "renwuguanli",
+      "unicode": "e607",
+      "unicode_decimal": 58887
+    }
+  ]
+}

BIN
public/static/sidebar/iconfont.ttf


BIN
public/static/sidebar/iconfont.woff


BIN
public/static/sidebar/iconfont.woff2


+ 11 - 1
src/api/V2/taskspost/index.js

@@ -18,6 +18,10 @@ export const API_POST_TRAN_DEL = '/tranTaskInfo/api/deleteTranTask'
 export const API_GET_TRAN_EXAMINE = '/tranTaskInfo/getTranTask'
 // 运输任务-编辑
 export const API_GET_TRAN_EDIT = '/tranTaskInfo/api/editTranTask'
+// 审核通过不通过接口
+export const API_POST_WORKFLOW_API_HANDLE = `/workflow/api/handle`
+// 审核编辑
+export const API_POST_INOUTWAREHOUSETASK = `/inOutWarehouseTask/api/checkOrUpdateInOutTask`
 // 出入库任务-新增(编辑)
 export const API_POST_OUT_PUT = '/inOutWarehouseTask/api/insertOrUpdateInOutTask'
 // 出入库任务-列表
@@ -29,4 +33,10 @@ export const API_POST_OUT_DEL = '/inOutWarehouseTask/api/deleteInOutWarehouseTas
 // 出入库任务-通过合同获取货名
 export const API_GET_CONTRACT_GOODSNAME = '/contractGoodsInfo/getGoodsName'
 //移库列表
-export const API_GET_OUT_MOVE = '/inOutWarehouseTask/selectInOutWarehouseTaskRelocation'                              
+export const API_GET_OUT_MOVE = '/inOutWarehouseTask/selectInOutWarehouseTaskRelocation'   
+//移库详情                                                         
+export const API_GET_OUT_MOVELOOK = '/inOutWarehouseTask/getInOutWarehouseTaskRelocation'
+//运输任务状态修改
+export const API_POST_OUT_STATES = '/tranTaskInfo/api/editStatus'
+//移库任务状态修改
+export const API_POST_OUT_MOVESTATES = '/inOutWarehouseTask/api/editStatus'

+ 3 - 1
src/lang/zh.js

@@ -521,6 +521,7 @@
     tranManagementWarehouseInOutTask: '出入库任务',
     tranManagementWarehouseInOutTaskAdd: '出入库任务添加',
     tranManagementWarehouseInOutTaskEdit:'编辑',
+    tranManagementWarehouseInOutTaskaudit:'审核',
     tranManagementVehicle: '汽运调度',
     tranManagementVehicleDispatching: '汽车调度',
     tranManagementVehicleLook: '查看派车详情',
@@ -4783,7 +4784,8 @@
   // 任务管理
   taskManagement: '任务管理',
   tranManagementWarehouseInOutTaskEdit:'编辑',
-  moveWarehouseTask :'移库任务',
+  tranManagementWarehouseInOutTaskaudit:'审核',
+  // moveWarehouseTask :'移库任务',
   // 年度培训
   annualTraining: {
     trainingResults: '培训结果',

+ 4 - 3
src/layout/index/logo.vue

@@ -12,9 +12,7 @@
         <span class="winseaview-logo_title"
               key="1">
           <div>
-            <svg class="icon" aria-hidden="true">
-              <use xlink:href="#icon-yiliangyiyun"></use>
-            </svg>
+            <i class="iconfont icon-yiliangyiyun"></i>
           </div>
         </span>
       </template>
@@ -36,6 +34,9 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.icon-yiliangyiyun{
+  font-size:40px;
+}
 .icon {
   width: 9em;
   height: 3em;

+ 1 - 0
src/layout/index/sidebar/sidebarItem.vue

@@ -54,6 +54,7 @@
 import { mapGetters } from 'vuex'
 import { validatenull } from '@/utils/validate'
 import config from './config.js'
+import '../../../../public/static/sidebar/iconfont.css'
 import { getValue, generateTitle, getPath } from '@/utils/util'
 export default {
   name: 'sidebarItem',

+ 1 - 1
src/layout/index/top/index.vue

@@ -6,7 +6,7 @@
         class="winseaview-breadcrumb"
         :class="[{ 'winseaview-breadcrumb--active': isCollapse }]"
       >
-        <i class="iconfont iconasideShowy" @click="setCollapse"></i>
+        <i class="iconfont icon-shouqi" @click="setCollapse"></i>
       </div>
       <!-- </div>
     <div class="top-bar__title"> -->

+ 16 - 1
src/model/tasksport/index.js

@@ -8,6 +8,7 @@ import {
     API_POST_TRAN_LOOK,
     API_GET_TRAN_TASK_WAREHOUSE,
     API_GET_WAREHOUSE_NO,
+    API_POST_WORKFLOW_API_HANDLE,
     API_POST_TRAN_DEL,
     API_GET_TRAN_EXAMINE,
     API_GET_TRAN_EDIT,
@@ -16,7 +17,11 @@ import {
     API_GET_OUT_EXAMINE,
     API_POST_OUT_DEL,
     API_GET_CONTRACT_GOODSNAME,
-    API_GET_OUT_MOVE
+    API_GET_OUT_MOVE,
+    API_POST_INOUTWAREHOUSETASK,
+    API_GET_OUT_MOVELOOK,
+    API_POST_OUT_STATES,
+    API_POST_OUT_MOVESTATES
 } from '@/api/V2/taskspost'
 //运输任务列表
 export const gain = appRx.get(API_GET_TRAN_LIST, errorCatcher, errorHandle, filter)
@@ -24,6 +29,10 @@ export const gain = appRx.get(API_GET_TRAN_LIST, errorCatcher, errorHandle, filt
 export const addtrantask = appRx.post(API_POST_TRAN_ADD, errorCatcher, errorHandle, filter)
 // 识别身份证
 export const getidentity = appRx.get(API_POST_PERSON, errorCatcher, errorHandle, filter)
+// 审核通过不通过
+export const woekflowhandle = appRx.post(API_POST_WORKFLOW_API_HANDLE, errorCatcher, errorHandle, filter)
+// 审核编辑
+export const warehousetask = appRx.post(API_POST_INOUTWAREHOUSETASK, errorCatcher, errorHandle, filter)
 //运输任务查看
 export const lookTranTask = appRx.get(API_POST_TRAN_LOOK, errorCatcher, errorHandle, filter)
 //运输任务-添加-根据仓库类型选库名
@@ -48,3 +57,9 @@ export const outdelete = appRx.post(API_POST_OUT_DEL, errorCatcher, errorHandle,
 export const getGoodsName = appRx.get(API_GET_CONTRACT_GOODSNAME, errorCatcher, errorHandle, filter)
 //移库列表
 export const moveList = appRx.get(API_GET_OUT_MOVE, errorCatcher, errorHandle, filter)
+//移库详情
+export const moveLook = appRx.get(API_GET_OUT_MOVELOOK, errorCatcher, errorHandle, filter)
+//运输任务状态修改
+export const states = appRx.post(API_POST_OUT_STATES, errorCatcher, errorHandle, filter)
+//移库任务状态修改
+export const movestates = appRx.post(API_POST_OUT_MOVESTATES, errorCatcher, errorHandle, filter)

+ 2 - 2
src/router/index.js

@@ -67,13 +67,13 @@ export const constantRoutes = [
     path: '/',
     component: Layout,
     redirect: { name: 'home' },
-    meta: { title: 'home', icon: 'home' },
+    meta: { title: 'home', icon: '-index-copy' },
     children: [
       {
         path: 'home',
         component: () => page('home'),
         name: 'home',
-        meta: { title: 'home', icon: 'home', affix: true, auth: 'homePage' },
+        meta: { title: 'home', icon: '-index-copy', affix: true, auth: 'homePage' },
         hidden: true
       }
     ]

+ 1 - 1
src/views/contractManagement/component/routers/route.js

@@ -9,7 +9,7 @@ const contractManagementRouter = {
   meta: {
     title: 'contractManagement',
     module: 'contractManagement',
-    icon: 'cg'
+    icon: '-hetongguanli'
   },
   children: [
     {

+ 6 - 1
src/views/contractManagement/purchaseContract.vue

@@ -2,7 +2,7 @@
 <!--2019年5月30日 20:25:16 by jlx-->
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="10">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
         <ws-button type="primary" @click="handleAdd()"
         v-hasPermission="
@@ -30,6 +30,7 @@
         >
       </template>
       <template slot="right">
+          <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
         <ws-select
           v-model="searchTypeText"
           placeholder=""
@@ -42,6 +43,7 @@
             :key="item.value"
             :label="item.value"
             :value="item.value"
+            style="color: #8890B1;"
           />
         </ws-select>
 
@@ -918,4 +920,7 @@ export default {
     padding: 0 !important;
   }
 }
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 6 - 1
src/views/contractManagement/salesContract.vue

@@ -3,7 +3,7 @@
 <!--2019年5月30日 20:25:16 by jlx-->
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="10">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
         <ws-button
           type="primary"
@@ -33,6 +33,7 @@
         >
       </template>
       <template slot="right">
+        <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
         <ws-select
           v-model="searchTypeText"
           placeholder=""
@@ -45,6 +46,7 @@
             :key="item.value"
             :label="item.value"
             :value="item.value"
+            style="color: #8890B1;"
           />
         </ws-select>
 
@@ -970,4 +972,7 @@ export default {
     border-radius: 4px;
   }
 }
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 21 - 5
src/views/taskManagement/component/routers/route.js

@@ -10,7 +10,7 @@ const tranManagementRouter = {
   meta: {
     title: 'taskManagement',
     module: 'transportationTask',
-    icon: 'cg'
+    icon: '-renwuguanli'
   },
   children: [
     //运输任务
@@ -84,12 +84,12 @@ const tranManagementRouter = {
       meta: {
         title: 'moveWarehouseTask',
         shortcutEntrance: 'tranManagement',
-        module: 'tranManagement.tranManagementDriver.moveWarehouseTask',
+        module: 'warehouseManagement.warehouse.warehouseInfoTask',
         permissicon: [],
         keepAlive: true
       },
     },
-    //移库查看
+    //移库查看 
     {
       path: 'moveWarehouseTaskLook',
       component: () =>
@@ -98,8 +98,9 @@ const tranManagementRouter = {
       meta: {
         title: 'moveWarehouseTaskLook',
         shortcutEntrance: 'tranManagement',
-        module: 'warehouseManagement.warehouse.warehouseInfoTask.view',
+        module: 'warehouseManagement.warehouse.warehouseInfoTask',
       },
+      hidden: true,
     },
     //出入库任务
     {
@@ -124,7 +125,7 @@ const tranManagementRouter = {
       meta: {
         title: 'inOutWarehouseTaskEdit',
         shortcutEntrance: 'tranManagement',
-        module: 'warehouseManagement.warehouse.warehouseInfoTask.view',
+        module: 'warehouseManagement.warehouse.warehouseInfoTask.View',
       },
       hidden: true
     },
@@ -158,6 +159,21 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+    //出入库任务审核
+    {
+      path: 'tranManagementWarehouseInOutTaskaudit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/taskManagement/tranManagementWarehouseInOutTaskAudit'),
+      name: 'tranManagementWarehouseInOutTaskEdit',
+      meta: {
+        title: 'tranManagementWarehouseInOutTaskaudit',
+        shortcutEntrance: 'tranManagement',
+        module: 'warehouseManagement.warehouse.warehouseInfoTask.audit',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
 
   ],
 

+ 0 - 1
src/views/taskManagement/inOutWarehouseTaskEdit.vue

@@ -720,7 +720,6 @@ export default {
       return Min + Math.round(Rand * Range)
     },
     getList() {
-      console.log(11111)
       outexamine({ relevanceId: this.$route.query.relevanceId })
         .toPromise()
         .then(response => {

+ 115 - 166
src/views/taskManagement/moveWarehouseTask.vue

@@ -1,52 +1,60 @@
 <!--移库任务-->
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="20">
-      <template slot="right">
-        <ws-button class="but" type="primary" @click="handleAdd()"
-          >添加</ws-button
-        >
-      </template>
+    <BaseHeaderLayout :leftSpan="12">
       <template slot="left">
-        <ws-button class="but" type="primary" @click="handlestatus(1)">
+        <!-- <ws-button class="but" type="primary" @click="handlestatus(1)">
           执行中</ws-button
         >
         <ws-button class="but" @click="handlestatus(2)">已完成</ws-button>
-        <ws-button class="but" @click="handlestatus('')">全部任务</ws-button>
+        <ws-button class="but" @click="handlestatus('')">全部任务</ws-button> -->
       </template>
-      <template slot="left">
+      <template slot="right">
+        <span style="width: 70px; display: inline-block;color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
         <ws-input
-          v-model="warehouseName"
-          placeholder="可按合同编号或任务编号查找"
+          v-model="searchKeyWord"
+          placeholder="可按移库任务编号、发货库和收货库查找"
           clearable
           maxlength="500"
           type="input"
-          class="findValue"
         ></ws-input>
-        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
-        <div class="search">
-          <ws-button class="find" type="primary" @click="lookUp()"
-            ><img
-              width="16"
-              height="16"
-              style="
-                vertical-align: text-top;
-                position: relative;
-                top: 0px;
-                left: -1px;
-              "
-              src="../../../public/img/sousuo.png"
-              alt=""
-          /></ws-button>
-        </div>
+        <ws-button class="find" type="primary" @click="lookUp()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -1px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+        <!-- </div> -->
       </template>
     </BaseHeaderLayout>
     <div>
       <el-table
         class="wenzi"
         :data="gainList.records"
-        style="width: 100%; margin-top: 20px"
-        height="650"
+        style="width: 100%"
+        height="780"
       >
         <el-table-column type="index" label="序号">
           <template scope="scope">
@@ -54,15 +62,26 @@
             <span v-else>{{ scope.$index + 1 }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="moveTaskNo" label="移库任务编号" width="120"></el-table-column>
-        <el-table-column prop="sendWarehouse" label="发货库"> </el-table-column>
-        <el-table-column prop="receiveWarehouse" label="收货库"> </el-table-column>
+        <el-table-column
+          prop="moveTaskNo"
+          label="移库任务编号"
+        ></el-table-column>
+        <el-table-column prop="warehouseName" label="发货库"> </el-table-column>
+        <el-table-column prop="warehouseNameIn" label="收货库">
+        </el-table-column>
         <el-table-column prop="goodsName" label="货名"> </el-table-column>
         <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
-        <el-table-column prop="deliveryVolume" label="出库量(吨)"> </el-table-column>
-        <el-table-column prop="storageVolume" label="入库量(吨)"> </el-table-column>
-        <el-table-column prop="stockReturn" label="退库量(吨)"> </el-table-column>
-        <el-table-column prop="transportLoss" label="运输损耗(吨)"> </el-table-column>
+        <el-table-column prop="weight" label="出库量(吨)">
+        </el-table-column>
+        <el-table-column prop="weightIn" label="入库量(吨)">
+        </el-table-column>
+        <el-table-column prop="stockReturnCount" label="退库量(吨)">
+        </el-table-column>
+        <el-table-column prop="transportLoss" label="运输损耗(吨)">
+           <template scope="scope">
+            {{ scope.row.weight - scope.row.weightIn - scope.row.stockReturnCount}}
+          </template> 
+        </el-table-column>
         <el-table-column prop="publisher" label="发布者"> </el-table-column>
         <el-table-column prop="taskStatus" label="状态">
           <template slot-scope="scope">
@@ -121,7 +140,7 @@
         </el-table-column>
         <el-table-column prop="establishDate" label="发布时间">
         </el-table-column>
-        <el-table-column prop="seller" label="详情" width="300">
+        <el-table-column prop="seller" label="详情" width="200">
           <template slot-scope="scope">
             <ws-button class="completed" @click="see(scope.row)">
               查看
@@ -142,11 +161,9 @@
   </div>
 </template>
 <script>
-import { getoreditoutput, outdelete,moveList } from '@/model/tasksport/index'
-import { downloadFile } from '@/utils/batchDown'
+import {  moveList,movestates} from '@/model/tasksport/index'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
 export default {
   name: 'viewSpareMoney',
   components: {
@@ -179,21 +196,22 @@ export default {
       currentPage: 1,
       pageSize: 10,
       searchType: 1,
-      searchTypeText: '未完成',
+      searchTypeText: '待审核',
       searchKeyWord: '',
       contractType: 2,
-      taskTypeKey : 3,
-      sendWarehouse : '',
-       receiveWarehouse : '',
-       moveTaskNo:'',
-      // 提交类型
-      submitType: true,
+      taskTypeKey: 3,
+      moveTaskNo: '',
       size: 10,
       spanArr: [],
-      warehouseName: '',
+       taskTypeList: [
+        { value: '待审核', type: 1 },
+        { value: '执行中', type: 3 },
+         { value: '已驳回', type: 2 },
+        { value: '已完成', type: 4 },
+        { value: '全部任务', type: '' },
+      ],
       deptBudgetTotal: 0,
       compId: sessionStorage.getItem('ws-pf_compId'),
-      deptCircularPage: {},
       historyList: [],
       pickerBeginDateBefore: {
         disabledDate: (time) => {
@@ -207,63 +225,24 @@ export default {
     this.getList()
     this.showType = this.isShow
   },
-  mounted(){
-    this.getList()
-  },
+
   methods: {
-   
     //查找
     lookUp() {
       this.currentPage = 1
       this.getList()
     },
-    deleteclick(row) {
-      var text = ''
-      if (
-        (row.taskTypeKey == 3 && row.inOutType == '移库出库') ||
-        (row.taskTypeKey == 4 && row.inOutType == '销售出库')
-      ) {
-        text = '相同任务编号的任务将一并删除且不可恢复,是否确定删除?'
-      } else {
-        text = `运输任务删除后不可恢复,是否确定删除?`
-      }
-      //cancelButtonClass: "btn-custom-cancel"
-      this.$confirm(text, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          console.log(row)
-          outdelete({
-            id: row.id,
-            relevanceId: row.relevanceId,
-            inOutFlag: row.inOutFlag,
-          })
-            .toPromise()
-            .then((response) => {
-              this.getList()
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
     getList() {
       moveList({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
-        // searchType: this.searchType,
-        // moveTaskNo : this.moveTaskNo,
-        taskTypeKey : this.taskTypeKey,
-        // sendWarehouse : this.sendWarehouse,
-        // receiveWarehouse : this.receiveWarehouse,
-
+        taskTypeKey: this.taskTypeKey,
+        searchType : this.searchType,
+        searchKeyWord: this.searchKeyWord,
       })
         .toPromise()
         .then((response) => {
-          console.log(response)
           this.gainList = response
           this.currentPage = response.current
           this.pageSize = response.size
@@ -279,25 +258,26 @@ export default {
       this.$router.push({
         path: 'moveWarehouseTaskLook',
         query: {
-          relevanceId: item.relevanceId,
+          moveTaskNo: item.moveTaskNo,
         },
       })
     },
+     selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
 
     getSpanArr(data) {
       let that = this
-
       //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
-
       that.spanArr = []
-
       that.pos = 0
-
       //遍历数据
-
       data.forEach((item, index) => {
         //判断是否是第一项
-
         // if (index === 0) {
         //   this.spanArr.push(1)
         //   this.pos = 0
@@ -312,16 +292,7 @@ export default {
           this.spanArr.push(1)
           this.pos = index
         }
-        // }
-      })
-    },
-    //查看//传参
-    nocomplete(row) {
-      this.$router.push({
-        path: 'inOutWarehouseTaskEdit',
-        query: {
-          relevanceId: row.relevanceId,
-        },
+    
       })
     },
     dateFormat(fmt, date) {
@@ -361,9 +332,9 @@ export default {
     },
     editClick(row) {
       var status = ''
-      if (row.status == '待审核' || row.status == '已完成') {
+      if (row.taskStatus == '待审核' || row.taskStatus == '已完成') {
         status = '执行中'
-      } else if (row.status == '执行中') {
+      } else if (row.taskStatus == '执行中') {
         status = '已完成'
       }
       //cancelButtonClass: "btn-custom-cancel"
@@ -373,7 +344,7 @@ export default {
         type: 'warning',
       })
         .then(() => {
-          editstatus({ id: row.id })
+          movestates({ id: row.id })
             .toPromise()
             .then((response) => {
               this.$notify.success({
@@ -390,19 +361,7 @@ export default {
           return false
         })
     },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    handleExamine(row) {
-      this.$router.push({
-        name: 'salesContractExamine',
-        query: { id: row.id },
-      })
-    },
+
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleCloe() {
       this.dialogViewSpareMoney = false
@@ -414,41 +373,11 @@ export default {
           this.historyList = response
         })
     },
-    find() {
-      this.currentPage = 1
-      this.getList()
-    },
-    async exportlist() {
-      const { data } = await export1(
-        {
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          contractType: this.contractType,
-          currentPage: this.currentPage,
-          pageSize: this.pageSize,
-          searchType: this.searchType,
-          searchKeyWord: this.searchKeyWord,
-          startDate: this.startDate,
-          endDate: this.endDate,
-        },
-        {},
-        { responseType: 'blob' }
-      ).toPromise()
-      downloadFile({
-        res: data,
-        fileName: `${
-          this.date.year + (this.date.month ? `-${this.date.month}` : '')
-        }_采购合同`,
-        type: 'xls',
-      })
-    },
+
   },
 }
 </script>
 <style lang="scss" scoped>
-.connert {
-  width: 90%;
-  margin: 0 auto;
-}
 .vertical-text-left {
   width: 62px;
   text-align: right;
@@ -509,20 +438,40 @@ export default {
   background: #e9ecf7;
 }
 .el-row {
-  height: 150px;
+  height: 50px;
 }
 .base_header_layout .grid-content {
   margin-top: 80px;
 }
-.but {
-  margin-top: 150px;
+.el-pagination {
+  text-align: center;
 }
-.findValue {
-  width: 0%;
-  margin-left: 25%;
+.el-select{
+  width: 30%;
+    margin-right: 10px;
 }
-
-.search {
-  margin-left: -250px;
+//状态样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
 }
 </style>

+ 263 - 400
src/views/taskManagement/moveWarehouseTaskLook.vue

@@ -28,118 +28,158 @@
       :model="deptBudgetList"
     >
       <div class="small-title" style="font-size: 16px">任务详情</div>
-      <h3>移库任务编号</h3>
-      <ws-info-table>
-        <!--出货库-->
-        <div class="line">
-          <ws-form-item label="出货库" span="1" prop="sendWarehouse">
-            {{ deptBudgetList.sendWarehouse }}
+
+      <span
+        >移库任务编号:
+        <span style="font-weight: 600">{{ this.moveTaskNo }}</span></span
+      >
+      <div v-for="(item, index) in moveLookData" :key="index">
+        <ws-info-table class="inout" v-show="item.inOutType == '移库出库'">
+          <!--出货库-->
+          <div class="library">
+            <span style="margin-left: 14px"
+              >出货库:{{ item.sendWarehouse }}</span
+            >
+            <span style="margin-left: 10px">{{ item.taskStatus }}</span>
+          </div>
+          <!--出库经办人-->
+          <ws-form-item label="出库经办人:" span="1" prop="agent">
+            {{ item.agent }}
           </ws-form-item>
-        </div>
-        <!--出库经办人-->
-        <ws-form-item label="出库经办人" span="1" prop="agent">
-          {{ deptBudgetList.agent }}
-        </ws-form-item>
-        <!--出库重量(吨)-->
-        <ws-form-item label="出库重量(吨)" span="1" prop="deliveryVolume">
-          {{ deptBudgetList.deliveryVolume }}
-        </ws-form-item>
-        <!--预计出库日期-->
-        <ws-form-item label="预计出库日期" span="1" prop="predictDate">
-          {{ deptBudgetList.predictDate }}
-        </ws-form-item>
-        <div class="line">
-          <!--入货库-->
-          <ws-form-item label="入货库" span="1" prop="receiveWarehouse">
-            {{ deptBudgetList.receiveWarehouse }}
+          <el-divider direction="vertical" class="line"></el-divider>
+          <!--出库重量(吨)-->
+          <ws-form-item label="出库重量(吨):" span="1" prop="weight">
+            {{ item.weight }}
           </ws-form-item>
-        </div>
-        <!--入库经办人-->
-        <ws-form-item label="入库经办人" span="1" prop="agent">
-          {{ deptBudgetList.agent }}
-        </ws-form-item>
-        <!--入库重量(吨)-->
-        <ws-form-item label="入库重量(吨)" span="1" prop="storageVolume">
-          {{ deptBudgetList.storageVolume }}
-        </ws-form-item>
-        <!--预计入库日期-->
-        <ws-form-item label="预计入库日期" span="1" prop="predictDate">
-          {{ deptBudgetList.predictDate }}
-        </ws-form-item>
+          <el-divider direction="vertical" class="line"></el-divider>
+          <!--仓位-->
+          <ws-form-item label="仓位:" span="1" prop="deliveryVolume">
+            {{ item.binNumber == null ? '未指定' : item.binNumber }}
+          </ws-form-item>
+          <el-divider direction="vertical" class="line"></el-divider>
+          <!--预计出库日期-->
+          <ws-form-item label="预计出库日期:" span="1" prop="predictDate">
+            {{ item.predictDate }}
+          </ws-form-item>
+        </ws-info-table>
+        <ws-info-table class="inout" v-show="item.inOutType == '移库入库'">
+          <div class="library">
+            <span style="margin-left: 14px">
+              入货库:{{ item.warehouseName }}</span
+            >
+            <span style="margin-left: 10px">{{ item.taskStatus }}</span>
+          </div>
+          <!--入库经办人-->
+          <ws-form-item label="入库经办人:" span="1" prop="agent">
+            {{ item.agent }}
+          </ws-form-item>
+          <el-divider direction="vertical" class="line"></el-divider>
+          <!--入库重量(吨)-->
+          <ws-form-item label="入库重量(吨):" span="1" prop="weight">
+            {{ item.weight }}
+          </ws-form-item>
+          <el-divider direction="vertical" class="line"></el-divider>
+          <!-- 仓位 -->
+          <ws-form-item label="仓位:" span="1" prop="deliveryVolume">
+            {{ item.binNumber == null ? '未指定' : item.binNumber }}
+          </ws-form-item>
+          <el-divider direction="vertical" class="line"></el-divider>
+          <!--预计入库日期-->
+          <ws-form-item label="预计入库日期:" span="1" prop="predictDate">
+            {{ item.predictDate }}
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <ws-info-table class="goods">
         <!--货物信息-->
-        
-        <span style="line-height: 50px; text-align: center; color: #8890b1"
-          >货物信息</span
+        <div class="library">
+          <span style="line-height: 50px; color: #323233; margin-left: 14px"
+            >货物信息</span
+          >
+        </div>
+        <el-input
+          placeholder="信息暂无"
+          :disabled="true"
+          v-model="this.goodsName"
+        ></el-input>
+        <el-divider direction="vertical" class="line1"></el-divider>
+        <el-input
+          placeholder="信息暂无"
+          :disabled="true"
+          v-model="this.grade"
+        ></el-input>
+        <el-divider direction="vertical" class="line1"></el-divider>
+        <el-input
+          placeholder="信息暂无"
+          :disabled="true"
+          v-model="this.bulkDensity+'g/L(容)'"
+        >
+        </el-input>
+        <el-divider direction="vertical" class="line1"></el-divider>
+        <el-input
+          placeholder="信息暂无"
+          :disabled="true"
+          v-model="this.waterContent+'%(水)'"
+        >
+        </el-input>
+        <el-divider direction="vertical" class="line1"></el-divider>
+        <el-input
+          placeholder="信息暂无"
+          :disabled="true"
+          v-model="this.weight+'(吨)'"
         >
-        <!-- <ws-form-item label="货物信息" span="1" prop="sendDetailedAddress">
-        </ws-form-item> -->
-        <el-input placeholder="请输入内容" :disabled="true"> </el-input>
-        <el-input placeholder="请输入内容" :disabled="true"> </el-input>
-        <el-input placeholder="请输入内容" :disabled="true"> </el-input>
-        <el-input placeholder="请输入内容" :disabled="true"> </el-input>
-        <el-input placeholder="请输入内容" :disabled="true"> </el-input>
-        <el-input placeholder="请输入内容" :disabled="true"> </el-input>
-        <span style="line-height: 40px; text-align: center; color: #8890b1"
-          >业务描述</span
+        </el-input>
+        <el-divider direction="vertical" class="line1"></el-divider>
+        <el-input
+          placeholder="信息暂无"
+          :disabled="true"
+          v-model="this.unitPrice +'(元/吨)'"
         >
-        <!--业务描述-->
-        <ws-input
-          v-model="deptBudgetList.remarks"
-          type="textarea"
-          row="3"
-          placeholder="请输入备注信息,不超过200字"
-          maxlength="200"
-        />
-        
+        </el-input>
       </ws-info-table>
-
+      <span style="line-height: 60px; text-align: center; color: #323233"
+        >业务描述:</span
+      >
+      <!--业务描述-->
+      <ws-input
+        v-model="businessDescribe"
+        type="textarea"
+        row="3"
+        placeholder="暂无"
+        maxlength="200"
+      />
       <div class="small-title" style="font-size: 16px">实际流转数量</div>
-
-      <ws-info-table>
-        <!--累计出库量(吨)-->
-        <ws-form-item label="累计出库量(吨)" span="1" prop="driver">
-          <ws-input
-            v-model="deptBudgetList.driverPhone"
-            readonly
-            unselectable="on"
-            placeholder="请输入累计出库量"
-            maxlength="20"
-            size="small"
-          />
-        </ws-form-item>
-        <!--累计入库量(吨)-->
-        <ws-form-item label="累计入库量(吨)" span="1" prop="driverPhone">
-          <ws-input
-            v-model="deptBudgetList.driverPhone"
-            readonly
-            unselectable="on"
-            placeholder="请输入累计入库量(吨)"
-            maxlength="20"
-            size="small"
-          />
-        </ws-form-item>
-        <!--累计运输损耗(吨)-->
-        <ws-form-item label="累计运输损耗(吨)" span="1" prop="sendDateStart">
-          <ws-input
-            v-model="deptBudgetList.driverPhone"
-            readonly
-            unselectable="on"
-            placeholder="请输入累计运输损耗(吨)"
-            maxlength="20"
-            size="small"
-          />
-        </ws-form-item>
-        <!--累计退库量(吨)-->
-        <ws-form-item label="累计退库量(吨)" span="1" prop="stockReturnCount">
-          <ws-input
-            v-model="deptBudgetList.stockReturnCount"
-            readonly
-            unselectable="on"
-            placeholder="请输入累计退库量(吨)"
-            maxlength="20"
-            size="small"
-          />
-        </ws-form-item>
+      <ws-info-table class="flow">
+        <el-table :data="moveLookData" height="90" border style="width: 100%;">
+          <el-table-column prop="weightOut" label="累计出库量(吨)">
+            <template>
+              <div class="weights">{{ this.weightOut }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="weightIn" label="累计入库量(吨)">
+            <template>
+              <div class="weights">{{ this.weightIn }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="transportLoss" label="累计运输损耗(吨)">
+            <template>
+              <div class="weights">
+                {{ this.transportLoss }}
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </ws-info-table>
+      <ws-info-table class="flow1">
+        <el-table :data="moveLookData" height="90" border style="width: 100%">
+          <el-table-column prop="stockReturnCount" label="累计退库量(吨)">
+            <template>
+              <div class="weights">
+                {{ this.retreat == null ? 0 : this.retreat }}
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
       </ws-info-table>
     </ws-form>
 
@@ -149,16 +189,14 @@
         class="bg-bottom"
         type="primary"
         size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
+        @click="returnsales"
+        >关闭</el-button
       >
     </div>
   </div>
 </template>
 <script>
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import { seeCat, dispatchCat, packList } from '@/model/transport/index'
-import { getstaff } from '@/model/warehouse/index'
+import { moveLook } from '@/model/tasksport/index'
 import WsUpload from '@/components/WsUpload'
 import mapDrag from '@/components/mapdrag/mapdrag'
 export default {
@@ -180,19 +218,7 @@ export default {
       deptBudgetList: {
         totalStorage: 0,
       },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
       listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
       tranType: 2,
       rules: {
         warehouseName: [
@@ -211,69 +237,38 @@ export default {
       },
       appendixIdsAdd: '',
       size: 10,
-      value1: '',
       unitList: [],
-      freightspace: [
-        // {
-        //   trainNo: '',
-        // },
-      ],
       name: '',
-      list: [],
-      staffList: [],
-      options: [],
-      carModel: [],
-      tranCarInfoList: {},
-      arr: [],
+      moveLookData: [],
+      moveTaskNo: '',
+      weightOut: 0,
+      weightIn: 0,
+      transportLoss: 0,
+      retreat: 0,
+      goodsName: '',
+      grade: '',
+      bulkDensity: 0,
+      waterContent: 0,
+      weight: 0,
+      unitPrice: 0,
+      businessDescribe:'',
     }
   },
-  mounted() {
-    this.deptBudgetList.id = this.$route.query.id
+
+  activated() {
+    this.moveTaskNo = this.$route.query.moveTaskNo
     this.getList()
   },
-  computed: {
-    totalStorage: function () {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
-      }
-      return maxStorage
-    },
+  mounted() {
+    this.moveTaskNo = this.$route.query.moveTaskNo
+    this.getList()
   },
   methods: {
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        this.options = this.staffList.filter((item) => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
-          }
-        })
-      } else {
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.tranCarInfoList[0].driverPhone =
-            this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
-        }
-      }
-    },
     marker: function (item) {
       this.deptBudgetList.warehousePositioning =
         item.lnglat.lat + ',' + item.lnglat.lng
     },
-    selectedAddress(e) {
-      this.deptBudgetList.warehousePositioning =
-        e.center.lat + ',' + e.center.lng
-    },
+
     confirmPositioncity() {
       this.listDate.level = 'city'
       this.listDate.country = this.name
@@ -282,186 +277,42 @@ export default {
     handleClose() {
       this.dialogViewSpareMoney = false
     },
-    add() {
-      this.freightspace.push({
-        trainNo: '',
-      })
-    },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
-      }
-    },
-    //下拉司机姓名改变事件
-    selectdriver() {},
-    handleChange(value) {
-      this.selectedOptions = value
-    },
     returnsales() {
-      this.deptBudgetList = {}
-      this.freightspace = {}
-      this.selectedOptions = ''
-      this.$router.push({ path: 'tranManagementTransporTationFire' })
+      this.moveLookData = []
+      this.$router.go(-1)
     },
-    // confirmPosition() {
-    //   this.draggable = false
-    // },
+
     // 上传附件
     uploadSuccess(data, files, url) {
       console.log(data, files, url)
     },
-    submit() {
-      for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-        if (!this.deptBudgetList.tranCarInfoList[i].driver) {
-          this.$message({
-            message: '姓名不能为空!',
-            type: 'warning',
-          })
-          return
-        }
-        if (!this.deptBudgetList.tranCarInfoList[i].driverPhone) {
-          this.$message({
-            message: '电话不能为空!',
-            type: 'warning',
-          })
-          return
-        }
-        if (!this.deptBudgetList.tranCarInfoList[i].sendDateStart) {
-          this.$message({
-            message: '发车日期不能为空!',
-            type: 'warning',
-          })
-          return
-        }
-        if (!this.deptBudgetList.tranCarInfoList[i].receiveDateEnd) {
-          this.$message({
-            message: '到站日期不能为空',
-            type: 'warning',
-          })
-          return
-        }
-        if (
-          new Date(
-            this.deptBudgetList.tranCarInfoList[i].sendDateStart
-          ).getTime() >
-          new Date(
-            this.deptBudgetList.tranCarInfoList[i].receiveDateEnd
-          ).getTime()
-        ) {
-          this.$message({
-            message: '发车时间不能大于到站时间!',
-            type: 'warning',
-          })
-          return
-        }
-        if (!this.deptBudgetList.tranCarInfoList[i].carModel) {
-          this.$message({
-            message: '车型不能为空!',
-            type: 'warning',
-          })
-          return
-        }
-      }
-      for (var j = 0; j < this.freightspace.length; j++) {
-        if (!this.freightspace[j].trainNo) {
-          this.$message({
-            message: '车厢号不能为空',
-            type: 'warning',
-          })
-          return
-        }
-      }
-
-      this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate((valid) => {
-            if (valid) {
-              for (var i = 0; i < this.freightspace.length; i++) {
-                var num = this.freightspace[i].trainNo
-                this.arr.push(num)
-              }
-              this.deptBudgetList.totalStorage = this.totalStorage
-              this.tranCarInfoList.driver = this.deptBudgetList.driver
-              this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-              this.tranCarInfoList.sendDateStart =
-                this.deptBudgetList.sendDateStart
-              this.tranCarInfoList.receiveDateEnd =
-                this.deptBudgetList.receiveDateEnd
-              this.tranCarInfoList.carModel = this.deptBudgetList.carModel
-              this.tranCarInfoList.id =
-                this.deptBudgetList.tranCarInfoList[0].id
-              this.tranCarInfoList.tranType = this.tranType
-              this.tranCarInfoList.boxNo = this.arr.toString()
-              var tranCarInfo = {}
-              var tranList = [this.tranCarInfoList]
-              tranCarInfo.id = this.deptBudgetList.id
-              tranCarInfo.infoId = this.deptBudgetList.infoId
-              tranCarInfo.tranCarInfoList = tranList
-              // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
-              dispatchCat(tranCarInfo)
-                .toPromise()
-                .then((response) => {
-                  this.$message.success('添加成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporTationFire',
-                  })
-                })
-            } else {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-              return false
-            }
-          })
-        })
-        .catch(() => {
-          return false
-        })
-    },
     resetForm(deptBudgetList) {
       this.$refs[deptBudgetList].resetFields()
     },
 
     getList() {
-      seeCat({ id: this.deptBudgetList.id })
+      moveLook({ moveTaskNo: this.moveTaskNo })
         .toPromise()
         .then((response) => {
-          this.deptBudgetList = response
-          if (response.tranCarInfoList[0].boxNo) {
-            this.list = response.tranCarInfoList[0].boxNo.split(',')
-            for (var i = 0; i < this.list.length; i++) {
-              var num = this.list[i]
-              this.freightspace.push({
-                trainNo: num,
-              })
+          this.moveLookData = response
+          for (var i = 0; i < this.moveLookData.length; i++) {
+            if (this.moveLookData[i].inOutType == '移库出库') {
+              this.weightOut = this.moveLookData[i].weight
+              this.retreat = this.moveLookData[i].stockReturnCount
+            } else {
+              this.weightIn = this.moveLookData[i].weight
             }
+            this.transportLoss = this.weightOut - this.weightIn
+            this.goodsName = this.moveLookData[0].goodsName
+            this.grade = this.moveLookData[0].grade
+            this.bulkDensity = this.moveLookData[0].bulkDensity
+            this.waterContent = this.moveLookData[0].waterContent
+            this.weight = this.moveLookData[0].weight
+            this.unitPrice = this.moveLookData[0].unitPrice
+            this.businessDescribe = this.moveLookData[0].businessDescribe
           }
         })
-      //司机姓名下拉
-      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-        .toPromise()
-        .then((response) => {
-          this.options = response
-          this.staffList = response
-          //  this.deptBudgetList.tranCarInfoList.driverPhone = response
-        })
-      //车型
-      packList({ constId: 'TRAN5' })
-        .toPromise()
-        .then((response) => {
-          this.carModel = response
-        })
     },
-    handleExamine() {},
-    approve() {},
-    // returnsales() {
-    //   this.$router.push({ path: 'purchaseContract' })
-    // },
     selectChapterTwo(e) {
       for (var i = 0; i < this.ChapterTwoList.length; i++) {
         if (this.ChapterTwoList[i].constValue == e) {
@@ -497,36 +348,6 @@ export default {
         }
       }
     },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
-    },
   },
 }
 </script>
@@ -557,9 +378,7 @@ export default {
   padding: 0 15%;
 }
 /deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  width: 33.333%;
+  width: 23%;
   border: none;
   height: 50px;
 }
@@ -594,20 +413,18 @@ export default {
 .el-col {
   background: #f6f7fc;
 }
+
 /deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
+  border: none;
+  font-size: 14px;
+  // color: #8890b1;
 }
 /deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
+  text-align: right;
   background: #fff;
   font-size: 14px;
   font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-  width: 30%;
+  width: 52%;
 }
 
 .button-container {
@@ -694,10 +511,7 @@ export default {
   .el-icon-arrow-up {
     display: none;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
+
   .el-date-editor {
     i {
       display: none;
@@ -754,9 +568,7 @@ export default {
 .readonly:after {
   display: none;
 }
-.el-textarea__inner {
-  display: none;
-}
+
 .el-form {
   margin-top: 50px;
 }
@@ -775,33 +587,84 @@ export default {
   border-top: 0px;
 }
 
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-bottom: 5px;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
 //输入框
 /deep/.el-input {
-  width: 15%;
+  width: 14.555%;
   margin-left: 10px;
 }
 /deep/.is-disabled .el-input__inner {
   height: 40px;
-  background: #f5f7fa;
-  margin-left: 10px;
+  text-align: center;
 }
-.line {
+.library {
   width: 100%;
+  height: 50px;
+  border-bottom: 1px solid #d8dce6;
+  color: #232323;
+  line-height: 50px;
+}
+.line {
+  height: 50px;
+  // left: -80px;
+}
+.line1 {
+  height: 50px;
+}
+/deep/.is-disabled .el-input__inner{
+   margin-top: 4px;
 }
-
 //业务描述
 /deep/.el-textarea {
   width: 90%;
-  margin-left: 24px;
+  // margin-left: 24px;
+  margin-top: 20px;
+}
+.inout {
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  margin-top: 20px;
+}
+.goods {
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  margin-top: 20px;
+}
+.flow,
+.flow1 {
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  margin-top: 20px;
+}
+/deep/.flow .el-form-item {
+  display: inline-grid;
+  border-bottom: 1px solid #d8dce6;
+  width: 30%;
+  height: 50px;
+  text-align: center;
+}
+.flow .el-col {
+  background: #fff;
+  display: contents;
+}
+.flow1 {
+  width: 33.333%;
+}
+/deep/.el-table th > .cell {
+  text-align: center;
+  border-right: 1px solid #d8dce6;
+  background: #fff;
+}
+.weights {
+  width: 100%;
+  height: 50px;
+  text-align: center;
+  line-height: 50px;
+}
+/deep/.el-textarea__inner {
+  border: none;
+}
+/deep/.el-table th>.cell{
+    color: #000 !important;
+    font-weight: 400;
 }
 </style>

+ 5 - 1
src/views/taskManagement/tranManagementLook.vue

@@ -29,7 +29,7 @@
             {{ deptBudgetList.taskNo }}
           </ws-form-item>
           <!--合同编号-->
-          <ws-form-item label="合同编号" span="1" prop="contractNo">
+          <ws-form-item label="合同编号/移库任务编号" span="1" prop="contractNo">
             {{ deptBudgetList.contractNo }}
           </ws-form-item>
           <!--货名-->
@@ -433,4 +433,8 @@ export default {
   font-size: 16px;
   color: #69708c;
 }
+.el-form{
+      height: 73vh;
+    overflow: scroll;
+}
 </style>

+ 50 - 22
src/views/taskManagement/tranManagementTransport.vue

@@ -1,7 +1,7 @@
 <!--运输任务-->
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="12">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
         <ws-button
           class="but"
@@ -10,18 +10,45 @@
           v-hasPermission="
            `transportationTask.transportation.transportationInfo.add`
           "
-        >添加</ws-button>
-        <ws-button class="but" :type="primary == 1 ? 'primary' : ''" @click="handlestatus(1)">执行中</ws-button>
+        ><img
+            width="13"
+            height="13"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 2px;
+              left: -4px;
+            "
+            src="../../../public/img/header-add.png"
+            alt=""
+          />添加</ws-button>
+        <!-- <ws-button class="but" :type="primary == 1 ? 'primary' : ''" @click="handlestatus(1)">执行中</ws-button>
         <ws-button class="but" :type="primary == 2 ? 'primary' : ''" @click="handlestatus(2)">已完成</ws-button>
-        <ws-button class="but" :type="primary == 3 ? 'primary' : ''" @click="handlestatus('')">全部任务</ws-button>
+        <ws-button class="but" :type="primary == 3 ? 'primary' : ''" @click="handlestatus('')">全部任务</ws-button> -->
       </template>
       <template slot="right">
-        <span style="width: 134px; display: inline-block">起点:</span>
+        <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
+        <span style="width: 142px; display: inline-block;color: #8890B1;">起点:</span>
         <el-input label="起点" placeholder="请输入起点" clearable maxlength="200" type="input"></el-input>
-        <span style="width: 134px; display: inline-block">终点:</span>
+        <span style="width: 142px; display: inline-block;color: #8890B1;">终点:</span>
         <el-input label="终点" placeholder="请输入终点" clearable maxlength="200" type="input"></el-input>
         <el-input
-          v-model="warehouseName"
+          v-model="searchKeyWord"
           placeholder="可按合同编号或运输任务编号查找"
           clearable
           maxlength="500"
@@ -53,7 +80,7 @@
         class="wenzi"
         :data="gainList.records"
         style="width: 100%; "
-        height="780"
+        height="680"
       >
         <el-table-column type="index" label="序号">
           <template scope="scope">
@@ -126,13 +153,6 @@
         </el-table-column>
         <el-table-column prop="seller" label="操作" width="300">
           <template slot-scope="scope">
-            <!-- <ws-button class="completed" @click="nocomplete(scope.row)">
-              查看
-            </ws-button>
-            <ws-button class="putstorage" @click="delivery(scope.row)">
-              编辑
-            </ws-button>
-            <ws-button @click="deleteclick(scope.row)"> 删除 </ws-button>-->
             <div
               class="record"
               @click="nocomplete(scope.row)"
@@ -169,11 +189,9 @@
   </div>
 </template>
 <script>
-import { gain, deltran } from '@/model/tasksport/index'
-import { downloadFile } from '@/utils/batchDown'
+import { gain, deltran,states } from '@/model/tasksport/index'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
 export default {
   name: 'viewSpareMoney',
   components: {
@@ -207,8 +225,9 @@ export default {
       primary: 1,
       deptBudgetTotal:0,
       pageSize: 10,
+      deptBudgetTotal:0,
       searchType: 1,
-      searchTypeText: '未完成',
+      searchTypeText: '执行中',
       searchKeyWord: '',
       contractType: 2,
       // 提交类型
@@ -224,7 +243,12 @@ export default {
           return time.getTime() > Date.now()
         }
       },
-      accessoryTFs: false
+      accessoryTFs: false,
+       taskTypeList: [
+        { value: '执行中', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '全部任务', type: 3 },
+      ],
     }
   },
   activated() {
@@ -418,7 +442,7 @@ export default {
         type: 'warning'
       })
         .then(() => {
-          editstatus({ id: row.id })
+          states({ id: row.id })
             .toPromise()
             .then(response => {
               this.$notify.success({
@@ -473,6 +497,10 @@ export default {
   background-color: #5878e8;
   border-color: #5878e8;
 }
+.el-pagination{
+  padding-top: 20px;
+  text-align: center;
+}
 .el-button--default {
   color: #8890b1;
   border-color: #e8eaf1;
@@ -524,7 +552,7 @@ export default {
 }
 /deep/.el-table td,
 /deep/.el-table th.is-leaf {
-  border-right: 1px solid transparent;
+  border-right: 1px solid #E9ECF7;
   text-align: center;
 }
 .findValue.el-input {

+ 117 - 12
src/views/taskManagement/tranManagementTransportAdd.vue

@@ -31,7 +31,6 @@
           <el-select
             v-model="deptBudgetList.taskType"
             placeholder="请输入任务类型"
-            class="typeselect"
             @change="selecttaskType"
           >
             <el-option
@@ -42,8 +41,16 @@
             ></el-option>
           </el-select>
         </el-form-item>
+
         <el-form-item prop="contractNo" label="合同编号" span="1">
           <el-select v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" class="typeselect">
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="contractNo" label="合同编号/移库任务编号" span="1">
+          <el-select
+            v-model="deptBudgetList.contractNo"
+            placeholder="请选择编号"
+          >
             <el-option
               v-for="item in contractNoList"
               :key="item.constKey"
@@ -56,7 +63,6 @@
           <el-select
             v-model="deptBudgetList.goodsName"
             placeholder="请输入货名"
-            class="typeselect"
             @change="selectgoodsname"
           >
             <el-option
@@ -68,14 +74,40 @@
           </el-select>
         </el-form-item>
         <el-form-item label="重量(吨)" span="1" prop="weight">
+
           <el-input v-model="deptBudgetList.weight" placeholder="请输入重量" maxlength="20" size="small"></el-input>
+
+          <el-input
+          @input='weightchange'
+            v-model="deptBudgetList.weight"
+            placeholder="请输入重量"
+            maxlength="20"
+            size="small"
+          ></el-input>
+
         </el-form-item>
       </ws-info-table>
       <ws-info-table class="el-table">
         <div class="start-address" style="width : 36%">
           <el-radio v-model="deptBudgetList.warehouseType" label="1">常用仓库发货</el-radio>
           <el-radio v-model="deptBudgetList.warehouseType" label="2">临时仓库发货</el-radio>
-          <el-select v-model="deptBudgetList.sendWarehouse" placeholder="选择仓库" class="typeselect">
+          <el-select v-model="deptBudgetList.sendWarehouse" placeholder="选择仓库" class="typeselect"></el-select>
+
+          <el-radio-group @change='warehouseTypechange' v-model="deptBudgetList.warehouseType">
+          <el-radio label="1"
+            >常用仓库发货</el-radio
+          >
+          <el-radio label="2"
+            >临时仓库发货</el-radio
+          >
+          </el-radio-group>
+          <el-select
+          @change='sendWarehousechange'
+            v-model="deptBudgetList.sendWarehouse"
+            placeholder="选择仓库"
+            class="typeselect"
+          >
+
             <el-option
               v-for="item in warehouseList"
               :key="item.constKey"
@@ -118,7 +150,6 @@
             v-model="deptBudgetList.receiveWarehouse"
             :disabled="warehouse"
             placeholder="请输入收货库点"
-            class="typeselect"
             style="width: 100%"
           >
             <el-option
@@ -174,7 +205,7 @@
             width="22"
             height="22"
             class="add"
-            @click="add"
+            @click="add(index)"
             src="../../../public/img/add.png"
             alt
           />
@@ -191,6 +222,8 @@
             v-if="index == deptBudgetList.tranProcessInfoList.length - 1"
           >最终阶段</span>
           <el-checkbox
+          @change='engflagchange'
+           class='endflag'
             v-if="index == deptBudgetList.tranProcessInfoList.length - 1"
             v-model="item.endFlag"
             :label="1"
@@ -206,7 +239,6 @@
             <el-select
               v-model="item.tranType"
               placeholder="运输方式"
-              class="typeselect"
               @change="
                 (val) => {
                   selecttaskwayList(val, index)
@@ -340,6 +372,7 @@ export default {
   data() {
     let self = this
     return {
+      flag:2,
       checkList: [],
       deptBudgetList: {
         taskNo: '',
@@ -377,6 +410,7 @@ export default {
       options_: regionData,
       heightData: '600px',
       zoom: 7,
+      endflag:false,
       selectedOptions: [],
       selectedOptions1: [],
       window: '',
@@ -423,6 +457,35 @@ export default {
     }
   },
   methods: {
+    sendWarehousechange(e){
+      for (let i = 0; i < this.warehouseList.length; i++) {
+        if(this.warehouseList[i].warehouseName==e){
+          var tmp=[]
+          tmp[0]=TextToCode[this.warehouseList[i].warehousePrivate].code
+          tmp[1]=TextToCode[this.warehouseList[i].warehousePrivate][this.warehouseList[i].warehouseCity].code
+          tmp[2]=TextToCode[this.warehouseList[i].warehousePrivate][this.warehouseList[i].warehouseCity][this.warehouseList[i].warehouseArea].code
+          this.selectedOptions=tmp
+          this.deptBudgetList.tranProcessInfoList[0].selectedOptions=tmp
+          this.deptBudgetList.startDetailedAddress=this.warehouseList[i].detailedAddress
+        }
+      }
+    },
+    warehouseTypechange(){
+        getwarehousename({
+        compId: this.compId,
+        warehouseType: this.deptBudgetList.warehouseType,
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList = response
+        })
+    },
+    weightchange(e){
+      this.deptBudgetList.tranProcessInfoList[0].weight=e
+    },
+    engflagchange(e){
+      this.endflag=e
+    },
     // 获取当前年月日
     getdate() {
       var date = new Date()
@@ -454,6 +517,7 @@ export default {
     },
     loaddata() {
       this.deptBudgetList.taskNo = 'YS' + this.getdate() + this.verifyinit()
+      this.deptBudgetList.tranProcessInfoList[0].processNo=this.deptBudgetList.taskNo+'-1'
       // 货名
       packList({ constId: 'CON2' })
         .toPromise()
@@ -497,13 +561,15 @@ export default {
     handleClose() {
       this.dialogViewSpareMoney = false
     },
-    add() {
+    add(index) {
+      console.log(index)
       this.deptBudgetList.tranProcessInfoList.push({
+        processNo: this.deptBudgetList.taskNo+'-'+(index+2),
         tranType: '汽运',
         tranTypeKey: '1',
         deliveryDateStart: '',
         deliveryDateEnd: '',
-        weight: '',
+        weight: this.deptBudgetList.tranProcessInfoList[this.deptBudgetList.tranProcessInfoList.length-1].weight,
         selectedOptions: [],
         selectedOptions1: [],
         sendPrivate: '',
@@ -556,6 +622,36 @@ export default {
     },
     returnsales() {
       this.$router.push({ path: 'tranManagementTransport' })
+      this.deptBudgetList = {
+                taskNo: '',
+                totalStorage: 0,
+                goodsName: '玉米',
+                goodsNameKey: 1,
+                warehouseType: '1',
+                tranProcessInfoList: [
+                  {
+                    processNo: '',
+                    tranType: '汽运',
+                    deliveryDateStart: '',
+                    deliveryDateEnd: '',
+                    weight: '',
+                    selectedOptions: [],
+                    selectedOptions1: [],
+                    sendPrivate: '',
+                    sendCity: '',
+                    sendArea: '',
+                    receivePrivate: '',
+                    receiveCity: '',
+                    receiveArea: '',
+                    sendDetailedAddress: '',
+                    receiveDetailedAddress: '',
+                    sender: '',
+                    receiver: '',
+                    senderPhone: '',
+                    receiverPhone: '',
+                  },
+                ],
+              }
     },
     selecttaskType(e) {
       for (var i = 0; i < this.taskType.length; i++) {
@@ -765,6 +861,10 @@ export default {
   font-size: 14px;
   color: #8890b1;
 }
+.typeselect{
+  width:42%;
+  margin-left:32px;
+}
 .del,
 .add {
   cursor: pointer;
@@ -816,7 +916,9 @@ export default {
 .el-form {
   margin-top: 50px;
 }
-
+.endflag{
+  vertical-align: top;
+}
 .el-col {
   background: #f6f7fc;
 }
@@ -859,6 +961,9 @@ export default {
     }
   }
 }
+/deep/.el-table--border:after, /deep/.el-table--group:after, /deep/.el-table:before {
+  background:transparent;
+}
 //输入框标题
 /deep/.ws-info-table .el-form-item .el-form-item__label {
   background: #ffffff;
@@ -888,8 +993,8 @@ export default {
 .el-cascader {
   width: 100%;
 }
-.container {
-  overflow: scroll;
-  height: 93vh;
+.el-form{
+      height: 73vh;
+    overflow: scroll;
 }
 </style>

+ 61 - 24
src/views/taskManagement/tranManagementTransportEdit.vue

@@ -38,8 +38,7 @@
         <el-form-item prop="taskType" label="任务类型" span="1">
           <el-select
             v-model="deptBudgetList.taskType"
-            placeholder=""
-            class="typeselect"
+            placeholder="请输入任务类型"
             @change="selecttaskType"
           >
             <el-option
@@ -50,11 +49,10 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item prop="contractNo" label="合同编号" span="1">
+        <el-form-item prop="contractNo" label="合同编号/移库任务编号" span="1">
           <el-select
             v-model="deptBudgetList.contractNo"
-            placeholder="请输入合同编号"
-            class="typeselect"
+            placeholder="请选择编号"
           >
             <el-option
               v-for="item in contractNoList"
@@ -67,8 +65,7 @@
         <el-form-item prop="goodsName" label="货名" span="1">
           <el-select
             v-model="deptBudgetList.goodsName"
-            placeholder="货名"
-            class="typeselect"
+            placeholder="请输入货名"
             @change="selectgoodsname"
           >
             <el-option
@@ -81,6 +78,7 @@
         </el-form-item>
         <el-form-item label="重量(吨)" span="1" prop="weight">
           <el-input
+          @input='weightchange'
             v-model="deptBudgetList.weight"
             placeholder="请输入重量"
             maxlength="20"
@@ -89,13 +87,15 @@
         </el-form-item>
       </ws-info-table>
       <ws-info-table class="el-table">
-        <div class="start-address">
-          <el-radio v-model="deptBudgetList.warehouseType" label="1"
+        <div class="start-address" style="width : 36%">
+          <el-radio-group @change='warehouseTypechange' v-model="deptBudgetList.warehouseType">
+          <el-radio label="1"
             >常用仓库发货</el-radio
           >
-          <el-radio v-model="deptBudgetList.warehouseType" label="2"
+          <el-radio label="2"
             >临时仓库发货</el-radio
           >
+          </el-radio-group>
           <el-select
             v-model="deptBudgetList.sendWarehouse"
             placeholder="选择仓库"
@@ -116,7 +116,6 @@
             clearable
             size="large"
             placeholder="请选择始发地"
-            style="width: 200%"
             @change="handleChange"
           />
         </el-form-item>
@@ -138,12 +137,12 @@
           span="1"
           prop="contractNo"
           class="start-address"
-          style="width: 33.333%"
+          style="width: 36%"
         >
           <el-select
             v-model="deptBudgetList.receiveWarehouse"
+            :disabled="warehouse"
             placeholder="请输入收货库点"
-            class="typeselect"
             style="width: 100%"
           >
             <el-option
@@ -166,7 +165,6 @@
             clearable
             size="large"
             placeholder="请选择终到地"
-            style="width: 200%"
             @change="handleChange1"
           />
         </el-form-item>
@@ -197,14 +195,15 @@
         style="width: 100%"
         class="position"
         v-for="(item, index) in deptBudgetList.tranProcessInfoList"
+        :key="index"
       >
         <div class="driver">
-         运输阶段&nbsp;&nbsp;{{ index+1 }}&nbsp;&nbsp;({{ item.processNo }})
-          <img
+          <span style='vertical-align: top;'>运输阶段{{ index + 1 }} {{ item.processNo }}</span>
+          <img v-if='!endflag'
             width="22"
             height="22"
             class="add"
-            @click="add"
+            @click="add(index)"
             src="../../../public/img/add.png"
             alt=""
           />
@@ -216,13 +215,20 @@
             src="../../../public/img/del.png"
             alt=""
           />
+          <el-checkbox
+          @change='engflagchange'
+           class='endflag'
+            v-if="index == deptBudgetList.tranProcessInfoList.length - 1"
+            v-model="item.endFlag"
+            :label="1"
+            >最终阶段</el-checkbox
+          >     
         </div>
         <ws-info-table>
           <el-form-item label="运输方式" span="1" prop="waterContent">
             <el-select
               v-model="item.tranType"
               placeholder="运输方式"
-              class="typeselect"
               @change="
                 (val) => {
                   selecttaskwayList(val, index)
@@ -350,9 +356,12 @@
       </div>
     </el-form>
     <!-- 提交 -->
-    <!-- 提交 -->
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
+      <el-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="submit(deptBudgetList)"
         >提交</el-button
       >
     </div>
@@ -389,6 +398,7 @@ export default {
       checkList: [],
       deptBudgetList: {},
       radio: '1',
+      endflag:false,
       carModelList: [],
       carLengthList: [],
       warehouseType: '1',
@@ -427,6 +437,22 @@ export default {
     },
   },
   methods: {
+    warehouseTypechange(){
+        getwarehousename({
+        compId: this.compId,
+        warehouseType: this.deptBudgetList.warehouseType,
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList = response
+        })
+    },
+    weightchange(e){
+      this.deptBudgetList.tranProcessInfoList[0].weight=e
+    },
+    engflagchange(e){
+      this.endflag=e
+    },
     loaddata() {
       examinetran({ id: this.$route.query.id })
         .toPromise()
@@ -496,7 +522,7 @@ export default {
         })
       getwarehousename({
         compId: this.compId,
-        warehouseType: this.warehouseType,
+        warehouseType: this.deptBudgetList.warehouseType,
       })
         .toPromise()
         .then((response) => {
@@ -640,6 +666,10 @@ export default {
 .position .ws-info-table .el-form-item {
   width: 25%;
 }
+.typeselect{
+  width:42%;
+  margin-left:32px;
+}
 /deep/.position .ws-info-table .el-form-item .el-form-item__label,
 /deep/.position .ws-info-table .el-form-item .el-form-item__content {
   background: #f6f7fc;
@@ -661,12 +691,18 @@ export default {
 /deep/.el-checkbox__label {
   color: #8890b1;
 }
+.el-form-item.start-address.el-form-item--small {
+  width: 31.9%;
+}
 .check-box {
   margin-top: 10px;
   margin-left: 16px;
   color: #8890b1;
   font-size: 14px;
 }
+/deep/.el-table--border:after, /deep/.el-table--group:after, /deep/.el-table:before {
+  background:transparent;
+}
 .el-form {
   padding: 0 10%;
 }
@@ -700,9 +736,6 @@ export default {
 .el-form {
   margin-top: 50px;
 }
-.el-form-item.start-address.el-form-item--small {
-  width: 33.3%;
-}
 .el-col {
   background: #f6f7fc;
 }
@@ -768,4 +801,8 @@ export default {
   font-size: 16px;
   color: #5473e8;
 }
+.el-form{
+      height: 73vh;
+    overflow: scroll;
+}
 </style>

+ 54 - 55
src/views/taskManagement/tranManagementWarehouseInOutTask.vue

@@ -1,7 +1,7 @@
 <!--出入库任务-->
 <template>
   <div class="container">
-    <BaseHeaderLayout :leftSpan="14">
+    <BaseHeaderLayout :leftSpan="12">
       <template slot="left">
         <ws-button
           type="primary"
@@ -23,38 +23,24 @@
             alt
           />添加
         </ws-button>
-        <ws-button
-          class="but"
-          :type="primary == 1 ? 'primary' : ''"
-          @click="handlestatus(1)"
-          >待审核</ws-button
-        >
-        <ws-button
-          class="but"
-          :type="primary == 2 ? 'primary' : ''"
-          @click="handlestatus(2)"
-          >已驳回</ws-button
-        >
-        <ws-button
-          class="but"
-          :type="primary == 3 ? 'primary' : ''"
-          @click="handlestatus(3)"
-          >执行中</ws-button
-        >
-        <ws-button
-          class="but"
-          :type="primary == 4 ? 'primary' : ''"
-          @click="handlestatus(4)"
-          >已完成</ws-button
-        >
-        <ws-button
-          class="but"
-          :type="primary == 5 ? 'primary' : ''"
-          @click="handlestatus('')"
-          >全部任务</ws-button
-        >
       </template>
       <template slot="right">
+         <span style="width: 70px; display: inline-block;color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
         <ws-input
           v-model="warehouseName"
           placeholder="可按合同编号或任务编号查找"
@@ -195,7 +181,7 @@
               class="record"
               @click="nocomplete(scope.row)"
               v-hasPermission="
-                `warehouseManagement.warehouse.warehouseInfoTask.view`
+                `warehouseManagement.warehouse.warehouseInfoTask.View`
               "
             >
               查看
@@ -228,8 +214,7 @@
                 `warehouseManagement.warehouse.warehouseInfoTask.delete`
               "
               v-if="
-                scope.row.taskStatus == '执行中' ||
-                scope.row.taskStatus == '已驳回'
+                scope.row.taskId==null
               "
               class="adjustment"
               @click="deleteclick(scope.row)"
@@ -251,7 +236,7 @@
   </div>
 </template>
 <script>
-import { getoreditoutput, outdelete } from '@/model/tasksport/index'
+import { getoreditoutput, outdelete ,movestates} from '@/model/tasksport/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -289,9 +274,16 @@ export default {
       primary: '1',
       pageSize: 10,
       searchType: 1,
-      searchTypeText: '未完成',
+      searchTypeText: '待审核',
       searchKeyWord: '',
       contractType: 2,
+       taskTypeList: [
+        { value: '待审核', type: 1 },
+        { value: '执行中', type: 3 },
+         { value: '已驳回', type: 2 },
+        { value: '已完成', type: 4 },
+        { value: '全部任务', type: '' },
+      ],
       // 提交类型
       submitType: true,
       size: 10,
@@ -372,25 +364,25 @@ export default {
           this.deptBudgetTotal = response.total
         })
     },
-    handlestatus(status) {
-      if (status == 1) {
-        this.primary = 1
-      } else if (status == 2) {
-        this.primary = 2
-      } else if (status == 3) {
-        this.primary = 3
-      } else if (status == 4) {
-        this.primary = 4
-      } else {
-        this.primary = 5
-      }
-      this.searchType = status
-      this.getList()
-    },
+    // handlestatus(status) {
+    //   if (status == 1) {
+    //     this.primary = 1
+    //   } else if (status == 2) {
+    //     this.primary = 2
+    //   } else if (status == 3) {
+    //     this.primary = 3
+    //   } else if (status == 4) {
+    //     this.primary = 4
+    //   } else {
+    //     this.primary = 5
+    //   }
+    //   this.searchType = status
+    //   this.getList()
+    // },
     //编辑
     delivery(item) {
       this.$router.push({
-        path: 'tranManagementWarehouseInOutTaskEdit',
+        path: 'tranManagementWarehouseInOutTaskaudit',
         query: {
           relevanceId: item.relevanceId,
         },
@@ -474,9 +466,9 @@ export default {
     },
     editClick(row) {
       var status = ''
-      if (row.status == '待审核' || row.status == '已完成') {
+      if (row.taskStatus == '待审核' || row.taskStatus == '已完成') {
         status = '执行中'
-      } else if (row.status == '执行中') {
+      } else if (row.taskStatus == '执行中') {
         status = '已完成'
       }
       //cancelButtonClass: "btn-custom-cancel"
@@ -486,7 +478,7 @@ export default {
         type: 'warning',
       })
         .then(() => {
-          editstatus({ id: row.id })
+          movestates({ id: row.id })
             .toPromise()
             .then((response) => {
               this.$notify.success({
@@ -690,4 +682,11 @@ export default {
 .done {
   background: #50cad4;
 }
+.el-select{
+  width: 30%;
+    margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 46 - 22
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -102,7 +102,7 @@
           </el-form-item>
           <el-form-item v-if='dataList.taskTypeKey == 3' label="移库任务编号">
             <el-input
-            @change="selectTaskNo"
+            @input="selectTaskNo"
               v-model="dataList.moveTaskNo"
               placeholder="请输入移库任务编号"
               class="typeselect"
@@ -223,7 +223,7 @@
             </el-select>
           </el-form-item>
           <!--业务描述=-->
-          <el-form-item label="业务描述" span="20">
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="业务描述" span="20">
             <el-input
               v-model="dataList.businessDescribe"
               placeholder="请输入业务描述,不超过150字"
@@ -245,7 +245,7 @@
         <div class="small-title">
           <h3>入库任务({{ inOutTaskNo1 }} )</h3>
         </div>
-        <el-form ref="form" :model="form" label-width="140px">
+        <el-form v-if='!deletetask' ref="form" :model="form" label-width="140px">
           <!-- 仓库名 -->
           <el-form-item label="仓库名">
             <el-select
@@ -261,7 +261,7 @@
               />
             </el-select>
           </el-form-item>
-          <!-- 库类型 -->
+          <!-- 库类型 -->
           <el-form-item label="入库类型">
             <el-select
             :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
@@ -294,7 +294,7 @@
               class="typeselect"
             >
               <el-option
-                v-for="item in contractNoList"
+                v-for="item in contractNoList1"
                 :key="item.constKey"
                 :label="item.contractNo"
                 :value="item.contractNo"
@@ -430,7 +430,7 @@
             </el-select>
           </el-form-item>
           <!--业务描述=-->
-          <el-form-item label="业务描述">
+          <el-form-item v-if='dataList.taskTypeKey != 4' label="业务描述">
             <el-input
               v-model="dataList1.businessDescribe"
               placeholder="请输入业务描述,不超过150字"
@@ -684,12 +684,31 @@ export default {
     isShow(val) {
       this.showType = val
     },
+    flag(val){
+      xialaNo({
+        compId: this.compId,
+        flag: val
+      })
+        .toPromise()
+        .then((response) => {
+          if(this.dataList1.taskTypeKey == 2 || this.dataList1.taskTypeKey == 4){
+              this.contractNoList1 = response
+              if(this.dataList1.taskTypeKey == 2){
+                this.contractNoList = response
+              }
+          }
+          else{
+              this.contractNoList = response
+          }
+        })
+    }
   },
   computed: {
     ...mapGetters(['deptBudgetList']),
   },
   data() {
     return {
+      flag:1,
       //弹出框
       dialogViewSpareMoney: false,
       dialogApproveFormVisible: false,
@@ -703,6 +722,7 @@ export default {
       // 年
       year: '',
       contractNoList: [],
+      contractNoList1: [],
       deptBudgetTotal: 0,
       readonly: true,
       currentPage: 1,
@@ -729,6 +749,7 @@ export default {
       warehouseNameList1: [],
       appendixIdsAdd: '',
       uploadSuccess: {},
+      deletetask:false,
       warehouseInOutDetail: {},
       onChange: {},
       deptBudgetList1: [],
@@ -807,7 +828,7 @@ export default {
     },
     selectTaskNo(e){
       if(this.dataList.taskTypeKey==3){
-          this.dataList1.moveTaskNo=e
+        this.$set(this.dataList1,'moveTaskNo',e)
       }
     },
     dataFilter(val) {
@@ -935,7 +956,11 @@ export default {
       ) {
         this.dataList.inOutTaskNo = this.inOutTaskNo
         this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
-
+        if(this.dataList.taskTypeKey == 3){
+          this.dataList.businessDescribe=this.dataList1.businessDescribe
+        }else{
+          this.dataList1.businessDescribe=this.dataList.businessDescribe
+        }
         this.requestadd(this.dataList, 'repetition')
         this.dataList1.inOutTaskNo = this.inOutTaskNo1
         this.dataList1.relevanceId = this.dataList.relevanceId
@@ -995,6 +1020,10 @@ export default {
       }
     },
     selectstorageType(e) {
+      switch(e){
+        case "采购出库": this.flag = 0;break
+        case "销售出库": this.flag = 1;break
+      }
       for (var i = 0; i < this.storageType.length; i++) {
         if (this.storageType[i].constValue == e) {
           this.dataList.inOutTypeKey = this.storageType[i].constKey
@@ -1002,6 +1031,10 @@ export default {
       }
     },
     selectstorageType1(e) {
+      switch(e){
+        case "采购入库": this.flag = 0;break
+        case "退库": this.flag = 2;break
+      }
       for (var i = 0; i < this.storageType1.length; i++) {
         if (this.storageType1[i].constValue == e) {
           this.dataList1.inOutTypeKey = this.storageType1[i].constKey
@@ -1047,10 +1080,12 @@ export default {
       if(this.dataList.taskTypeKey==1){
         this.dataList.inOutType='销售出库'
         this.dataList.inOutTypeKey='1'
+        this.flag = 1
       }
       if(this.dataList1.taskTypeKey==2){
         this.dataList1.inOutType='采购入库'
         this.dataList1.inOutTypeKey='1'
+        this.flag = 0
       }
       else if(this.dataList1.taskTypeKey==3){
         this.disabled=true
@@ -1063,6 +1098,7 @@ export default {
         this.dataList1.inOutType='退库'
         this.dataList1.inOutTypeKey='6'
         this.dataList.inOutType='销售出库'
+        this.flag = 2
         this.dataList.inOutTypeKey='1'
       }
     },
@@ -1072,18 +1108,6 @@ export default {
       return Min + Math.round(Rand * Range)
     },
     getList() {
-      if (this.$route.query.relevanceId) {
-        outexamine({ relevanceId: this.$route.query.relevanceId })
-          .toPromise()
-          .then((response) => {
-            if (response.length > 1) {
-              this.dataList = response[0]
-              this.dataList1 = response[1]
-            } else {
-              this.dataList = response[0]
-            }
-          })
-      } else {
         this.tasknumber()
         this.$set(this.dataList,'inOutType','销售出库')
         this.$set(this.dataList,'inOutTypeKey','1')
@@ -1095,8 +1119,6 @@ export default {
         this.$set(this.dataList1,'goodsNameKey','1')
         this.$set(this.dataList1,'grade','一等品')
         this.$set(this.dataList1,'gradeKey','1')
-      }
-      
       // 货名
       pullDown({ constId: 'CON2' })
         .toPromise()
@@ -1121,10 +1143,12 @@ export default {
         })
       xialaNo({
         compId: this.compId,
+        flag: this.flag
       })
         .toPromise()
         .then((response) => {
           this.contractNoList = response
+          // this.contractNoList1 = response
         })
       // //临时仓库入库类型
       // pullDown({ constId: 'WARE1' })

+ 1515 - 0
src/views/taskManagement/tranManagementWarehouseInOutTaskAudit.vue

@@ -0,0 +1,1515 @@
+// 审核出入库任务
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">审核出入库任务</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="basicInformation">
+      <div class="annu">
+        <el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey">
+        <!-- <el-radio label="1" class="a">出库</el-radio>
+        <el-radio label="2" class="a">入库</el-radio>
+        <el-radio label="3" class="a">移库</el-radio>
+        <el-radio label="4" class="a">退库并出库</el-radio> -->
+      </el-radio-group>
+        <div class="nav">
+        <span class="ziti">
+          任务类型:
+          <h1 class="ziti1">{{dataList.inOutType}}</h1>
+        </span>
+      </div>
+      </div>
+      <div class="ding"></div>
+       <div v-if="dataList.taskTypeKey != 2&&dataList.taskTypeKey != 4" class="center1">
+          <img
+            style="position: relative; top: 40px; left: 128px;" 
+            width="19"
+            height="19"
+            src="../../../public/img/cangku.png"
+            alt=""
+          />
+        <!--出库=-->
+        <div class="small-title">
+          <h3>出库任务({{ dataList.inOutTaskNo }})</h3>
+        </div>
+        <el-form ref="dataList" :model="dataList" label-width="140px">
+          <!-- 仓库名 -->
+          <el-form-item label="仓库名">
+            <el-select
+            disabled
+              v-model="dataList.warehouseName"
+              placeholder="请选择仓库名"
+              class="typeselect"
+              @change="selectwarehouseName"
+            >
+              <el-option
+                v-for="item in warehouseNameList"
+                :key="item.constKey"
+                :label="item.warehouseName"
+                :value="item.warehouseName"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 出库类型 -->
+          <el-form-item label="出库类型">
+            <el-select
+            disabled       
+              v-model="dataList.inOutType"
+              placeholder="请选择出库类型"
+              class="typeselect"
+              @change="selectstorageType"
+            >
+              <el-option
+                v-for="item in storageType"
+                :key="item.constKey"
+                v-if="
+                  (dataList.taskTypeKey == 1 &&
+                    item.constValue != '移库出库') ||
+                  (dataList.taskTypeKey == 3 &&
+                    item.constValue == '移库出库') ||
+                  (dataList.taskTypeKey == 4 && item.constValue == '销售出库')
+                "
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 合同编号 -->
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="合同编号">
+            <el-select
+            disabled
+            @change='changecontract'
+              v-model="dataList.contractNo"
+              placeholder="请输入合同编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item v-if='dataList.taskTypeKey == 3' label="移库任务编号">
+            <el-select
+            disabled
+            @change="selectTaskNo"
+              v-model="dataList.moveTaskNo"
+              placeholder="请输入移库任务编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="货名" class="huom">
+            <el-select
+            disabled
+              v-model="dataList.goodsName"
+              placeholder="货名"
+              class="huom"
+              @change="selectgoodsName"
+            >
+              <el-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!--重量(吨)-->
+          <el-form-item label="重量(吨)" span="1" style=" margin-left: 350px; margin-top: -40px" >
+            <el-input
+            disabled
+              v-model="dataList.weight"
+              placeholder="请输入重量"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!-- 品级 -->
+          <el-form-item label="品级">
+            <el-select
+              v-model="dataList.grade"
+              placeholder=""
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <el-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!--容重(克/升)>=-->
+          <el-form-item label="容重(克/升)>=">
+            <el-input
+            @input='bulkDensitychange'
+              v-model="dataList.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small" 
+              class="huom"
+            />
+          </el-form-item>
+          <!--水分(%)<=-->
+          <el-form-item label="水分(%)<=" span="1" style=" margin-left: 350px; margin-top: -40px" >
+            <el-input
+            @input='waterContentchange'
+              v-model="dataList.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--单价(元/吨)-->
+          <el-form-item label="单价(元/吨)" span="1" style=" margin-left: 650px; margin-top: -40px" >
+            <el-input
+            @input='unitPricechange'
+              v-model="dataList.unitPrice"
+              placeholder="请输入单价"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--预计出库日期-->
+          <el-form-item
+            label="预计出库日期"
+            span="1"
+            prop="predictDate"
+            class="deliverydate"
+          >
+            <el-date-picker
+            disabled
+              v-model="dataList.predictDate"
+              type="date"
+              placeholder="请选择预计出库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </el-form-item>
+          <!--经办人-->
+          <el-form-item label="出库经办人">
+            <el-select
+            disabled
+              v-model="dataList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </el-form-item>
+          <!--业务描述=-->
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="业务描述" span="1">
+            <el-input
+              v-model="dataList.businessDescribe"
+              placeholder="请输入业务描述,不超过150字"
+              maxlength="150"
+              size="large"
+              class="yewu"
+              
+            />
+          </el-form-item>
+          <el-form-item label="仓位号(选填)" span="1">
+            <el-input
+              v-model="dataList.binNumber"
+              placeholder="请输入仓位号"
+              maxlength="150"
+              size="large"
+              class="yewu"
+              
+            />
+          </el-form-item>
+        </el-form>
+      </div>
+      <div v-show="dataList.taskTypeKey != 1" class="center1">
+        <img
+            style="position: relative; top: 40px; left: 128px;" 
+            width="19"
+            height="19"
+            src="../../../public/img/cangku.png"
+            alt=""
+          />
+        <div class="small-title">
+          <h3>入库任务({{ dataList1.inOutTaskNo }}) <span v-if='deletetask' style='color:red;'>已删除</span></h3>
+        </div>
+        <el-form v-if='!deletetask' ref="form" :model="form" label-width="140px">
+          <!-- 仓库名 -->
+          <el-form-item label="仓库名">
+            <el-select
+            disabled
+              v-model="dataList1.warehouseName"
+              placeholder="请选择仓库名"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in warehouseNameList"
+                :key="item.constKey"
+                :label="item.warehouseName"
+                :value="item.warehouseName"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 出库类型 -->
+          <el-form-item label="入库类型">
+            <el-select
+            disabled
+              v-model="dataList1.inOutType"
+              placeholder="请选择入库类型"
+              class="typeselect"
+              @change="selectstorageType1"
+            >
+              <el-option
+                v-for="item in storageType1"
+                :key="item.constKey"
+                v-if="
+                  (dataList1.taskTypeKey == 2 &&
+                    item.constValue != '移库入库') ||
+                  (dataList1.taskTypeKey == 3 &&
+                    item.constValue == '移库入库') ||
+                  (dataList1.taskTypeKey == 4 && item.constValue == '退库')
+                "
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 合同编号 -->
+          <el-form-item v-if='dataList1.taskTypeKey != 3' label="合同编号">
+            <el-select
+            disabled
+            @change='changecontract1'
+              v-model="dataList1.contractNo"
+              placeholder="请输入合同编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item v-if='dataList1.taskTypeKey == 3' label="移库任务编号">
+            <el-select
+            disabled
+              v-model="dataList1.moveTaskNo"
+              placeholder="请输入移库任务编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="货名" class="huom">
+            <el-select
+            disabled
+              v-model="dataList1.goodsName"
+              placeholder="货名"
+              class="huom"
+              @change="selectgoodsName1"
+            >
+              <el-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!--重量(吨)-->
+          <el-form-item label="重量(吨)" span="1" style=" margin-left: 350px; margin-top: -40px"  >
+            <el-input
+            @input='weightchange'
+              v-model="dataList1.weight"
+              placeholder="请输入重量"
+              maxlength="120"
+              size="small"
+              class="huom"
+              
+            />
+          </el-form-item>
+          <!-- 品级 -->
+          <el-form-item label="品级">
+            <el-select
+            :disabled='dataList.taskTypeKey == 3'
+              v-model="dataList1.grade"
+              placeholder=""
+              class="typeselect"
+              @change="selectpackingMethod1"
+            >
+              <el-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!--容重(克/升)>=-->
+          <el-form-item label="容重(克/升)>=">
+            <el-input
+            @input='bulkDensitychange'
+            :disabled='dataList.taskTypeKey == 3'
+              v-model="dataList1.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--水分(%)<=-->
+          <el-form-item label="水分(%)<="  span="1" style=" margin-left: 350px; margin-top: -40px">
+            <el-input
+            @input='waterContentchange'
+            :disabled='dataList.taskTypeKey == 3'
+              v-model="dataList1.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--单价(元/吨)-->
+          <el-form-item label="单价(元/吨)" span="1" style=" margin-left: 650px; margin-top: -40px" >
+            <el-input
+            @input='unitPricechange'
+            :disabled='dataList.taskTypeKey == 3'
+              v-model="dataList1.unitPrice"
+              placeholder="请输入单价"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--预计出库日期-->
+          <el-form-item
+            label="预计入库日期"
+            span="1"
+            prop="predictDate"
+            class="deliverydate"
+          >
+            <el-date-picker
+            disabled
+              v-model="dataList1.predictDate"
+              type="date"
+              placeholder="请选择预计入库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </el-form-item>
+          <!--经办人-->
+          <el-form-item label="入库经办人">
+            <el-select
+            disabled
+              v-model="dataList1.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff1"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </el-form-item>
+          <!--业务描述=-->
+          <el-form-item v-if='dataList.taskTypeKey != 4' label="业务描述">
+            <el-input
+              v-model="dataList1.businessDescribe"
+              placeholder="请输入业务描述,不超过150字"
+              maxlength="150"
+              size="large"
+            />
+          </el-form-item>
+          <el-form-item label="仓位号(选填)" span="1">
+            <el-input
+              v-model="dataList1.binNumber"
+              placeholder="请输入仓位号"
+              maxlength="150"
+              size="large"
+              class="yewu"
+              
+            />
+          </el-form-item>
+        </el-form>
+      </div>
+      <div v-if="dataList.taskTypeKey == 4" class="center1">
+        <!--出库=-->
+        <div class="small-title">
+          <img
+            style="position: relative; top: 40px; left: -22px;" 
+            width="19"
+            height="19"
+            src="../../../public/img/cangku.png"
+            alt=""
+          />
+          <h3>出库任务({{ inOutTaskNo }})</h3>
+        </div>
+        <el-form ref="dataList" :model="dataList" label-width="140px">
+          
+          <!-- 仓库名 -->
+          <el-form-item label="仓库名">
+            <el-select
+              v-model="dataList.warehouseName"
+              placeholder="请选择仓库名"
+              class="typeselect"
+              @change="selectwarehouseName"
+            >
+              <el-option
+                v-for="item in warehouseNameList"
+                :key="item.constKey"
+                :label="item.warehouseName"
+                :value="item.warehouseName"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 出库类型 -->
+          <el-form-item label="出库类型">
+            <el-select              
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.inOutType"
+              placeholder="请选择出库类型"
+              class="typeselect"
+              @change="selectstorageType"
+            >
+              <el-option
+                v-for="item in storageType"
+                :key="item.constKey"
+                v-if="
+                  (dataList.taskTypeKey == 1 &&
+                    item.constValue != '移库出库') ||
+                  (dataList.taskTypeKey == 3 &&
+                    item.constValue == '移库出库') ||
+                  (dataList.taskTypeKey == 4 && item.constValue == '销售出库')
+                "
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 合同编号 -->
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="合同编号">
+            <el-select
+            @change='changecontract'
+              v-model="dataList.contractNo"
+              placeholder="请输入合同编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item v-if='dataList.taskTypeKey == 3' label="移库任务编号">
+            <el-select
+            @change="selectTaskNo"
+              v-model="dataList.moveTaskNo"
+              placeholder="请输入移库任务编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="货名" class="huom" >
+            <el-select
+            :disabled='dataList.taskTypeKey != 3'
+              v-model="dataList.goodsName"
+              placeholder="货名"
+              class="huom"
+              @change="selectgoodsName"
+            >
+              <el-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!--重量(吨)-->
+          <el-form-item label="重量(吨)" span="1" style=" margin-left: 350px; margin-top: -40px">
+            <el-input
+            :disabled='dataList.taskTypeKey == 4'
+              v-model="dataList.weight"
+              placeholder="请输入重量"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!-- 品级 -->
+          <el-form-item label="品级">
+            <el-select
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.grade"
+              placeholder=""
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <el-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!--容重(克/升)>=-->
+          <el-form-item label="容重(克/升)>=">
+            <el-input
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--水分(%)<=-->
+          <el-form-item label="水分(%)<=" span="1" style=" margin-left: 350px; margin-top: -40px">
+            <el-input
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+              class="huom"
+            />
+          </el-form-item>
+          <!--单价(元/吨)-->
+          <el-form-item label="单价(元/吨)" span="1" style=" margin-left: 650px; margin-top: -40px">
+            <el-input
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.unitPrice"
+              placeholder="请输入单价"
+              maxlength="120"
+              size="small"
+               class="huom"
+            />
+          </el-form-item>
+          <!--预计出库日期-->
+          <el-form-item
+            label="预计出库日期"
+            span="1"
+            prop="predictDate"
+            class="deliverydate"
+          >
+            <el-date-picker
+              v-model="dataList.predictDate"
+              type="date"
+              placeholder="请选择预计出库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </el-form-item>
+          <!--经办人-->
+          <el-form-item label="出库经办人">
+            <el-select
+              v-model="dataList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </el-form-item>
+          <!--业务描述=-->
+          <el-form-item label="业务描述">
+            <el-input
+              v-model="dataList.businessDescribe"
+              placeholder="请输入业务描述,不超过150字"
+              maxlength="150"
+              size="large"
+            />
+          </el-form-item>
+        </el-form>
+      </div>
+    </div>
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button class="bg-bottom" type="primary" size="small" @click="reject()"
+        >驳回</el-button>
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
+        >通过</el-button
+      >
+    </div>
+    <WinseaContentModal
+      v-model="outerVisible"
+      title="驳回原因"
+      @on-cancel="handleClose"
+    >
+      <el-input
+        type="textarea"
+        :rows="2"
+        maxlength="30"
+        placeholder="请输入驳回原因,1~30个字"
+        v-model="disableReason"
+      >
+      </el-input>
+      <div class="dialog-footer">
+        <el-button @click="outerVisible = false">取 消</el-button>
+        <el-button type="primary" @click="disableReasons">确定</el-button>
+      </div>
+    </WinseaContentModal>
+  </div>
+  
+</template>
+<script>
+import {
+  getwarehousename,
+  xialaNo,
+  addoreditoutput,
+  outexamine,
+  getGoodsName,
+  warehousetask,
+  woekflowhandle
+} from '@/model/tasksport/index'
+import { packList } from '@/model/contarct/index'
+import { pullDown, getstaff } from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import { mapActions, mapGetters, mapState } from 'vuex'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList']),
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      disabled:false,
+      // 年
+      year: '',
+      disableReason:'',
+      contractNoList: [],
+      deptBudgetTotal: 0,
+      readonly: true,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      radio: '1',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: [],
+      checked: true,
+      form: {},
+      outerVisible:false,
+      staffList: [],
+      options: [],
+      storageType: [],
+      storageType1: [],
+      outContractNo: [],
+      // 提交类型
+      submitType: true,
+      status: [],
+      deletetask:false,
+      warehouseNameList: [],
+      warehouseNameList1: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      warehouseInOutDetail: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur',
+          },
+        ],
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      inOutTaskNo: '',
+      inOutTaskNo1: '',
+      dataList: { taskTypeKey: '1' },
+      dataList1: { taskTypeKey: '1' },
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    console.log(1111)
+    this.getList()
+  },
+  methods: {
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    returnsales() {
+      this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
+    },
+    // 获取当前年月日
+    getdate() {
+      var date = new Date()
+      var year = date.getFullYear() //获取完整的年份(4位)
+      var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
+      var datetime = date.getDate() //获取当前日(1-31)
+      if (mouth < 10) {
+        mouth = '0' + mouth
+      }
+      if (datetime < 10) {
+        datetime = '0' + datetime
+      }
+      return year + mouth + datetime
+    },
+    reject(){
+      this.outerVisible=true
+    },
+    // 随机验证码
+    verifyinit() {
+      var arr = []
+      for (var i = 48; i < 123; i++) {
+        if (i > 57 && i < 65) continue
+        if (i > 90 && i < 97) continue
+        arr.push(String.fromCharCode(i))
+      }
+      arr.sort(function () {
+        return Math.random() - 0.5
+      })
+      arr.length = 4
+
+      return arr.join('')
+    },
+    selectTaskNo(e){
+      if(this.dataList.taskTypeKey==3){
+          this.dataList1.moveTaskNo=e
+      }
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    weightchange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'weight',e)
+      }
+    },
+    bulkDensitychange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'bulkDensity',e)
+      }else if(this.dataList1.taskTypeKey==3){
+        this.$set(this.dataList1,'bulkDensity',e)
+      }
+    },
+    waterContentchange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'waterContent',e)
+      }else if(this.dataList1.taskTypeKey==3){
+        this.$set(this.dataList1,'waterContent',e)
+      }
+    },
+    unitPricechange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'unitPrice',e)
+      }else if(this.dataList1.taskTypeKey==3){
+        this.$set(this.dataList1,'unitPrice',e)
+      }
+    },
+    changecontract(e){
+      if(this.dataList.taskTypeKey!=3){
+        for (let i = 0; i < this.contractNoList.length; i++) {
+          if(this.contractNoList[i].contractNo==e){
+            getGoodsName({ contractId:this.contractNoList[i].id,contractNo:this.contractNoList[i].contractNo}) .toPromise()
+            .then((response) => {
+              this.$set(this.dataList,'goodsName',response.goodsName)
+              this.$set(this.dataList,'goodsNameKey',response.goodsNameKey)
+              this.$set(this.dataList,'grade',response.grade)
+              this.$set(this.dataList,'gradeKey',response.gradeKey)
+              this.$set(this.dataList,'waterContent',response.waterContent)
+              this.$set(this.dataList,'bulkDensity',response.bulkDensity)
+              this.$set(this.dataList,'weight',response.weight)
+              this.$set(this.dataList,'unitPrice',response.unitContractPrice)
+            })
+          } 
+        }
+      }
+    },
+    changecontract1(e){
+      if(this.dataList1.taskTypeKey!=3){
+        for (let i = 0; i < this.contractNoList.length; i++) {
+          if(this.contractNoList[i].contractNo==e){
+            getGoodsName({ contractId:this.contractNoList[i].id,contractNo:this.contractNoList[i].contractNo}) .toPromise()
+            .then((response) => {
+              this.$set(this.dataList1,'goodsName',response.goodsName)
+              this.$set(this.dataList1,'goodsNameKey',response.goodsNameKey)
+              this.$set(this.dataList1,'grade',response.grade)
+              this.$set(this.dataList1,'gradeKey',response.gradeKey)
+              this.$set(this.dataList1,'waterContent',response.waterContent)
+              this.$set(this.dataList1,'bulkDensity',response.bulkDensity)
+              this.$set(this.dataList1,'weight',response.weight)
+              this.$set(this.dataList1,'unitPrice',response.unitContractPrice)
+            })
+          } 
+        }
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    selectstaff1(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList1.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    requestadd(list, status) {
+          list.compId = sessionStorage.getItem('ws-pf_compId')
+          list.publisher =
+            sessionStorage.getItem('ws-pf_roleName') +
+            sessionStorage.getItem('ws-pf_staffName')
+          warehousetask(list)
+            .toPromise()
+            .then((response) => {
+              // woekflowhandle
+              // this.$message.success('添加成功')
+              // this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
+            })
+    },
+    //提交按钮
+    submit() {
+      this.dataList.inOutFlag=1
+      this.dataList1.inOutFlag=2
+      if (this.dataList.taskTypeKey == 1) {
+        
+        this.dataList.inOutTaskNo = this.inOutTaskNo
+        this.requestadd(this.dataList)
+      } else if (this.dataList1.taskTypeKey == 2) {
+        this.dataList1.inOutTaskNo = this.inOutTaskNo1
+        this.requestadd(this.dataList1)
+      } else if (
+        this.dataList.taskTypeKey == 3 ||
+        this.dataList.taskTypeKey == 4
+      ) {
+        this.dataList.inOutTaskNo = this.inOutTaskNo
+        this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
+
+        this.requestadd(this.dataList, 'repetition')
+        this.dataList1.inOutTaskNo = this.inOutTaskNo1
+        this.dataList1.relevanceId = this.dataList.relevanceId
+        if(!this.deletetask){
+          this.requestadd(this.dataList1, 'repetition')
+        }
+      }
+    },
+    disableReasons(){
+
+    },
+    selectwarehouseName() {},
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectgoodsName1(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList1.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.dataList.gradeKey = this.gradeList[i].constKey
+          if(this.dataList.taskTypeKey==3){
+            this.$set(this.dataList1,'grade',e)
+            this.$set(this.dataList1,'gradeKey',this.gradeList[i].constKey)
+          }
+        }
+      }
+    },
+    selectpackingMethod1(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.dataList1.packingMethodKey = this.gradeList[i].constKey
+          if(this.dataList1.taskTypeKey==4){
+            this.$set(this.dataList,'grade',e)
+            this.$set(this.dataList,'gradeKey',this.gradeList[i].constKey)
+          }
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    selectstorageType1(e) {
+      for (var i = 0; i < this.storageType1.length; i++) {
+        if (this.storageType1[i].constValue == e) {
+          this.dataList1.inOutTypeKey = this.storageType1[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    businessDescriptionchange(e) {
+      console.log(e)
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    tasknumber() {
+      if (this.dataList.taskTypeKey == 1) {
+        this.inOutTaskNo = 'CK' + this.getdate() + this.verifyinit()
+      } else if (this.dataList.taskTypeKey == 2) {
+        this.inOutTaskNo1 = 'RK' + this.getdate() + this.verifyinit()
+      } else if (this.dataList.taskTypeKey == 3) {
+        var random=this.getdate() + this.verifyinit()
+        this.inOutTaskNo = 'YKC' + random
+        this.inOutTaskNo1 = 'YKR' + random
+      } else if (this.dataList.taskTypeKey == 4) {
+        var random=this.getdate() + this.verifyinit()
+        this.inOutTaskNo = 'TCC' + random
+        this.inOutTaskNo1 = 'TCR' + random
+      }
+    },
+    tasktypechange(e) {
+      if (!this.$route.query.relevanceId) {
+        this.tasknumber()
+      }
+      this.dataList1.taskTypeKey = e
+      if(this.dataList.taskTypeKey==1){
+        this.dataList.inOutType='销售出库'
+        this.dataList.inOutTypeKey='1'
+      }
+      if(this.dataList1.taskTypeKey==2){
+        this.dataList1.inOutType='采购入库'
+        this.dataList1.inOutTypeKey='1'
+      }
+      else if(this.dataList1.taskTypeKey==3){
+        this.disabled=true
+        this.dataList1.inOutType='移库入库'
+        this.dataList1.inOutTypeKey='3'
+        this.dataList.inOutType='移库出库'
+        this.dataList.inOutTypeKey='3'
+      }else if(this.dataList1.taskTypeKey==4){
+        this.disabled=true
+        this.dataList1.inOutType='退库'
+        this.dataList1.inOutTypeKey='6'
+        this.dataList.inOutType='销售出库'
+        this.dataList.inOutTypeKey='1'
+      }
+    },
+    GetRandomNum(Min, Max) {
+      var Range = Max - Min
+      var Rand = Math.random()
+      return Min + Math.round(Rand * Range)
+    },
+    getList() {
+      if (this.$route.query.relevanceId) {
+        outexamine({ relevanceId: this.$route.query.relevanceId })
+          .toPromise()
+          .then((response) => {
+            if (response.length > 1) {
+              this.dataList = response[0]
+              this.dataList1 = response[1]
+            } else {
+              if(response[0].taskTypeKey==3){
+                this.deletetask=true
+                this.dataList1.inOutTaskNo='YKR'+response[0].inOutTaskNo.substr(response[0].inOutTaskNo.indexOf("C") + 1,response[0].inOutTaskNo.length)
+              }
+              this.dataList = response[0]
+            }
+          })
+      } else {
+        this.tasknumber()
+        this.$set(this.dataList,'inOutType','销售出库')
+        this.$set(this.dataList,'inOutTypeKey','1')
+        this.$set(this.dataList,'goodsName','玉米')
+        this.$set(this.dataList,'goodsNameKey','1')
+        this.$set(this.dataList,'grade','一等品')
+        this.$set(this.dataList,'gradeKey','1')
+        this.$set(this.dataList1,'goodsName','玉米')
+        this.$set(this.dataList1,'goodsNameKey','1')
+        this.$set(this.dataList1,'grade','一等品')
+        this.$set(this.dataList1,'gradeKey','1')
+      }
+      
+      // 货名
+      pullDown({ constId: 'CON2' })
+        .toPromise()
+        .then((response) => {
+          this.goodnameList = response
+        })
+      // 品级
+      pullDown({ constId: 'CON3' })
+        .toPromise()
+        .then((response) => {
+          this.gradeList = response
+        })
+      pullDown({ constId: 'CON6' })
+        .toPromise()
+        .then((response) => {
+          this.storageType = response
+        })
+      pullDown({ constId: 'CON5' })
+        .toPromise()
+        .then((response) => {
+          this.storageType1 = response
+        })
+      xialaNo({
+        compId: this.compId,
+      })
+        .toPromise()
+        .then((response) => {
+          this.contractNoList = response
+        })
+      // //临时仓库入库类型
+      // pullDown({ constId: 'WARE1' })
+      //   .toPromise()
+      //   .then((response) => {
+      //     this.storageType = respons
+      //   })
+      // //临时仓库出库类型
+      // pullDown({ constId: 'WARE2' })
+      //   .toPromise()
+      //   .then((response) => {
+      //     this.deliveryType = response
+      //   })
+      //仓库名
+      getwarehousename({
+        compId: this.compId,
+        warehouseType: 1,
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseNameList = response
+        })
+      getwarehousename({
+        compId: this.compId,
+        warehouseType: 2,
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseNameList1 = response
+        })
+      //经办人
+      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
+        .toPromise()
+        .then((response) => {
+          this.options = response
+          this.staffList = response
+          //  this.agent = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      console.log(row)
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+
+    // deletecontract(){},
+    //删除
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .el-info-table {
+    border: none;
+    position: relative;
+   
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    margin: 0;
+    .el-form-item__label {
+      text-align: left;
+      font-size: 14px;
+      font-family: PingFangSC-Regular, PingFang SC;
+      font-weight: 400;
+      color: #8890b1;
+    }
+    .el-form-item__content {
+      padding-left: 0px;
+      padding-right: 10px;
+      // background: #fff;
+      white-space: nowrap;
+      height: 40px;
+      display: flex;
+      -webkit-box-align: center;
+      align-items: center;
+      text-align: left;
+      overflow: hidden;
+    }
+  }
+}
+/deep/.el-radio {
+  color: #606266;
+  font-weight: 500;
+  line-height: 1;
+  cursor: pointer;
+  white-space: nowrap;
+  outline: 0;
+  margin-right: 30px;
+  margin-top: 15px;
+}
+/deep/.el-radio__inner {
+  border: 1px solid #dcdfe6;
+  border-radius: 100%;
+  width: 14px;
+  height: 14px;
+  background-color: #fff;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 100px;
+}
+/deep/.el-radio__input {
+  white-space: nowrap;
+  cursor: pointer;
+  outline: 0;
+  line-height: 1;
+  vertical-align: middle;
+  margin-top: -1px;
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 15%;
+  display: flex;
+  flex-wrap: wrap;
+  margin-left: -50px;
+  margin-top: 15px;
+  width: 110%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+  margin-right: 180px;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+.inspector {
+  width: 50%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: left;
+}
+/deep/.el-input--small {
+  font-size: 13px;
+  position: relative;
+  display: inline-block;
+}
+.center1 .small-title {
+  margin-left: 150px;
+}
+.center1 {
+  width: 90%;
+  margin: 0 auto;
+  margin-left: 10px;
+  margin-top: 25px;
+}
+/deep/.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+}
+/deep/.el-select {
+  display: inline-block;
+  position: relative;
+  width: 100%;
+}
+.annu{
+  height: 81px;
+  background: #FFFFFF;
+  border-radius: 4px;
+}
+.basicInformation
+.el-form-item {
+    width: 50.3333%;
+    border: none;
+    margin: 0;
+}
+.huom{
+  width: 100px;
+  
+}
+.el-form{
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890B1;
+  line-height: 16px;
+}
+.a{
+  margin-left: -32px;
+}
+ .el-radio-group {
+    margin-left: 80px;
+}
+.ding{
+  height: 23px;
+  background: #E8ECF6;
+  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
+}
+.ziti {
+  width: 72px;
+  height: 20px;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 20px;
+  margin-left: 130px;
+  /* margin-top: 112px; */
+}
+.ziti1 {
+    width: 100px;
+    font-size: 16px;
+    font-family: PingFangSC-Medium, PingFang SC;
+    font-weight: 500;
+    color: #262626;
+    line-height: 22px;
+    margin-left: 197px;
+    margin-top: -22px;
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.nav {
+  width: 200px;
+  height: 20px;
+}
+</style>

+ 17 - 6
src/views/taskManagement/tranManagementWarehouseInOutTaskEdit.vue

@@ -229,7 +229,7 @@
             </el-select>
           </el-form-item>
           <!--业务描述=-->
-          <el-form-item label="业务描述" span="1">
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="业务描述" span="1">
             <el-input
               v-model="dataList.businessDescribe"
               placeholder="请输入业务描述,不超过150字"
@@ -250,9 +250,9 @@
             alt=""
           />
         <div class="small-title">
-          <h3>入库任务({{ dataList1.inOutTaskNo }} )</h3>
+          <h3>入库任务({{ dataList1.inOutTaskNo }}) <span v-if='deletetask' style='color:red;'>已删除</span></h3>
         </div>
-        <el-form ref="form" :model="form" label-width="140px">
+        <el-form v-if='!deletetask' ref="form" :model="form" label-width="140px">
           <!-- 仓库名 -->
           <el-form-item label="仓库名">
             <el-select
@@ -437,7 +437,7 @@
             </el-select>
           </el-form-item>
           <!--业务描述=-->
-          <el-form-item label="业务描述">
+          <el-form-item v-if='dataList.taskTypeKey != 4' label="业务描述">
             <el-input
               v-model="dataList1.businessDescribe"
               placeholder="请输入业务描述,不超过150字"
@@ -740,6 +740,7 @@ export default {
       onChange: {},
       deptBudgetList1: [],
       gradeList: [],
+      deletetask:false,
       rules: {
         netWeight: [
           {
@@ -942,11 +943,17 @@ export default {
       ) {
         this.dataList.inOutTaskNo = this.inOutTaskNo
         this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
-
+        if(this.dataList.taskTypeKey == 3){
+          this.dataList.businessDescribe=this.dataList1.businessDescribe
+        }else{
+          this.dataList1.businessDescribe=this.dataList.businessDescribe
+        }
         this.requestadd(this.dataList, 'repetition')
         this.dataList1.inOutTaskNo = this.inOutTaskNo1
         this.dataList1.relevanceId = this.dataList.relevanceId
-        this.requestadd(this.dataList1, 'repetition')
+        if(!this.deletetask){
+          this.requestadd(this.dataList1, 'repetition')
+        }
       }
     },
     selectwarehouseName() {},
@@ -1086,6 +1093,10 @@ export default {
               this.dataList = response[0]
               this.dataList1 = response[1]
             } else {
+               if(response[0].taskTypeKey==3){
+                this.deletetask=true
+                this.dataList1.inOutTaskNo='YKR'+response[0].inOutTaskNo.substr(response[0].inOutTaskNo.indexOf("C") + 1,response[0].inOutTaskNo.length)
+              }
               this.dataList = response[0]
             }
           })

+ 1 - 1
src/views/tranManagement/component/routers/route.js

@@ -9,7 +9,7 @@ const tranManagementRouter = {
   meta: {
     title: 'tranManagement',
     module: 'transportationTask.transportation',
-    icon: 'cg'
+    icon: '-yunshu2'
   },
   children: [
 

+ 30 - 8
src/views/tranManagement/tranManagementDriver.vue

@@ -3,11 +3,22 @@
   <div>
     <BaseHeaderLayout :leftSpan="12">
       <template slot="left">
-        <ws-button type="primary" @click="handleAdd()">添加</ws-button>
+        <ws-button type="primary" @click="handleAdd()"><img
+            width="13"
+            height="13"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 2px;
+              left: -4px;
+            "
+            src="../../../public/img/header-add.png"
+            alt=""
+          />添加</ws-button>
       </template>
       <template slot="right">
-        <span style="display: inline-block; width: 60px; color: #8890b1"
-          >城市</span
+        <span style="display: inline-block; width: 65px; color: #8890b1"
+          >城市</span
         >
         <el-cascader
           :options="options_"
@@ -235,25 +246,29 @@
             >
             <el-button
               v-if="scope.row.disableStatusFlag != 1"
+              class="record1"
               size="medium"
               type="text"
+              
               @click="stop(scope.row)"
               >禁用</el-button
             >
-            <el-tooltip
+            <!-- <el-tooltip
               class="item record"
               effect="dark"
               :content="scope.row.disableReasons"
               placement="right-start"
-            >
+            > -->
               <el-button
                 v-if="scope.row.disableStatusFlag == 1"
+                class="record1"
                 size="medium"
                 type="text"
+                style="font-size:14px"
                 @click="relieve(scope.row)"
                 >已禁用</el-button
               >
-            </el-tooltip>
+            <!-- </el-tooltip> -->
           </template>
         </el-table-column>
       </el-table>
@@ -703,7 +718,7 @@ export default {
 /deep/.el-table .el-table__body .cell {
   text-align: center;
 }
-.el-table th.is-leaf,
+/deep/.el-table th.is-leaf,
 .el-table td {
   border-right: 1px solid #eee;
 }
@@ -715,13 +730,17 @@ export default {
 }
 //操作按钮
 .record,
-.adjustment {
+.adjustment ,.record1{
   display: inline-block;
   color: #5878e8;
   padding: 0 4px !important;
   position: relative;
   font-size: 14px;
 }
+.record1{
+  width: 38px;
+  height: 32px;
+}
 .record:after {
   position: absolute;
   content: '';
@@ -732,4 +751,7 @@ export default {
   height: 12px;
   background: #e9ecf7;
 }
+/deep/.el-table td{
+      border-right: 1px solid #eee;
+}
 </style>

+ 46 - 18
src/views/tranManagement/tranManagementReceivingFeedback.vue

@@ -1,16 +1,32 @@
 //收货反馈
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="13">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
-        <ws-button class="but" :type="primary == 1 ? 'primary' : ''" @click="statusquery(1)">
+        <!-- <ws-button class="but" :type="primary == 1 ? 'primary' : ''" @click="statusquery(1)">
           执行中</ws-button
         >
         <ws-button class="but" :type="primary == 2 ? 'primary' : ''" @click="statusquery(2)">已完成</ws-button>
-        <ws-button class="but" :type="primary == 3 ? 'primary' : ''" @click="statusquery()">全部任务</ws-button>
+        <ws-button class="but" :type="primary == 3 ? 'primary' : ''" @click="statusquery()">全部任务</ws-button> -->
       </template>
       <!-- 接单开始 -->
       <template slot="right">
+        <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
+         <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"  
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
        <div>
           <span style="display: inline-block; width: 60px;color: #8890B1;">接单日期</span>
         </div>
@@ -208,9 +224,14 @@ export default {
       currentPage: 1,
       pageSize: 10,
       feedbackFlag: 1,
-      searchTypeText: '未完成',
+      searchTypeText: '执行中',
       searchKeyWord: '',
       contractType: 2,
+      taskTypeList: [
+        { value: '执行中', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '全部任务', type: 3 },
+      ],
       
       // 提交类型
       submitType: true,
@@ -259,17 +280,17 @@ export default {
           this.deptBudgetTotal = response.total
         })
     },
-    statusquery(status){
-      if (status == 1) {
-        this.primary = 1
-      } else if (status == 2) {
-        this.primary = 2
-      } else {
-        this.primary = 3
-      }
-      this.feedbackFlag = status
-      this.getList()
-    },
+    // statusquery(status){
+    //   if (status == 1) {
+    //     this.primary = 1
+    //   } else if (status == 2) {
+    //     this.primary = 2
+    //   } else {
+    //     this.primary = 3
+    //   }
+    //   this.feedbackFlag = status
+    //   this.getList()
+    // },
     delivery(item) {
       this.$router.push({
         path: 'warehouseManagementDelivery',
@@ -371,9 +392,9 @@ export default {
     },
     editClick(row) {
       var status = ''
-      if (row.status == '待执行' || row.status == '已完成') {
+      if (row.feedbackStatus == '待执行' || row.feedbackStatus == '已完成') {
         status = '执行中'
-      } else if (row.status == '执行中') {
+      } else if (row.feedbackStatus == '执行中') {
         status = '已完成'
       }
       //cancelButtonClass: "btn-custom-cancel"
@@ -403,7 +424,7 @@ export default {
     selecttaskType(e) {
       for (var i = 0; i < this.taskTypeList.length; i++) {
         if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
+          this.feedbackFlag = this.taskTypeList[i].type
         }
       }
     },
@@ -566,4 +587,11 @@ export default {
     font-weight: 700;
     margin-bottom: 20px;
 }
+.el-select{
+  width: 30%;
+    margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 39 - 19
src/views/tranManagement/tranManagementShipping.vue

@@ -1,14 +1,27 @@
 //船运调度
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="12">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
-        <ws-button class="but" :type="searchType == 1 ?'primary':''"  @click="statusquery(1)"> 执行中</ws-button>
-        <ws-button class="but" :type="searchType == 2 ?'primary':''"  @click="statusquery(2)">已完成</ws-button>
-        <ws-button class="but" :type="searchType == undefined ?'primary':''"  @click="statusquery()">全部任务</ws-button>
       </template>
       <!-- 接单开始 -->
       <template slot="right">
+         <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"  
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
         <div>
           <span style="display: inline-block; width: 60px; color: #8890b1"
             >接单日期</span
@@ -154,11 +167,10 @@
   </div>
 </template>
 <script>
-import { getList, shippingList, alsostate } from '@/model/transport/index'
-import { downloadFile } from '@/utils/batchDown'
+import {shippingList, alsostate } from '@/model/transport/index'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { EventBus } from 'base-core-lib'
 export default {
   name: 'viewSpareMoney',
   components: {
@@ -194,7 +206,12 @@ export default {
       tranTypeKey: 3,
       pageSize: 10,
       searchType: 1,
-      searchTypeText: '未完成',
+      searchTypeText: '执行中',
+       taskTypeList: [
+        { value: '执行中', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '全部任务', type: '' },
+      ],
       searchKeyWord: '',
       contractType: 2,
       inOutDate: [],
@@ -218,9 +235,6 @@ export default {
     }
   },
   activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
     this.getList()
     this.showType = this.isShow
   },
@@ -245,10 +259,6 @@ export default {
           this.deptBudgetTotal = response.total
         })
     },
-    statusquery(state) {
-      this.searchType = state
-      this.getList()
-    },
     delivery(item) {
       this.$router.push({
         path: 'warehouseManagementDelivery',
@@ -345,14 +355,14 @@ export default {
       this.getList()
     },
     editClick(row) {
-      var processStatus = ''
+      var status = ''
       if (row.processStatus == '待执行' || row.processStatus == '已完成') {
         status = '执行中'
       } else if (row.processStatus == '执行中') {
         status = '已完成'
       }
       //cancelButtonClass: "btn-custom-cancel"
-      this.$confirm(`是否将状态改为${processStatus}`, {
+      this.$confirm(`是否将状态改为${status}`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning',
@@ -438,9 +448,12 @@ export default {
 }
 //分页
 .el-pagination {
-  padding: 10px 15px;
-  margin-bottom: 0;
   text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
 }
 /deep/.el-pager li.active {
   color: #5878e8;
@@ -548,4 +561,11 @@ export default {
   position: relative;
   font-size: 14px;
 }
+.el-select{
+  width: 30%;
+    margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 44 - 19
src/views/tranManagement/tranManagementTransporHairRespond.vue

@@ -1,16 +1,32 @@
 //发货反馈
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="12">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
-         <ws-button class="but"  :type="primary == 1 ? 'primary' : ''" @click="statusquery(1)">
+         <!-- <ws-button class="but"  :type="primary == 1 ? 'primary' : ''" @click="statusquery(1)">
           执行中</ws-button
         >
         <ws-button class="but"  :type="primary == 2 ? 'primary' : ''" @click="statusquery(2)">已完成</ws-button>
-        <ws-button class="but"  :type="primary == 3 ? 'primary' : ''" @click="statusquery()">全部任务</ws-button>
+        <ws-button class="but"  :type="primary == 3 ? 'primary' : ''" @click="statusquery()">全部任务</ws-button> -->
       </template>
       <!-- 接单开始 -->
       <template slot="right">
+         <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"  
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
         <div>
           <span style="display: inline-block; width: 60px; color: #8890b1"
             >接单日期</span
@@ -205,12 +221,17 @@ export default {
       currentPage: 1,
       pageSize: 10,
       deptBudgetTotal: 0,
-      searchTypeText: '未完成',
+      searchTypeText: '执行中',
       searchKeyWord: '',
       contractType: 2,
       tranTypeKey: 2,
       feedbackFlag: 1,
       searchTypeOne: 1,
+       taskTypeList: [
+        { value: '执行中', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '全部任务', type: 3 },
+      ],
       // 提交类型
       submitType: true,
       size: 10,
@@ -232,9 +253,6 @@ export default {
     }
   },
   activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
     this.getList()
     this.showType = this.isShow
   },
@@ -283,17 +301,17 @@ export default {
         },
       })
     },
-    statusquery(status) {
-       if (status == 1) {
-        this.primary = 1
-      } else if (status == 2) {
-        this.primary = 2
-      } else {
-        this.primary = 3
-      }
-      this.feedbackFlag = status
-      this.getList()
-    },
+    // statusquery(status) {
+    //    if (status == 1) {
+    //     this.primary = 1
+    //   } else if (status == 2) {
+    //     this.primary = 2
+    //   } else {
+    //     this.primary = 3
+    //   }
+    //   this.feedbackFlag = status
+    //   this.getList()
+    // },
     dateFormat(fmt, date) {
       let ret
       const opt = {
@@ -383,7 +401,7 @@ export default {
     selecttaskType(e) {
       for (var i = 0; i < this.taskTypeList.length; i++) {
         if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
+          this. feedbackFlag = this.taskTypeList[i].type
         }
       }
     },
@@ -502,4 +520,11 @@ margin:0 10px;
     font-weight: 700;
     margin-bottom: 20px;
 }
+.el-select{
+  width: 30%;
+    margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 30 - 27
src/views/tranManagement/tranManagementTransporTationFire.vue

@@ -1,36 +1,32 @@
 //火运调度
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="12">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
-        <ws-button
-          class="but"
-          :type="searchType == 1 ? 'primary' : ''"
-          @click="statusquery(1)"
-        >
-          执行中</ws-button
-        >
-        <ws-button
-          class="but"
-          :type="searchType == 2 ? 'primary' : ''"
-          @click="statusquery(2)"
-          >已完成</ws-button
-        >
-        <ws-button
-          class="but"
-          :type="searchType == undefined ? 'primary' : ''"
-          @click="statusquery()"
-          >全部任务</ws-button
-        >
       </template>
       <!-- 接单开始 -->
       <template slot="right">
+         <span style="width: 142px; display: inline-block;color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"  
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
         <div>
           <span style="display: inline-block; width: 60px; color: #8890b1"
             >接单日期</span
           >
         </div>
-        <!-- v-model="deptBudgetList.inOutDate" -->
         <el-date-picker
           v-model="inOutDate"
           type="daterange"
@@ -225,7 +221,7 @@ export default {
       currentPage: 1,
       pageSize: 10,
       deptBudgetTotal:0,
-      searchTypeText: '未完成',
+      searchTypeText: '执行中',
       searchKeyWord: '',
       tranTypeKey: 2,
       // 提交类型
@@ -242,6 +238,11 @@ export default {
       deptBudgetList: {},
       historyList: [],
       inOutDate: [],
+      taskTypeList: [
+        { value: '执行中', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '全部任务', type: '' },
+      ],
       pickerBeginDateBefore: {
         disabledDate: (time) => {
           return time.getTime() > Date.now()
@@ -302,11 +303,6 @@ export default {
         },
       })
     },
-    statusquery(state) {
-      this.searchType = state
-      this.getList()
-    },
-
     dateFormat(fmt, date) {
       let ret
       const opt = {
@@ -547,4 +543,11 @@ export default {
     font-weight: 700;
     margin-bottom: 20px;
 }
+.el-select{
+  width: 30%;
+    margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 41 - 20
src/views/tranManagement/tranManagementVehicle.vue

@@ -1,16 +1,33 @@
 //汽运调度
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="12">
+    <BaseHeaderLayout :leftSpan="8">
       <template slot="left">
-        <ws-button class="but" :type="searchType == 1?'primary':''" @click="changestatus(1)">
+        <!-- <ws-button class="but" :type="searchType == 1?'primary':''" @click="changestatus(1)">
           执行中</ws-button
         >
         <ws-button class="but" :type="searchType == 2?'primary':''" @click="changestatus(2)">已完成</ws-button>
-        <ws-button class="but" :type="searchType == undefined?'primary':''" @click="changestatus()">全部任务</ws-button>
+        <ws-button class="but" :type="searchType == undefined?'primary':''" @click="changestatus()">全部任务</ws-button> -->
       </template>
       <!-- 接单开始 -->
       <template slot="right">
+        <span style="width: 142px; display: inline-block; color: #8890B1;">状态:</span>
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"
+      
+        >
+          <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890B1;"
+          />
+        </ws-select>
         <div>
           <span style="display: inline-block; width: 60px;color: #8890B1;">接单时间</span>
         </div>
@@ -124,7 +141,7 @@
             />
           </template>
         </el-table-column>
-        <el-table-column prop="receivingDate" label="接单时间"> </el-table-column>
+        <el-table-column prop="createDate" label="接单时间"> </el-table-column>
         <el-table-column prop="seller" label="操作" width="300">
           <template slot-scope="scope">
             <div
@@ -193,7 +210,7 @@ export default {
       currentPage: 1,
       pageSize: 10,
     deptBudgetTotal :0,
-      searchTypeText: '未完成',
+      searchTypeText: '执行中',
       searchKeyWord: '',
       contractType: 2,
       searchType:1,
@@ -209,6 +226,11 @@ export default {
       warehouseList: [],
       deptBudgetList: {},
       historyList: [],
+       taskTypeList: [
+        { value: '执行中', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '全部任务', type: '' },
+      ],
       pickerBeginDateBefore: {
         disabledDate: (time) => {
           return time.getTime() > Date.now()
@@ -274,14 +296,6 @@ export default {
         },
       })
     },
-    statusquery(status){
-      this.searchType = status
-      this.getList()
-    },
-    // // 派车
-    // warehousing() {
-    //   this.$router.push({ path: 'tranManagementVehicleDispatching' })
-    // },
     dateFormat(fmt, date) {
       let ret
       const opt = {
@@ -372,13 +386,13 @@ export default {
           return false
         })
     },
-    // selecttaskType(e) {
-    //   for (var i = 0; i < this.taskTypeList.length; i++) {
-    //     if (this.taskTypeList[i].value == e) {
-    //       this.searchType = this.taskTypeList[i].type
-    //     }
-    //   }
-    // },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
     fujian(row) {
       if (
         row.receiveAttachmentPath === null ||
@@ -544,4 +558,11 @@ export default {
     font-weight: 700;
     margin-bottom: 20px;
 }
+.el-select{
+  width: 30%;
+    margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner{
+   color: #8890B1;
+}
 </style>

+ 1 - 1
src/views/warehouse/component/router/index.js

@@ -9,7 +9,7 @@ const warehouseManagementRouter = {
   meta: {
     title: 'warehouseManagementList',
     module: 'warehouseManagement',
-    icon: 'cg'
+    icon: '-cangkubeifen'
   },
   children: [
     {

+ 13 - 4
src/views/warehouse/warehouseManagementList.vue

@@ -1,7 +1,7 @@
 <!--仓库管理-->
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="20">
+    <BaseHeaderLayout :leftSpan="15">
       <template slot="left">
         <ws-button type="primary" @click="handleAdd()"
         v-hasPermission="
@@ -31,7 +31,7 @@
           " @click="handlTask()">任务</ws-button>
       </template>
       <template slot="left">
-        <div style="margin-top: 2px">
+        <div >
           <el-radio-group
             v-model="warehouseType"
             @change="changeradio"
@@ -249,6 +249,7 @@
           </template>
         </el-table-column>
       </el-table>
+      
     </div>
   </div>
 </template>
@@ -292,8 +293,7 @@ export default {
       showType: true,
       // 年
       year: '',
-      currentPage: 1,
-      pageSize: 10,
+
       searchType: 1,
       searchTypeText: '未完成',
       searchKeyWord: '',
@@ -713,4 +713,13 @@ export default {
 /deep/.el-radio-button:first-child .el-radio-button__inner {
   margin-left: 10px;
 }
+//分页
+.el-pagination {
+  text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
+}
 </style>

+ 4 - 3
vue.config.js

@@ -58,7 +58,8 @@ const cdn = {
   css: {
     dev: [
       "/cdn/element-ui/2.13.2/theme-chalk/index.css",
-      "//at.alicdn.com/t/font_1833052_qk0ltgbl23s.css"
+      `./static/iconfont/iconfont.css`,
+      `./static/logo/iconfont.css`
     ],
     ship: [
       "/cdn/element-ui/2.13.2/theme-chalk/index.css",
@@ -68,7 +69,8 @@ const cdn = {
     product: [
       `/cdn/winseaview/index.css`,
       "/cdn/element-ui/2.13.2/theme-chalk/index.css",
-      "//at.alicdn.com/t/font_1833052_qk0ltgbl23s.css",
+      `./static/iconfont/iconfont.css`,
+      `./static/logo/iconfont.css`
     ]
   }
 }
@@ -143,7 +145,6 @@ module.exports = {
         // target: 'http://standard-dev.winsea.com/', //目标地址
         // target: 'http://localhost:8090/',
         // target: 'http://192.168.1.121:8090/',
-
         target: 'http://192.168.1.116:8090/',
         // target: 'http://192.168.1.119:8090/',
         // target: 'http://192.168.24.5:8098',//目标地址

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác