Commit b679fa6a by LJM

Merge branch 'dev/ver/1.0.0'

parents a01ee440 86bdf3c2
......@@ -3491,6 +3491,11 @@
"integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==",
"dev": true
},
"china-division": {
"version": "2.7.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/china-division/-/china-division-2.7.0.tgz",
"integrity": "sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA=="
},
"chokidar": {
"version": "3.5.1",
"resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610719430924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz",
......@@ -5136,6 +5141,14 @@
"integrity": "sha1-hX4xDKAPC3XaTh22/w4HPMSpHd8=",
"dev": true
},
"element-china-area-data": {
"version": "6.1.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/element-china-area-data/-/element-china-area-data-6.1.0.tgz",
"integrity": "sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg==",
"requires": {
"china-division": "^2.7.0"
}
},
"element-ui": {
"version": "2.15.13",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.13.tgz",
......
......@@ -11,6 +11,7 @@
"axios": "^0.21.1",
"core-js": "^3.6.5",
"echarts": "^5.4.2",
"element-china-area-data": "^6.1.0",
"element-ui": "^2.15.13",
"vue": "^2.6.11",
"vue-clipboard2": "^0.3.1",
......
*上架有效期,*商品型号,*制造商,*寄售库存数量,安全库存,"*最小起订量
*上架有效期,*商品型号,*制造商,*寄售库存数量,安全库存,"*最小起订量
(MOQ)",标准包装量(MPQ),*递增量,封装,批次,大陆交期,香港交期,简短描述,物料编码,"*显示类型(猎芯精选)
说明:寄售SKU上传后将出现在猎芯网搜索结果的猎芯精选板块",含税销售价(RMB),美金销售价(USD),阶梯数量1,国内含税价1(¥),香港交货价1($),阶梯数量2,国内含税价2(¥),香港交货价2($),阶梯数量3,国内含税价3(¥),香港交货价3($),阶梯数量4,国内含税价4(¥),香港交货价4($),阶梯数量5,国内含税价5(¥),香港交货价5($),阶梯数量6,国内含税价6(¥),香港交货价6($),阶梯数量7,国内含税价7(¥),香港交货价7($),阶梯数量8,国内含税价8(¥),香港交货价8($),阶梯数量9,国内含税价9(¥),香港交货价9($)
2024/12/25,TLE6431K,JAK,1000,100,1000,1000,1,,2301,2-5工作日,7-10工作日,,,猎芯精选,10,,1000,10,1.5,,,,,,,,,,,,,,,,,,,,,,,,
*SKUID,*上架有效期,安全库存,标准包装量(MPQ),*递增量,封装,批次,大陆交期,香港交期,简短描述,物料编码,*显示类型(国内现货,国际现货,猎芯期货),含税销售价(RMB),美金销售价(USD),阶梯数量1,国内含税价1(¥),香港交货价1($),阶梯数量2,国内含税价2(¥),香港交货价2($),阶梯数量3,国内含税价3(¥),香港交货价3($),阶梯数量4,国内含税价4(¥),香港交货价4($),阶梯数量5,国内含税价5(¥),香港交货价5($),阶梯数量6,国内含税价6(¥),香港交货价6($),阶梯数量7,国内含税价7(¥),香港交货价7($),阶梯数量8,国内含税价8(¥),香港交货价8($),阶梯数量9,国内含税价9(¥),香港交货价9($)
*SKUID,*上架有效期,安全库存,标准包装量(MPQ),*递增量,封装,批次,大陆交期,香港交期,简短描述,物料编码,*显示类型(国内现货,国际现货,猎芯期货),含税销售价(RMB),美金销售价(USD),阶梯数量1,国内含税价1(¥),香港交货价1($),阶梯数量2,国内含税价2(¥),香港交货价2($),阶梯数量3,国内含税价3(¥),香港交货价3($),阶梯数量4,国内含税价4(¥),香港交货价4($),阶梯数量5,国内含税价5(¥),香港交货价5($),阶梯数量6,国内含税价6(¥),香港交货价6($),阶梯数量7,国内含税价7(¥),香港交货价7($),阶梯数量8,国内含税价8(¥),香港交货价8($),阶梯数量9,国内含税价9(¥),香港交货价9($)
,2024/12/25,,1000,1,,2301,2-5工作日,7-10工作日,,,国内现货,10,,1000,10,1.5,,,,,,,,,,,,,,,,,,,,,,,,
*SKUID,*ٻ
*SKUID,*ٻ
<template>
<div id="app">
<keep-alive exclude="InquireDetail,ListDetail,orderTrackGoodsDetail,orderTrackPurAdd,enter,list,inquire,quote,orderTrackInvoice,subAccount,subAccountAdd,subAccountEdit">
<keep-alive :exclude="excludeComponents">
<router-view class="router-view"></router-view>
</keep-alive>
</div>
</template>
<script>
export default {
name: 'app'
name: 'app',
data() {
return {
excludeComponents: [
// 详情页面
'InquireDetail',
'ListDetail',
'consignmentImportDetail',
'consignmentApplicationDetail',
'consignmentRecallDetail',
'reconciledBillDetail',
// 订单相关
'orderTrackGoodsDetail',
'orderTrackPurAdd',
'orderTrackInvoice',
// 账户相关
'subAccount',
'subAccountAdd',
'subAccountEdit',
// 其他页面
'enter',
'list',
'inquire',
'quote'
]
}
}
}
</script>
\ No newline at end of file
......@@ -55,6 +55,18 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe649;</span>
<div class="name">账单管理</div>
<div class="code-name">&amp;#xe649;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe73c;</span>
<div class="name">寄售管理</div>
<div class="code-name">&amp;#xe73c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe609;</span>
<div class="name">数据统计</div>
<div class="code-name">&amp;#xe609;</div>
......@@ -216,9 +228,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1677120594046') format('woff2'),
url('iconfont.woff?t=1677120594046') format('woff'),
url('iconfont.ttf?t=1677120594046') format('truetype');
src: url('iconfont.woff2?t=1735796431398') format('woff2'),
url('iconfont.woff?t=1735796431398') format('woff'),
url('iconfont.ttf?t=1735796431398') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
......@@ -245,6 +257,24 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont iconzhangdanguanli"></span>
<div class="name">
账单管理
</div>
<div class="code-name">.iconzhangdanguanli
</div>
</li>
<li class="dib">
<span class="icon iconfont iconjishouguanli"></span>
<div class="name">
寄售管理
</div>
<div class="code-name">.iconjishouguanli
</div>
</li>
<li class="dib">
<span class="icon iconfont iconshujutongji"></span>
<div class="name">
数据统计
......@@ -489,6 +519,22 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzhangdanguanli"></use>
</svg>
<div class="name">账单管理</div>
<div class="code-name">#iconzhangdanguanli</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconjishouguanli"></use>
</svg>
<div class="name">寄售管理</div>
<div class="code-name">#iconjishouguanli</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconshujutongji"></use>
</svg>
<div class="name">数据统计</div>
......
@font-face {
font-family: "iconfont"; /* Project id 2537242 */
src: url('iconfont.woff2?t=1677120594046') format('woff2'),
url('iconfont.woff?t=1677120594046') format('woff'),
url('iconfont.ttf?t=1677120594046') format('truetype');
src: url('iconfont.woff2?t=1735796431398') format('woff2'),
url('iconfont.woff?t=1735796431398') format('woff'),
url('iconfont.ttf?t=1735796431398') format('truetype');
}
.iconfont {
......@@ -13,6 +13,14 @@
-moz-osx-font-smoothing: grayscale;
}
.iconzhangdanguanli:before {
content: "\e649";
}
.iconjishouguanli:before {
content: "\e73c";
}
.iconshujutongji:before {
content: "\e609";
}
......
window._iconfont_svg_string_2537242='<svg><symbol id="iconshujutongji" viewBox="0 0 1024 1024"><path d="M161.933635 982.016249A88.059387 88.059387 0 0 1 73.142857 894.932048V87.087126A88.059387 88.059387 0 0 1 161.933635 0.002926h396.267243v71.042374H161.933635a16.090586 16.090586 0 0 0-15.846789 16.041826v807.844922a16.090586 16.090586 0 0 0 15.846789 16.041827v71.042374zM774.984951 112.978341H238.92465a48.759351 48.759351 0 0 0-50.856003 45.492474v819.986001A48.759351 48.759351 0 0 0 238.92465 1023.94929h661.030517A48.759351 48.759351 0 0 0 950.81117 978.456816V286.51287zM442.39742 892.299043a17.9922 17.9922 0 0 1-18.235997 17.748404H358.872652a17.9922 17.9922 0 0 1-18.235997-17.748404v-101.126893a17.9922 17.9922 0 0 1 18.235997-17.748404H424.210182a17.9922 17.9922 0 0 1 18.235997 17.748404V892.299043z m178.069149 3.120599a15.066639 15.066639 0 0 1-15.212918 14.627805H533.723684a15.115399 15.115399 0 0 1-15.212918-14.627805V423.770443a15.115399 15.115399 0 0 1 15.212918-14.627806h71.529967a15.115399 15.115399 0 0 1 15.212918 14.627806v471.600439z m177.92287 3.900748a11.068373 11.068373 0 0 1-11.21465 10.727057h-79.380223a11.068373 11.068373 0 0 1-11.214651-10.922095v-251.451971a11.068373 11.068373 0 0 1 11.214651-10.922095h79.331463a11.117132 11.117132 0 0 1 11.214651 10.922095v251.647009z" fill="#808080" ></path></symbol><symbol id="iconxiaoxiguanli1" viewBox="0 0 1024 1024"><path d="M606.432743 951.081247c-12.797467 0-25.269523-3.586688-33.828456-6.052856-58.241472-16.791431-102.33983-62.724577-137.798413-105.437377-213.768665-29.588899-370.966916-189.946097-370.966916-379.647623 0-213.401298 201.052039-387.024637 448.16002-387.024637s448.16002 173.623339 448.16002 387.024637c0 171.60538-132.744303 324.05549-323.200006 371.680161 1.426489 5.399987 3.015683 10.698666 4.524037 15.854083 2.934842 9.843182 5.665023 19.298532 7.498788 28.203342 3.668553 18.299785 9.210779 45.871747-10.43363 64.007803C629.134791 948.329577 617.641015 951.081247 606.432743 951.081247zM512 135.520533c-212.586746 0-385.557216 145.541771-385.557216 324.422857 0 158.27784 134.619 292.571429 320.143391 319.348282 14.264888 2.057869 27.185152 9.272177 36.354999 20.276812 30.078039 36.21276 63.417355 71.344908 103.725386 84.305081-1.426489-5.950526-3.301186-12.186554-5.216815-18.645662-2.119267-7.234775-4.320399-14.69263-6.195096-22.293749-3.790326-15.263635-1.385557-31.015388 6.766101-44.38386 8.273431-13.613042 21.438265-23.210631 37.08871-27.000957 163.92342-39.880289 278.44878-168.019715 278.44878-311.604924C897.557216 281.062304 724.586746 135.520533 512 135.520533z" ></path><path d="M273.964652 465.092667m-58.989509 0a57.646 57.646 0 1 0 117.979018 0 57.646 57.646 0 1 0-117.979018 0Z" ></path><path d="M511.983627 465.092667m-58.989509 0a57.646 57.646 0 1 0 117.979018 0 57.646 57.646 0 1 0-117.979018 0Z" ></path><path d="M750.002602 465.092667m-58.989509 0a57.646 57.646 0 1 0 117.979018 0 57.646 57.646 0 1 0-117.979018 0Z" ></path></symbol><symbol id="iconzhibiaozhuizong" viewBox="0 0 1024 1024"><path d="M556.014 314.652c0-18.079-12.226-35.088-27.339-35.088H200.607c-15.111 0-27.34 17.009-27.34 35.088s12.227 35.087 27.34 35.087h328.068c15.108 0.001 27.339-17.008 27.339-35.087zM198.261 483.713c-13.813 0-24.993 17.541-24.993 35.619 0 18.08 11.179 35.621 24.993 35.621h199.934c13.813 0 24.993-17.541 24.993-35.621s-11.179-35.619-24.993-35.619H198.261zM333.98 689.989H196.227c-12.692 0-22.958 17.541-22.958 35.619s10.27 35.621 22.958 35.621H333.98c12.692 0 22.958-17.542 22.958-35.621s-10.27-35.619-22.958-35.619z" ></path><path d="M348.383 905.531H137.427c-32.899 0-59.671-25.589-59.671-57.052V177.532c0-31.465 26.768-57.052 59.671-57.052h600.351c32.837 0 59.607 25.587 59.607 57.052v139.21c0 18.08 14.628 32.713 32.711 32.713 18.079 0 32.711-14.63 32.711-32.713v-139.21c0-67.527-56.094-122.474-125.028-122.474H137.43c-68.997 0.001-125.091 54.947-125.091 122.474v670.942c0 67.532 56.094 122.474 125.091 122.474h210.958c18.079 0 32.713-14.629 32.713-32.711s-14.63-32.711-32.714-32.711z" ></path><path d="M678.399 407.335c-152.951 0-276.933 123.983-276.933 276.913 0 152.951 123.983 276.933 276.933 276.933 152.931 0 276.913-123.983 276.913-276.933 0-152.931-123.983-276.913-276.913-276.913z m0 492.695c-119.165 0-215.781-96.598-215.781-215.781 0-119.166 96.619-215.764 215.781-215.764 119.166 0 215.764 96.598 215.764 215.764 0 119.188-96.598 215.781-215.764 215.781z" ></path><path d="M784.19 642.783c0-57.27-45.653-103.691-101.983-103.691S580.23 585.513 580.23 642.783c0 44.252 90.852 181.851 101.983 181.851S784.19 693.526 784.19 642.783m-45.428-3.096c0 30.463-24.699 55.162-55.162 55.162-30.462 0-55.161-24.699-55.161-55.162s24.699-55.162 55.161-55.162c30.463 0 55.162 24.693 55.162 55.162m5.071 193.706c0 4.141-2.566 7.494-5.732 7.494H626.315c-3.165 0-5.732-3.355-5.732-7.494s2.566-7.494 5.732-7.494h111.786c3.165 0 5.732 3.355 5.732 7.494z" ></path></symbol><symbol id="iconwendangguanli" viewBox="0 0 1024 1024"><path d="M250.212174 44.521739C188.059826 44.521739 137.750261 96.701217 137.750261 161.124174v699.614609c0 64.422957 50.309565 116.646957 112.372869 116.646956h561.997913c62.063304 0 118.561391-52.224 118.561392-116.646956V249.766957L738.482087 44.521739H250.212174z m449.224348 66.649044l165.175652 166.555826h-138.195478a27.158261 27.158261 0 0 1-26.980174-27.247305v-139.353043z m110.102261 799.565913H258.938435c-30.408348 0-55.073391-25.6-55.073392-57.07687V168.247652c0-31.521391 24.665043-57.07687 55.073392-57.076869h385.424695v171.319652c0 31.521391 24.665043 57.121391 55.073392 57.121391h165.175652v514.048c0 31.47687-24.665043 57.07687-55.073391 57.07687z" fill="#A1ACC1" ></path><path d="M44.521739 400.695652m44.521739 0l845.913044 0q44.521739 0 44.521739 44.521739l0 311.652174q0 44.521739-44.521739 44.521739l-845.913044 0q-44.521739 0-44.521739-44.521739l0-311.652174q0-44.521739 44.521739-44.521739Z" fill="#FFFFFF" ></path><path d="M209.65287 756.869565v-111.794087h44.477217c64.111304 0 110.992696-29.651478 110.992696-94.163478 0-66.515478-46.881391-88.954435-112.595479-88.954435H163.172174V756.869565h46.480696z m40.069565-149.058782h-40.069565v-108.588522h38.466782c46.881391 0 71.323826 12.822261 71.323826 51.689739s-22.438957 56.898783-69.721043 56.898783zM501.359304 756.869565c88.153043 0 139.842783-52.891826 139.842783-148.658087 0-96.166957-51.689739-146.253913-142.246957-146.253913H422.422261V756.869565h78.937043z m-5.609739-38.066087h-26.846608v-219.180521h26.846608c63.309913 0 97.369043 34.860522 97.369044 108.588521 0 73.327304-34.05913 110.592-97.369044 110.592z m253.239652 38.066087v-127.020522h108.989218v-38.867478h-108.989218v-90.156522h128.222609v-38.867478h-174.703304V756.869565h46.480695z" fill="#A1ACC1" ></path></symbol><symbol id="iconupload" viewBox="0 0 1075 1024"><path d="M576.2048 134.2976a23.3984 23.3984 0 0 0-36.1984 0L257.536 457.1136c-9.9328 11.4176-5.7344 20.6848 9.3696 20.6848h127.1296c15.104 0 27.4944 12.3904 27.4944 27.4944v211.8144c0 15.104 12.3904 27.4944 27.4944 27.4944h218.1632a27.5968 27.5968 0 0 0 27.4944-27.4944V505.344c0-15.104 12.3904-27.4944 27.4944-27.4944h127.1296c15.104 0 19.3536-9.2672 9.3696-20.6848l-282.4704-322.8672M239.4112 834.7136c0-15.104 12.3904-27.4944 27.4944-27.4944H849.408c15.104 0 27.4944 12.3904 27.4944 27.4944v36.0448a27.5968 27.5968 0 0 1-27.4944 27.4944H266.9056a27.5968 27.5968 0 0 1-27.4944-27.4944v-36.0448" ></path></symbol><symbol id="iconpdf" viewBox="0 0 1024 1024"><path d="M847.644 1024H150.756c-48.356-5.689-88.178-42.667-93.867-93.867V93.867C62.578 45.51 102.4 5.689 150.756 0h466.488l327.112 327.111v605.867C935.822 981.333 896 1018.31 847.644 1024z m0-696.889H662.756c-25.6-2.844-45.512-22.755-45.512-45.511V93.867H196.267c-25.6-2.845-45.511 17.066-45.511 42.666v748.09c5.688 22.755 22.755 42.666 45.51 45.51h605.867c25.6-2.844 45.511-22.755 45.511-45.51V327.11z m-128 358.4c-45.51-2.844-91.022-19.911-125.155-51.2-68.267 17.067-133.689 36.978-199.111 65.422-54.045 93.867-102.4 139.378-142.222 139.378-8.534 0-17.067-2.844-25.6-5.689-17.067-8.533-28.445-25.6-28.445-45.51 0-14.223 2.845-56.89 162.133-128 36.978-65.423 65.423-136.534 88.178-207.645-19.91-39.823-62.578-139.378-34.133-190.578 11.378-17.067 31.289-28.445 51.2-28.445 17.067 0 34.133 8.534 45.511 22.756 22.756 31.289 19.911 93.867-8.533 190.578 28.444 51.2 62.577 96.71 105.244 133.689 34.133-8.534 71.111-11.378 105.245-11.378 79.644 0 91.022 36.978 91.022 59.733-2.845 56.89-59.734 56.89-85.334 56.89z m-472.177 102.4h5.689c22.755-8.533 42.666-25.6 54.044-45.511-25.6 8.533-45.511 25.6-59.733 45.511z m221.866-503.467h-5.689c-2.844 0-5.688 0-5.688 2.845-5.69 28.444-2.845 59.733 11.377 85.333 8.534-28.444 8.534-59.733 0-88.178z m14.223 244.623v2.844-2.844c-17.067 39.822-34.134 79.644-51.2 116.622l2.844-2.845-2.844 2.845c36.977-14.222 76.8-25.6 113.777-34.133h2.845c-25.6-25.6-48.356-54.045-65.422-82.49z m227.555 88.177c-14.222 0-28.444 0-42.667 2.845 17.067 8.533 34.134 11.378 51.2 14.222 11.378 2.845 22.756 0 34.134-2.844-2.845-5.69-8.534-11.378-42.667-14.223z" ></path></symbol><symbol id="iconjinzhi2" viewBox="0 0 1024 1024"><path d="M785.066667 170.666667a34.133333 34.133333 0 0 1 34.133333 34.133333v750.933333a34.133333 34.133333 0 0 1-34.133333 34.133334H102.4a34.133333 34.133333 0 0 1-34.133333-34.133334V204.8a34.133333 34.133333 0 0 1 34.133333-34.133333h682.666667z m-34.133334 68.266666H136.533333v682.666667h614.4V238.933333z m170.632534-204.8A34.133333 34.133333 0 0 1 955.733333 68.266667v785.066666a34.133333 34.133333 0 0 1-68.369066 0V102.4H204.834133a34.133333 34.133333 0 1 1 0-68.266667H921.6zM237.909333 580.266667a34.133333 34.133333 0 0 1 34.2016 34.133333v238.933333H203.776v-238.933333a34.133333 34.133333 0 0 1 34.167467-34.133333z m205.1072 68.266666a34.133333 34.133333 0 0 1 34.167467 34.133334v170.666666h-68.369067v-170.666666a34.133333 34.133333 0 0 1 34.2016-34.133334zM648.533333 512a34.133333 34.133333 0 0 1 34.133334 34.133333v307.2h-68.266667v-307.2a34.133333 34.133333 0 0 1 34.133333-34.133333z m28.398934-189.610667a34.133333 34.133333 0 0 1-9.454934 47.342934l-204.8 136.533333a34.133333 34.133333 0 0 1-44.885333-6.178133L341.333333 410.862933 264.874667 500.053333a34.133333 34.133333 0 1 1-51.882667-44.4416l102.4-119.466666a34.133333 34.133333 0 0 1 51.882667 0l82.705066 96.494933 179.6096-119.739733a34.133333 34.133333 0 0 1 47.342934 9.454933z" fill="#A1ACC1" ></path></symbol><symbol id="iconjinzhi" viewBox="0 0 1024 1024"><path d="M499.370667 34.133333C242.3808 34.133333 34.133333 242.414933 34.133333 499.370667c0 256.887467 208.2816 465.169067 465.237334 465.169066 256.887467 0 465.169067-208.2816 465.169066-465.2032C964.539733 242.414933 756.258133 34.133333 499.370667 34.133333z m0 860.637867c-218.4192 0-395.4688-177.0496-395.4688-395.434667 0-218.385067 177.0496-395.434667 395.434666-395.434666 218.385067 0 395.434667 177.0496 395.434667 395.434666 0 218.385067-177.0496 395.434667-395.434667 395.434667z m220.945066-430.318933H278.357333a34.884267 34.884267 0 0 0 0 69.802666h441.9584a34.884267 34.884267 0 0 0 0-69.802666z" fill="#A1ACC1" ></path></symbol><symbol id="iconjinzhi3" viewBox="0 0 1024 1024"><path d="M68.266667 542.344533c0-37.922133 29.832533-68.266667 67.106133-68.266666 44.7488 0 74.581333 30.344533 74.581333 68.266666 0 45.499733-29.832533 75.844267-74.581333 75.844267C98.0992 618.1888 68.266667 587.844267 68.266667 542.378667zM157.764267 276.821333c0-53.077333 37.2736-98.6112 89.4976-98.6112 52.224 0 96.938667 45.533867 96.938666 98.645334 0 53.077333-44.714667 90.999467-96.938666 90.999466-52.224 0-89.4976-37.922133-89.4976-91.0336zM195.037867 815.445333c0-30.344533 22.391467-53.111467 52.224-53.111466s52.224 22.766933 52.224 53.111466-22.391467 53.077333-52.224 53.077334-52.224-22.7328-52.224-53.077334z m261.0176 113.7664c0-37.888 22.391467-60.689067 59.665066-60.689066 37.307733 0 59.665067 22.766933 59.665067 60.689066S553.028267 989.866667 515.754667 989.866667c-37.2736 0-59.665067-22.766933-59.665067-60.689067z m290.850133-113.7664c0-22.766933 14.916267-37.922133 37.307733-37.922133 22.357333 0 37.2736 15.1552 37.2736 37.888 0 22.801067-14.916267 37.956267-37.2736 37.956267-22.391467 0-37.307733-15.1552-37.307733-37.922134z m82.056533-273.066666c0-30.344533 29.832533-60.689067 67.106134-60.689067 29.832533 0 59.665067 30.344533 59.665066 60.689067 0 37.922133-29.832533 68.266667-59.665066 68.266666-37.2736 0-67.106133-30.344533-67.106134-68.266666zM657.408 276.821333c0-75.844267 59.630933-128.955733 126.7712-128.955733 67.106133 0 126.7712 53.111467 126.7712 128.955733 0 68.266667-59.665067 128.955733-126.7712 128.955734-67.140267 0-126.7712-60.689067-126.7712-128.955734z m-268.4928-113.7664c0-68.266667 59.665067-128.955733 126.7712-128.955733 67.140267 0 126.805333 60.689067 126.805333 128.955733s-59.665067 128.955733-126.805333 128.955734c-67.106133 0-126.7712-60.689067-126.7712-128.955734z" fill="#A1ACC1" ></path></symbol><symbol id="iconjinzhi1" viewBox="0 0 1024 1024"><path d="M501.282133 34.133333c258.013867 0 467.1488 209.134933 467.1488 467.1488 0 60.2112-11.400533 118.852267-33.28 173.4656l-5.461333 13.0048 70.587733 206.336c4.573867 13.380267 4.539733 27.8528 0.034134 41.130667l-2.184534 5.632c-13.312 29.661867-46.660267 44.509867-79.189333 34.2016l-5.188267-2.013867-166.570666-74.5472-7.0656 4.369067a464.7936 464.7936 0 0 1-225.3824 65.399467l-13.448534 0.170666C243.268267 968.430933 34.133333 759.296 34.133333 501.282133S243.268267 34.133333 501.282133 34.133333z m0 63.863467c-222.72 0-403.285333 180.565333-403.285333 403.285333 0 222.72 180.565333 403.285333 403.285333 403.285334 81.476267 0 159.266133-24.1664 225.314134-68.744534l14.711466-9.9328 196.8128 88.1664 1.7408 0.682667-78.848-230.536533 5.5296-11.6736a401.6128 401.6128 0 0 0 38.024534-171.246934c0-222.72-180.565333-403.285333-403.285334-403.285333z m-134.9632 226.065067a34.816 34.816 0 0 1 32.9728 4.437333l116.872534 86.664533 116.804266-86.698666a34.542933 34.542933 0 0 1 46.762667 5.461333 30.5152 30.5152 0 0 1-5.7344 44.373333l-116.155733 86.1184h95.6416c18.397867 0 33.314133 14.1312 33.314133 31.607467 0 17.408-14.916267 31.573333-33.314133 31.573333h-104.072534v38.7072h104.072534c18.397867 0 33.314133 14.1312 33.314133 31.573334 0 17.476267-14.916267 31.607467-33.314133 31.607466h-104.072534v70.314667c0 17.408-14.916267 31.573333-33.314133 31.573333-18.397867 0-33.314133-14.1312-33.314133-31.607466v-70.280534h-104.004267c-18.397867 0-33.314133-14.1312-33.314133-31.607466 0-17.408 14.916267-31.573333 33.314133-31.573334h104.004267v-38.7072h-104.004267c-18.397867 0-33.314133-14.1312-33.314133-31.573333 0-17.476267 14.916267-31.607467 33.314133-31.607467h95.573333l-116.087466-86.1184a30.856533 30.856533 0 0 1-12.458667-29.320533 31.9488 31.9488 0 0 1 20.48-24.917333z" fill="#A1ACC1" ></path></symbol><symbol id="icondenglu-mimabeifen" viewBox="0 0 1075 1024"><path d="M441.344 17.408c-14.848 4.096-44.032 15.36-65.024 25.6-46.592 23.04-86.016 64-111.616 117.248-28.16 57.344-34.304 89.6-34.304 174.08v73.728l-33.28 2.56c-39.936 3.584-65.024 19.968-79.872 52.224-8.704 19.456-9.728 37.376-9.728 249.856 0 149.504 2.048 233.472 5.632 243.2 7.168 19.456 28.672 40.96 53.248 54.272 20.48 11.264 24.064 11.264 325.12 12.8 167.424 1.024 316.416 0 331.264-1.536 35.84-4.608 57.344-19.968 74.752-53.76l14.336-28.16-1.536-230.4c-1.536-227.328-1.536-230.912-12.8-251.904-15.872-28.672-40.448-46.592-74.752-53.248l-29.184-6.144V325.632c0-115.2-18.944-168.96-83.456-233.984C670.208 51.2 636.928 31.232 585.728 17.92 549.888 8.704 478.72 8.704 441.344 17.408z m159.232 68.608c41.472 20.48 83.968 65.024 105.984 110.592 15.36 32.256 15.36 33.28 15.36 120.32V404.48H307.2V330.752c0-88.064 8.704-123.392 43.008-173.056 43.008-63.488 100.352-92.672 175.616-89.6 34.304 1.536 47.104 4.608 74.752 17.92z m-55.296 469.504c8.704 4.608 23.04 14.848 31.232 23.552 19.968 20.992 23.552 69.12 7.168 101.376-6.144 12.288-15.36 23.552-20.992 24.576-8.704 2.56-9.728 7.68-9.728 64.512 0 56.32-1.024 62.976-11.264 73.728-15.872 16.896-46.08 16.384-59.904-1.536-9.728-12.288-10.752-20.48-10.752-73.728 0-57.856-0.512-59.904-13.312-72.192-26.112-24.064-34.816-65.024-20.48-98.304 17.408-41.472 67.584-60.928 108.032-41.984z" fill="#A1ACC1" ></path></symbol><symbol id="iconyincang" viewBox="0 0 1024 1024"><path d="M511.488 545.8944c-183.9616 0-367.6672-55.8592-498.5856-167.424a37.5296 37.5296 0 0 1-3.4816-53.0944 37.888 37.888 0 0 1 53.3504-3.4304c230.8608 198.656 667.648 198.656 897.536 0a37.888 37.888 0 0 1 53.3504 3.4304 37.5296 37.5296 0 0 1-3.5328 53.1456c-130.8672 111.5136-314.624 167.3728-498.5856 167.3728z m-136.6016 164.352a30.8224 30.8224 0 0 1-6.7072 0 36.864 36.864 0 0 1-31.1296-44.9536l24.8832-146.4832a37.888 37.888 0 0 1 74.752 12.9024l-24.8832 146.4832a37.376 37.376 0 0 1-36.864 32.0512z m560.4864-74.496a36.864 36.864 0 0 1-26.4192-11.1616l-122.88-124.16a37.12 37.12 0 0 1 15.9744-64.3584 37.5296 37.5296 0 0 1 37.0688 12.2368l122.88 124.1088a37.1712 37.1712 0 0 1 0 52.6848 39.0656 39.0656 0 0 1-26.624 10.6496z m-847.6672 0a38.9632 38.9632 0 0 1-24.9344-10.6496 37.12 37.12 0 0 1 0-52.6848l122.88-124.1088a37.4784 37.4784 0 0 1 67.4304 14.1312 37.1712 37.1712 0 0 1-15.8208 37.9904l-122.88 124.16a36.9664 36.9664 0 0 1-26.6752 11.1616z m562.176 74.496a37.376 37.376 0 0 1-36.6592-30.8224l-24.9344-146.432a37.12 37.12 0 0 1 9.728-38.8096 37.5296 37.5296 0 0 1 63.0784 24.576l24.9344 146.5344a37.2224 37.2224 0 0 1-30.208 43.2128 30.7712 30.7712 0 0 1-5.9392 1.6896v0.0512z" fill="#A1ACC1" ></path></symbol><symbol id="iconyanjing" viewBox="0 0 1024 1024"><path d="M511.488 249.1904c188.9792 0 361.0624 183.6032 426.8032 262.2976-65.7408 78.7456-237.824 262.2976-426.8032 262.2976-188.928 0-361.0624-183.552-426.752-262.2976C150.4256 432.7936 322.5088 249.1904 511.488 249.1904z m0-78.6944C276.992 170.496 78.336 394.24 11.3152 479.232a51.6096 51.6096 0 0 0 0 64.512c67.0208 84.992 265.728 308.736 500.224 308.736 234.496 0 433.152-223.744 500.1728-308.736a51.6096 51.6096 0 0 0 0-64.512c-67.072-84.992-265.728-308.736-500.224-308.736z m0 262.2976c42.3936 0 76.7488 35.2256 76.7488 78.6944 0 43.52-34.3552 78.7456-76.7488 78.7456-42.3424 0-76.6976-35.2768-76.6976-78.7456 0-43.4688 34.304-78.6944 76.6976-78.6944z m0-78.6432c-62.0544 0-118.016 38.2976-141.7216 97.1264a160.3072 160.3072 0 0 0 33.28 171.52 150.6304 150.6304 0 0 0 167.168 34.0992c57.344-24.32 94.72-81.7664 94.72-145.408 0-86.9376-68.6592-157.3376-153.3952-157.3376z" fill="#A1ACC1" ></path></symbol><symbol id="icondrow" viewBox="0 0 1024 1024"><path d="M534.26087 872.358957a381.729391 381.729391 0 1 1 0.623304-763.458783A381.729391 381.729391 0 0 1 534.26087 872.358957zM534.26087 934.956522c245.893565 0 445.217391-199.323826 445.217391-445.217392S780.154435 44.521739 534.26087 44.521739 89.043478 243.845565 89.043478 489.73913s199.323826 445.217391 445.217392 445.217392z m0-277.504a31.165217 31.165217 0 0 0 22.79513-9.883826l192.333913-205.022609a31.298783 31.298783 0 1 0-45.679304-42.874435L534.26087 580.296348 364.989217 399.716174a31.298783 31.298783 0 0 0-45.634782 42.874435l192.111304 205.156174c5.921391 6.233043 14.157913 9.794783 22.795131 9.705739z" ></path></symbol><symbol id="iconsanjiao" viewBox="0 0 1152 1024"><path d="M473.6 762.496L153.6 335.872a128 128 0 0 1 102.4-204.8h640a128 128 0 0 1 102.4 204.8L678.4 762.496a128 128 0 0 1-204.8 0z" ></path></symbol><symbol id="iconsy" viewBox="0 0 1024 1024"><path d="M932.4544 477.44h-17.2544l-385.8944-374.3744c-11.52-11.52-23.04-11.52-34.56 0l-391.68 374.3744h-11.52a39.3728 39.3728 0 0 0-40.3456 40.3456v34.56c0 23.04 17.2544 40.2944 40.3456 40.2944h103.6288v264.96c0 23.04 17.3056 40.3456 40.3456 40.3456h167.0656c23.04 0 40.2944-17.3056 40.2944-40.3456v-213.0944h138.24v213.0944c0 23.04 17.3056 40.3456 40.2944 40.3456H788.48c23.04 0 40.2944-17.3056 40.2944-40.3456v-264.96h103.68c23.04 0 40.3456-17.2544 40.3456-40.2944v-34.56a39.3728 39.3728 0 0 0-40.3456-40.3456z" ></path></symbol><symbol id="iconstore" viewBox="0 0 1024 1024"><path d="M407.296 305.664a151.2448 151.2448 0 0 0-151.1424-151.1424A151.2448 151.2448 0 0 0 105.0112 305.664c0 41.6768 15.616 78.1824 41.6768 104.2432-5.2224 31.232-10.3936 62.5664-10.3936 93.7984a398.848 398.848 0 0 0 187.5968 338.7904l31.2832-125.0816a277.6576 277.6576 0 0 1-99.0208-213.7088c0-15.616 0-31.232 5.2224-46.8992 78.1824 0 145.92-67.7376 145.92-151.1424zM537.6 222.2592c52.1216 0 99.0208 15.6672 140.7488 36.5056-5.2224 15.616-10.4448 36.4544-10.4448 52.1216a151.2448 151.2448 0 0 0 151.1424 151.1424 151.2448 151.2448 0 0 0 151.1424-151.1424 151.2448 151.2448 0 0 0-151.1424-151.1424c-20.8384 0-36.5056 5.2224-57.344 10.3936A406.0672 406.0672 0 0 0 537.6 102.4c-57.344 0-114.688 10.4448-161.5872 36.5056l67.7888 99.0208A295.1168 295.1168 0 0 1 537.6 222.208z m281.4464 291.84c-5.2224 104.2944-62.5664 192.8704-151.1424 234.5984-26.112-46.8992-78.1824-83.4048-135.5264-83.4048a151.2448 151.2448 0 0 0-151.1424 151.1424 151.2448 151.2448 0 0 0 151.1424 151.1424c62.5664 0 114.688-36.4544 140.7488-93.7984 156.3648-57.344 265.7792-203.264 265.7792-375.296v-26.0096c-5.1712 5.1712-119.8592 41.6768-119.8592 41.6768z" ></path></symbol><symbol id="iconsq" viewBox="0 0 1024 1024"><path d="M399.758222 260.551111a7.395556 7.395556 0 0 0-12.629333-4.323555l-40.504889 40.561777-124.017778-123.960889a7.395556 7.395556 0 0 0-10.467555 0l-39.253334 39.253334a7.395556 7.395556 0 0 0 0 10.467555l123.960889 124.017778-40.732444 40.675556a7.395556 7.395556 0 0 0 4.380444 12.629333l148.536889 17.464889a7.395556 7.395556 0 0 0 8.305778-8.192L399.758222 260.551111z m9.386667 346.168889l-148.650667 17.521778a7.395556 7.395556 0 0 0-4.380444 12.629333l40.732444 40.732445-124.017778 123.790222a7.452444 7.452444 0 0 0 0 10.524444l39.253334 39.253334a7.395556 7.395556 0 0 0 10.524444 0l124.017778-124.017778 40.504889 40.561778a7.395556 7.395556 0 0 0 12.629333-4.323556l17.521778-148.48a7.338667 7.338667 0 0 0-8.135111-8.192z m205.653333-189.383111l148.707556-17.521778a7.395556 7.395556 0 0 0 4.380444-12.629333l-40.732444-40.618667 124.017778-123.904a7.452444 7.452444 0 0 0 0-10.467555l-39.310223-39.253334a7.452444 7.452444 0 0 0-10.524444 0l-124.017778 123.847111-40.504889-40.561777a7.395556 7.395556 0 0 0-12.629333 4.380444l-17.464889 148.48a7.395556 7.395556 0 0 0 8.078222 8.248889z m112.355556 260.152889l40.732444-40.675556a7.395556 7.395556 0 0 0-4.380444-12.629333l-148.536889-17.521778a7.395556 7.395556 0 0 0-8.305778 8.248889l17.521778 148.536889a7.395556 7.395556 0 0 0 12.629333 4.380444l40.561778-40.561777 124.017778 123.904c2.844444 2.901333 7.566222 2.901333 10.467555 0l39.310223-39.196445a7.452444 7.452444 0 0 0 0-10.467555l-124.017778-124.017778z" ></path></symbol><symbol id="iconuser" viewBox="0 0 1024 1024"><path d="M627.6608 564.4288a288 288 0 0 1 288 283.9552v18.432c0 60.16-113.8176 63.6928-260.1984 63.8976H413.9008C267.8784 930.5088 153.6 926.976 153.6 866.816v-18.432a288 288 0 0 1 288-283.9552zM525.1072 51.2c123.4432 0 223.488 98.5088 223.488 220.0576 0 121.4976-100.0448 220.0064-223.488 220.0064-123.392 0-223.488-98.5088-223.488-220.0576C301.6192 149.76 401.7152 51.2 525.1072 51.2z" ></path></symbol><symbol id="iconwd" viewBox="0 0 1024 1024"><path d="M250.212174 44.521739C188.059826 44.521739 137.750261 96.701217 137.750261 161.124174v699.614609c0 64.422957 50.309565 116.646957 112.372869 116.646956h561.997913c62.063304 0 118.561391-52.224 118.561392-116.646956V249.766957L738.482087 44.521739H250.212174z m449.224348 66.649044l165.175652 166.555826h-138.195478a27.158261 27.158261 0 0 1-26.980174-27.247305v-139.353043z m110.102261 799.565913H258.938435c-30.408348 0-55.073391-25.6-55.073392-57.07687V168.247652c0-31.521391 24.665043-57.07687 55.073392-57.076869h385.424695v171.319652c0 31.521391 24.665043 57.121391 55.073392 57.121391h165.175652v514.048c0 31.47687-24.665043 57.07687-55.073391 57.07687zM574.775652 410.935652H295.446261c-14.959304-1.78087-26.089739-16.027826-25.377391-32.634435-1.424696-17.007304 9.883826-32.189217 25.377391-33.970087h279.373913c15.538087 1.78087 26.802087 16.918261 25.377391 33.970087 0.712348 16.562087-10.418087 30.853565-25.377391 32.634435h-0.044522z m198.566957 166.600348H295.17913c-14.692174-3.205565-25.243826-17.14087-25.243826-33.346783 0-16.161391 10.551652-30.096696 25.110261-33.30226h478.386087c14.60313 3.205565 25.110261 17.14087 25.110261 33.30226 0 16.205913-10.50713 30.141217-25.110261 33.346783h-0.089043z m0 166.555826H295.17913c-14.692174-3.205565-25.243826-17.14087-25.243826-33.302261s10.551652-30.096696 25.110261-33.302261h478.386087c14.60313 3.205565 25.110261 17.14087 25.110261 33.302261s-10.50713 30.096696-25.110261 33.302261h-0.089043z" ></path></symbol><symbol id="iconmsg" viewBox="0 0 1024 1024"><path d="M884.023652 71.546435c59.347478 0 102.4 45.990957 102.4 109.345391v549.398261c0 61.217391-41.182609 102.4-102.4 102.4h-217.711304l-128.801391 127.24313a36.730435 36.730435 0 0 1-25.822609 10.685218 36.062609 36.062609 0 0 1-25.6-10.551652L354.838261 832.556522H135.479652c-61.44 0-102.66713-41.182609-102.66713-102.4V180.891826c0-63.354435 43.186087-109.345391 102.66713-109.345391z m0 72.748522H135.479652c-26.980174 0-29.918609 25.555478-29.918609 36.596869v549.220174c0 21.147826 8.681739 29.696 29.918609 29.696H368.64a35.929043 35.929043 0 0 1 26.624 10.462609l116.157217 112.461913 113.886609-112.239305a36.329739 36.329739 0 0 1 25.822609-10.685217h232.848695c21.103304 0 29.696-8.548174 29.696-29.651478V180.847304c0-11.041391-2.938435-36.59687-29.696-36.596869zM289.970087 383.777391c35.617391 0 64.556522 28.93913 64.556522 64.556522l-0.356174 6.233044a64.556522 64.556522 0 0 1-128.712348-6.233044l0.26713-6.233043a64.556522 64.556522 0 0 1 64.24487-58.323479z m229.910261 0c35.617391 0 64.556522 28.93913 64.556522 64.556522l-0.311653 6.233044a64.556522 64.556522 0 0 1-128.756869-6.233044l0.311652-6.233043a64.556522 64.556522 0 0 1 64.200348-58.323479z m228.396522-0.801391a64.556522 64.556522 0 1 1 0 129.024 64.556522 64.556522 0 0 1 0-129.024z" ></path></symbol><symbol id="iconclose" viewBox="0 0 1024 1024"><path d="M924.544 337.728a446.208 446.208 0 0 0-95.936-142.336A446.208 446.208 0 0 0 512 64.192a446.208 446.208 0 0 0-316.608 131.2A446.208 446.208 0 0 0 64.192 512a446.208 446.208 0 0 0 131.2 316.608A446.208 446.208 0 0 0 512 959.808a446.208 446.208 0 0 0 316.608-131.2A446.208 446.208 0 0 0 959.744 512c0-60.416-11.84-119.04-35.2-174.272zM512 896.256A384.64 384.64 0 0 1 127.744 512 384.64 384.64 0 0 1 512 127.744 384.64 384.64 0 0 1 896.256 512 384.64 384.64 0 0 1 512 896.256z m180.992-565.248c-12.48-12.544-31.488-13.76-42.368-2.88L512 466.752 373.376 328.128c-10.88-10.88-29.888-9.6-42.368 2.88-12.544 12.48-13.76 31.488-2.88 42.368L466.752 512l-138.624 138.624c-10.88 10.88-9.6 29.888 2.88 42.368 12.48 12.544 31.488 13.76 42.368 2.88L512 557.248l138.624 138.624c10.88 10.88 29.888 9.6 42.368-2.88 12.544-12.48 13.76-31.488 2.88-42.368L557.248 512l138.624-138.624c10.88-10.88 9.6-29.888-2.88-42.368z" ></path></symbol><symbol id="icongoods" viewBox="0 0 1024 1024"><path d="M482.8672 510.8736L138.6496 351.0784a27.9552 27.9552 0 0 0-10.9056-2.2016 25.0368 25.0368 0 0 0-25.344 24.6784v365.2608c0 18.0224 10.0864 34.5088 26.112 42.752l344.9344 187.392a25.344 25.344 0 0 0 25.3952 0 23.9104 23.9104 0 0 0 12.6976-21.0432v-392.448a49.3056 49.3056 0 0 0-28.672-44.544z m-73.5232 135.168l-204.8-100.352v-49.3056l204.8 98.56v51.0976z m535.552-358.7584a21.4016 21.4016 0 0 0-12.6976-27.904L557.568 106.496a52.5312 52.5312 0 0 0-40.5504 0L142.2848 259.3792a22.4768 22.4768 0 0 0-12.6976 12.3392 21.4016 21.4016 0 0 0 12.6976 27.904l374.6816 152.9344c13.056 5.0176 27.4944 5.0176 40.5504 0l374.6816-152.9344a22.4768 22.4768 0 0 0 12.6976-12.288z m24.6272 75.3664a26.112 26.112 0 0 0-33.6896-11.5712l-344.2176 160.1536a48.896 48.896 0 0 0-28.672 44.2368v392.0896c0 4.3008 1.1776 8.5504 3.2768 12.288a26.112 26.112 0 0 0 36.2496 9.0624l344.9856-186.9824a49.3056 49.3056 0 0 0 24.6272-43.1104V373.5552a21.76 21.76 0 0 0-2.56-10.9056z m-41.6256 244.992v72.448H896s-2.56 9.7792-3.9936 14.4896l-4.352 11.6224 22.4768 29.696-40.2432 55.0912-22.4768-29.3376-9.0624 5.7856a83.3536 83.3536 0 0 1-11.5712 5.4272v41.6768H769.536v-41.3184a67.7376 67.7376 0 0 1-11.6224-5.4272l-8.704-5.7856-22.4256 29.3376-40.96-52.1728 22.4768-29.696a108.6976 108.6976 0 0 1-4.352-11.6224 108.6976 108.6976 0 0 1-3.9936-14.4896h-31.8976v-72.448h31.8976c2.048-9.8304 5.12-19.456 9.0624-28.672l-22.528-29.3376 39.5264-51.8144 22.528 29.3376c6.656-4.9664 13.9264-8.96 21.7088-11.9296v-44.9536h56.8832v41.6768c7.8848 2.9696 15.3088 7.0144 22.1184 11.9808l22.4768-29.3888 39.4752 51.8144-22.4768 29.3888c3.9424 9.216 6.9632 18.7904 9.0624 28.6208h30.1056z m-130.4576 132.9664c-40.2432 0-72.4992-43.1104-72.4992-96.3584s32.256-96.4096 72.4992-96.4096c40.192 0 72.448 43.1104 72.448 96.4096 0 53.248-32.256 96.3584-72.448 96.3584z" ></path></symbol><symbol id="iconbj" viewBox="0 0 1024 1024"><path d="M862.0544 928.512H160.4608a39.8336 39.8336 0 0 1-40.448-39.1168V211.2c0-21.6064 18.1248-39.1168 40.448-39.1168h67.4816v39.1168c0 43.2128 36.2496 78.2336 80.9472 78.2336s80.896-35.0208 80.896-78.2336V172.032h40.4992v39.1168c0 43.2128 36.2496 78.2336 80.9472 78.2336s80.9984-35.0208 80.9984-78.2336V172.032h40.448v39.1168c0 43.2128 36.2496 78.2336 80.896 78.2336 44.7488 0 80.9984-35.0208 80.9984-78.2336V172.032h67.4816c22.3232 0 40.448 17.5104 40.448 39.1168V889.344a39.8336 39.8336 0 0 1-40.448 39.1168zM754.176 393.7792H268.3904a39.7824 39.7824 0 0 0-40.448 39.1168c0 21.6064 18.0736 39.1168 40.448 39.1168h485.7344c22.3744 0 40.448-17.5104 40.448-39.1168a39.7824 39.7824 0 0 0-40.448-39.1168z m0 169.5744H268.3904a39.7824 39.7824 0 0 0-40.448 39.1168c0 21.6064 18.0736 39.1168 40.448 39.1168h485.7344c22.3744 0 40.448-17.5104 40.448-39.1168a39.7824 39.7824 0 0 0-40.448-39.1168z m6.7072 169.5232H261.632a33.1264 33.1264 0 0 0-33.6896 32.6144c0 17.9712 15.104 32.6144 33.6896 32.6144h499.2a33.1776 33.1776 0 0 0 33.7408-32.6144 33.1264 33.1264 0 0 0-33.7408-32.6144z m-47.2064-482.56a39.8336 39.8336 0 0 1-40.448-39.1168V132.9664c0-21.6064 18.1248-39.168 40.448-39.168 22.3232 0 40.448 17.5616 40.448 39.168v78.2336a39.8336 39.8336 0 0 1-40.448 39.1168z m-202.3936 0a39.7824 39.7824 0 0 1-40.448-39.1168V132.9664c0-21.6064 18.1248-39.168 40.448-39.168 22.3744 0 40.448 17.5616 40.448 39.168v78.2336a39.7824 39.7824 0 0 1-40.448 39.1168z m-202.3424 0a39.8336 39.8336 0 0 1-40.448-39.1168V132.9664c0-21.6064 18.0736-39.168 40.448-39.168 22.3232 0 40.448 17.5616 40.448 39.168v78.2336a39.8336 39.8336 0 0 1-40.448 39.1168z" ></path></symbol></svg>',function(l){var a=(a=document.getElementsByTagName("script"))[a.length-1],c=a.getAttribute("data-injectcss"),a=a.getAttribute("data-disable-injectsvg");if(!a){var t,o,h,i,m,e=function(a,c){c.parentNode.insertBefore(a,c)};if(c&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(a){console&&console.log(a)}}t=function(){var a,c=document.createElement("div");c.innerHTML=l._iconfont_svg_string_2537242,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(a=document.body).firstChild?e(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),t()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(h=t,i=l.document,m=!1,v(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,n())})}function n(){m||(m=!0,h())}function v(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(v,50)}n()}}(window);
\ No newline at end of file
window._iconfont_svg_string_2537242='<svg><symbol id="iconzhangdanguanli" viewBox="0 0 1024 1024"><path d="M714.684728 254.469842a47.164275 47.164275 0 0 1 0 66.704577l-83.889524 83.843788 56.025442 0.057169a47.164275 47.164275 0 1 1 0 94.32855l-119.299889-0.057169v72.135614l174.787944 0.057169a47.164275 47.164275 0 0 1 0 94.32855l-174.787944-0.057169v72.192783a55.499488 55.499488 0 0 1-110.987543 0v-72.192783l-174.787944 0.057169a47.164275 47.164275 0 0 1 0-94.32855l174.730775-0.057169v-72.135614l-119.299889 0.057169a47.164275 47.164275 0 0 1 0-94.32855l57.763373-0.057169-83.855222-83.843788a47.164275 47.164275 0 1 1 66.693143-66.704577l129.51024 129.487373a46.947033 46.947033 0 0 1 5.716882 6.860258 35.593306 35.593306 0 0 1 5.511074-6.860258l129.464505-129.487373a47.164275 47.164275 0 0 1 66.704577 0zM789.438674 94.32855H234.546694a127.623669 127.623669 0 0 0-127.326392 118.911141l-0.297277 8.735395v657.189863l0.583122-0.285844a149.839472 149.839472 0 0 1 147.346911 0.743195l9.592928 5.979858 51.589141 34.838678a53.429977 53.429977 0 0 0 53.441411 3.727407l6.219967-3.578768 53.086964-35.444667a149.782303 149.782303 0 0 1 156.642562-6.117064l9.615795 5.888388 53.109832 35.318896a56.17408 56.17408 0 0 0 55.8082 3.635937l6.482944-3.727407 52.458107-34.987317a149.782303 149.782303 0 0 1 147.346911-10.782039l6.860258 3.578768V221.952219a127.646537 127.646537 0 0 0-118.911141-127.326392z m0-94.32855c122.581379 0 221.952219 99.370839 221.952219 221.952219v732.789908a52.98406 52.98406 0 0 1-82.586075 43.928519l-51.726346-34.872979a55.510922 55.510922 0 0 0-61.82236-0.137205l-52.446673 35.010184a150.525498 150.525498 0 0 1-166.932949 0.137205l-53.098398-35.318895a55.510922 55.510922 0 0 0-61.58225 0.080036L428.097444 999.082262a147.792828 147.792828 0 0 1-164.852004-0.457351l-51.577707-34.884412a55.510922 55.510922 0 0 0-61.742324-0.308712L96.746975 998.624911A54.207473 54.207473 0 0 1 12.617343 953.404376V221.952219C12.594475 99.370839 111.965314 0.022868 234.546694 0.022868z" fill="#231815" ></path></symbol><symbol id="iconjishouguanli" viewBox="0 0 1094 1024"><path d="M1094.365268 781.772073a49.66977 49.66977 0 0 0-25.085742-38.857815c-9.13121-6.848408-57.120235-45.706222-105.10926-86.84684 0-2.282803 2.282803-6.848408 2.282803-9.13121V39.083586a40.137188 40.137188 0 0 0-38.857815-38.857814H164.311373a40.137188 40.137188 0 0 0-38.857814 38.857814v541.475748a220.227732 220.227732 0 0 0-54.837433 0 87.800098 87.800098 0 0 0-61.710926 45.706222v2.282803a74.00294 74.00294 0 0 0 4.565605 77.765801c2.282803 2.282803 2.282803 4.565605 4.565605 4.565605 50.171485 43.42342 237.662322 198.804508 251.359138 210.243606a66.728074 66.728074 0 0 0 59.403037 13.721901h374.806076a128.815287 128.815287 0 0 1 27.418716 9.13121c2.282803 2.282803 61.710926 50.171485 75.407742 61.710926h2.282802a79.346203 79.346203 0 0 0 47.989025 18.287506 73.400882 73.400882 0 0 0 50.171485-22.853111l171.385791-173.668594a62.212641 62.212641 0 0 0 16.105046-45.681136z m-205.703086-703.830672v514.257717c-18.287506-16.004704-31.984321-29.701519-36.575012-34.267124-2.282803-2.282803-2.282803-4.565605-4.565606-4.565605a94.673591 94.673591 0 0 0-52.680058-20.570309h-333.640373a95.074963 95.074963 0 0 0-57.120235 16.004704 82.78295 82.78295 0 0 0-34.267124 73.124939 103.75463 103.75463 0 0 0 52.680059 89.129642h-86.796668c-25.085742-16.004704-86.84684-59.403038-132.527977-93.695247V78.016659z m-36.524841 868.368055c-16.004704-11.414013-70.842136-57.120235-73.124939-59.403038a123.346595 123.346595 0 0 0-70.842136-27.418716H315.126856c-25.085742-20.570309-173.668594-143.967075-235.37952-196.521705a17.334248 17.334248 0 0 1 9.13121-4.565605 80.751004 80.751004 0 0 1 63.993729 20.570309c57.120235 41.140617 148.53268 105.10926 148.53268 105.10926a38.606957 38.606957 0 0 0 22.853111 6.848407h221.657619a31.909064 31.909064 0 0 0 20.570309-6.848407l63.993728-41.140618a46.283195 46.283195 0 0 0 22.853111-52.680058 43.975306 43.975306 0 0 0-43.323077-29.601176 1231.885546 1231.885546 0 0 1-139.401469-13.721901h-2.282803a23.931798 23.931798 0 0 1-20.570309-22.853111v-9.131211c4.565605 0 9.13121-2.282803 11.414013 0h333.640372c6.848408 9.13121 31.984321 29.701519 111.982754 98.260853 2.282803 2.282803 63.993729 52.680059 98.260853 79.973346zM587.056302 676.662812z" ></path><path d="M376.812696 349.895933h342.771583a38.882901 38.882901 0 0 0 0-77.765801H376.812696a40.137188 40.137188 0 0 0-38.857815 38.857815 35.99804 35.99804 0 0 0 38.857815 38.907986z" ></path></symbol><symbol id="iconshujutongji" viewBox="0 0 1024 1024"><path d="M161.933635 982.016249A88.059387 88.059387 0 0 1 73.142857 894.932048V87.087126A88.059387 88.059387 0 0 1 161.933635 0.002926h396.267243v71.042374H161.933635a16.090586 16.090586 0 0 0-15.846789 16.041826v807.844922a16.090586 16.090586 0 0 0 15.846789 16.041827v71.042374zM774.984951 112.978341H238.92465a48.759351 48.759351 0 0 0-50.856003 45.492474v819.986001A48.759351 48.759351 0 0 0 238.92465 1023.94929h661.030517A48.759351 48.759351 0 0 0 950.81117 978.456816V286.51287zM442.39742 892.299043a17.9922 17.9922 0 0 1-18.235997 17.748404H358.872652a17.9922 17.9922 0 0 1-18.235997-17.748404v-101.126893a17.9922 17.9922 0 0 1 18.235997-17.748404H424.210182a17.9922 17.9922 0 0 1 18.235997 17.748404V892.299043z m178.069149 3.120599a15.066639 15.066639 0 0 1-15.212918 14.627805H533.723684a15.115399 15.115399 0 0 1-15.212918-14.627805V423.770443a15.115399 15.115399 0 0 1 15.212918-14.627806h71.529967a15.115399 15.115399 0 0 1 15.212918 14.627806v471.600439z m177.92287 3.900748a11.068373 11.068373 0 0 1-11.21465 10.727057h-79.380223a11.068373 11.068373 0 0 1-11.214651-10.922095v-251.451971a11.068373 11.068373 0 0 1 11.214651-10.922095h79.331463a11.117132 11.117132 0 0 1 11.214651 10.922095v251.647009z" fill="#808080" ></path></symbol><symbol id="iconxiaoxiguanli1" viewBox="0 0 1024 1024"><path d="M606.432743 951.081247c-12.797467 0-25.269523-3.586688-33.828456-6.052856-58.241472-16.791431-102.33983-62.724577-137.798413-105.437377-213.768665-29.588899-370.966916-189.946097-370.966916-379.647623 0-213.401298 201.052039-387.024637 448.16002-387.024637s448.16002 173.623339 448.16002 387.024637c0 171.60538-132.744303 324.05549-323.200006 371.680161 1.426489 5.399987 3.015683 10.698666 4.524037 15.854083 2.934842 9.843182 5.665023 19.298532 7.498788 28.203342 3.668553 18.299785 9.210779 45.871747-10.43363 64.007803C629.134791 948.329577 617.641015 951.081247 606.432743 951.081247zM512 135.520533c-212.586746 0-385.557216 145.541771-385.557216 324.422857 0 158.27784 134.619 292.571429 320.143391 319.348282 14.264888 2.057869 27.185152 9.272177 36.354999 20.276812 30.078039 36.21276 63.417355 71.344908 103.725386 84.305081-1.426489-5.950526-3.301186-12.186554-5.216815-18.645662-2.119267-7.234775-4.320399-14.69263-6.195096-22.293749-3.790326-15.263635-1.385557-31.015388 6.766101-44.38386 8.273431-13.613042 21.438265-23.210631 37.08871-27.000957 163.92342-39.880289 278.44878-168.019715 278.44878-311.604924C897.557216 281.062304 724.586746 135.520533 512 135.520533z" ></path><path d="M273.964652 465.092667m-58.989509 0a57.646 57.646 0 1 0 117.979018 0 57.646 57.646 0 1 0-117.979018 0Z" ></path><path d="M511.983627 465.092667m-58.989509 0a57.646 57.646 0 1 0 117.979018 0 57.646 57.646 0 1 0-117.979018 0Z" ></path><path d="M750.002602 465.092667m-58.989509 0a57.646 57.646 0 1 0 117.979018 0 57.646 57.646 0 1 0-117.979018 0Z" ></path></symbol><symbol id="iconzhibiaozhuizong" viewBox="0 0 1024 1024"><path d="M556.014 314.652c0-18.079-12.226-35.088-27.339-35.088H200.607c-15.111 0-27.34 17.009-27.34 35.088s12.227 35.087 27.34 35.087h328.068c15.108 0.001 27.339-17.008 27.339-35.087zM198.261 483.713c-13.813 0-24.993 17.541-24.993 35.619 0 18.08 11.179 35.621 24.993 35.621h199.934c13.813 0 24.993-17.541 24.993-35.621s-11.179-35.619-24.993-35.619H198.261zM333.98 689.989H196.227c-12.692 0-22.958 17.541-22.958 35.619s10.27 35.621 22.958 35.621H333.98c12.692 0 22.958-17.542 22.958-35.621s-10.27-35.619-22.958-35.619z" ></path><path d="M348.383 905.531H137.427c-32.899 0-59.671-25.589-59.671-57.052V177.532c0-31.465 26.768-57.052 59.671-57.052h600.351c32.837 0 59.607 25.587 59.607 57.052v139.21c0 18.08 14.628 32.713 32.711 32.713 18.079 0 32.711-14.63 32.711-32.713v-139.21c0-67.527-56.094-122.474-125.028-122.474H137.43c-68.997 0.001-125.091 54.947-125.091 122.474v670.942c0 67.532 56.094 122.474 125.091 122.474h210.958c18.079 0 32.713-14.629 32.713-32.711s-14.63-32.711-32.714-32.711z" ></path><path d="M678.399 407.335c-152.951 0-276.933 123.983-276.933 276.913 0 152.951 123.983 276.933 276.933 276.933 152.931 0 276.913-123.983 276.913-276.933 0-152.931-123.983-276.913-276.913-276.913z m0 492.695c-119.165 0-215.781-96.598-215.781-215.781 0-119.166 96.619-215.764 215.781-215.764 119.166 0 215.764 96.598 215.764 215.764 0 119.188-96.598 215.781-215.764 215.781z" ></path><path d="M784.19 642.783c0-57.27-45.653-103.691-101.983-103.691S580.23 585.513 580.23 642.783c0 44.252 90.852 181.851 101.983 181.851S784.19 693.526 784.19 642.783m-45.428-3.096c0 30.463-24.699 55.162-55.162 55.162-30.462 0-55.161-24.699-55.161-55.162s24.699-55.162 55.161-55.162c30.463 0 55.162 24.693 55.162 55.162m5.071 193.706c0 4.141-2.566 7.494-5.732 7.494H626.315c-3.165 0-5.732-3.355-5.732-7.494s2.566-7.494 5.732-7.494h111.786c3.165 0 5.732 3.355 5.732 7.494z" ></path></symbol><symbol id="iconwendangguanli" viewBox="0 0 1024 1024"><path d="M250.212174 44.521739C188.059826 44.521739 137.750261 96.701217 137.750261 161.124174v699.614609c0 64.422957 50.309565 116.646957 112.372869 116.646956h561.997913c62.063304 0 118.561391-52.224 118.561392-116.646956V249.766957L738.482087 44.521739H250.212174z m449.224348 66.649044l165.175652 166.555826h-138.195478a27.158261 27.158261 0 0 1-26.980174-27.247305v-139.353043z m110.102261 799.565913H258.938435c-30.408348 0-55.073391-25.6-55.073392-57.07687V168.247652c0-31.521391 24.665043-57.07687 55.073392-57.076869h385.424695v171.319652c0 31.521391 24.665043 57.121391 55.073392 57.121391h165.175652v514.048c0 31.47687-24.665043 57.07687-55.073391 57.07687z" fill="#A1ACC1" ></path><path d="M44.521739 400.695652m44.521739 0l845.913044 0q44.521739 0 44.521739 44.521739l0 311.652174q0 44.521739-44.521739 44.521739l-845.913044 0q-44.521739 0-44.521739-44.521739l0-311.652174q0-44.521739 44.521739-44.521739Z" fill="#FFFFFF" ></path><path d="M209.65287 756.869565v-111.794087h44.477217c64.111304 0 110.992696-29.651478 110.992696-94.163478 0-66.515478-46.881391-88.954435-112.595479-88.954435H163.172174V756.869565h46.480696z m40.069565-149.058782h-40.069565v-108.588522h38.466782c46.881391 0 71.323826 12.822261 71.323826 51.689739s-22.438957 56.898783-69.721043 56.898783zM501.359304 756.869565c88.153043 0 139.842783-52.891826 139.842783-148.658087 0-96.166957-51.689739-146.253913-142.246957-146.253913H422.422261V756.869565h78.937043z m-5.609739-38.066087h-26.846608v-219.180521h26.846608c63.309913 0 97.369043 34.860522 97.369044 108.588521 0 73.327304-34.05913 110.592-97.369044 110.592z m253.239652 38.066087v-127.020522h108.989218v-38.867478h-108.989218v-90.156522h128.222609v-38.867478h-174.703304V756.869565h46.480695z" fill="#A1ACC1" ></path></symbol><symbol id="iconupload" viewBox="0 0 1075 1024"><path d="M576.2048 134.2976a23.3984 23.3984 0 0 0-36.1984 0L257.536 457.1136c-9.9328 11.4176-5.7344 20.6848 9.3696 20.6848h127.1296c15.104 0 27.4944 12.3904 27.4944 27.4944v211.8144c0 15.104 12.3904 27.4944 27.4944 27.4944h218.1632a27.5968 27.5968 0 0 0 27.4944-27.4944V505.344c0-15.104 12.3904-27.4944 27.4944-27.4944h127.1296c15.104 0 19.3536-9.2672 9.3696-20.6848l-282.4704-322.8672M239.4112 834.7136c0-15.104 12.3904-27.4944 27.4944-27.4944H849.408c15.104 0 27.4944 12.3904 27.4944 27.4944v36.0448a27.5968 27.5968 0 0 1-27.4944 27.4944H266.9056a27.5968 27.5968 0 0 1-27.4944-27.4944v-36.0448" ></path></symbol><symbol id="iconpdf" viewBox="0 0 1024 1024"><path d="M847.644 1024H150.756c-48.356-5.689-88.178-42.667-93.867-93.867V93.867C62.578 45.51 102.4 5.689 150.756 0h466.488l327.112 327.111v605.867C935.822 981.333 896 1018.31 847.644 1024z m0-696.889H662.756c-25.6-2.844-45.512-22.755-45.512-45.511V93.867H196.267c-25.6-2.845-45.511 17.066-45.511 42.666v748.09c5.688 22.755 22.755 42.666 45.51 45.51h605.867c25.6-2.844 45.511-22.755 45.511-45.51V327.11z m-128 358.4c-45.51-2.844-91.022-19.911-125.155-51.2-68.267 17.067-133.689 36.978-199.111 65.422-54.045 93.867-102.4 139.378-142.222 139.378-8.534 0-17.067-2.844-25.6-5.689-17.067-8.533-28.445-25.6-28.445-45.51 0-14.223 2.845-56.89 162.133-128 36.978-65.423 65.423-136.534 88.178-207.645-19.91-39.823-62.578-139.378-34.133-190.578 11.378-17.067 31.289-28.445 51.2-28.445 17.067 0 34.133 8.534 45.511 22.756 22.756 31.289 19.911 93.867-8.533 190.578 28.444 51.2 62.577 96.71 105.244 133.689 34.133-8.534 71.111-11.378 105.245-11.378 79.644 0 91.022 36.978 91.022 59.733-2.845 56.89-59.734 56.89-85.334 56.89z m-472.177 102.4h5.689c22.755-8.533 42.666-25.6 54.044-45.511-25.6 8.533-45.511 25.6-59.733 45.511z m221.866-503.467h-5.689c-2.844 0-5.688 0-5.688 2.845-5.69 28.444-2.845 59.733 11.377 85.333 8.534-28.444 8.534-59.733 0-88.178z m14.223 244.623v2.844-2.844c-17.067 39.822-34.134 79.644-51.2 116.622l2.844-2.845-2.844 2.845c36.977-14.222 76.8-25.6 113.777-34.133h2.845c-25.6-25.6-48.356-54.045-65.422-82.49z m227.555 88.177c-14.222 0-28.444 0-42.667 2.845 17.067 8.533 34.134 11.378 51.2 14.222 11.378 2.845 22.756 0 34.134-2.844-2.845-5.69-8.534-11.378-42.667-14.223z" ></path></symbol><symbol id="iconjinzhi2" viewBox="0 0 1024 1024"><path d="M785.066667 170.666667a34.133333 34.133333 0 0 1 34.133333 34.133333v750.933333a34.133333 34.133333 0 0 1-34.133333 34.133334H102.4a34.133333 34.133333 0 0 1-34.133333-34.133334V204.8a34.133333 34.133333 0 0 1 34.133333-34.133333h682.666667z m-34.133334 68.266666H136.533333v682.666667h614.4V238.933333z m170.632534-204.8A34.133333 34.133333 0 0 1 955.733333 68.266667v785.066666a34.133333 34.133333 0 0 1-68.369066 0V102.4H204.834133a34.133333 34.133333 0 1 1 0-68.266667H921.6zM237.909333 580.266667a34.133333 34.133333 0 0 1 34.2016 34.133333v238.933333H203.776v-238.933333a34.133333 34.133333 0 0 1 34.167467-34.133333z m205.1072 68.266666a34.133333 34.133333 0 0 1 34.167467 34.133334v170.666666h-68.369067v-170.666666a34.133333 34.133333 0 0 1 34.2016-34.133334zM648.533333 512a34.133333 34.133333 0 0 1 34.133334 34.133333v307.2h-68.266667v-307.2a34.133333 34.133333 0 0 1 34.133333-34.133333z m28.398934-189.610667a34.133333 34.133333 0 0 1-9.454934 47.342934l-204.8 136.533333a34.133333 34.133333 0 0 1-44.885333-6.178133L341.333333 410.862933 264.874667 500.053333a34.133333 34.133333 0 1 1-51.882667-44.4416l102.4-119.466666a34.133333 34.133333 0 0 1 51.882667 0l82.705066 96.494933 179.6096-119.739733a34.133333 34.133333 0 0 1 47.342934 9.454933z" fill="#A1ACC1" ></path></symbol><symbol id="iconjinzhi" viewBox="0 0 1024 1024"><path d="M499.370667 34.133333C242.3808 34.133333 34.133333 242.414933 34.133333 499.370667c0 256.887467 208.2816 465.169067 465.237334 465.169066 256.887467 0 465.169067-208.2816 465.169066-465.2032C964.539733 242.414933 756.258133 34.133333 499.370667 34.133333z m0 860.637867c-218.4192 0-395.4688-177.0496-395.4688-395.434667 0-218.385067 177.0496-395.434667 395.434666-395.434666 218.385067 0 395.434667 177.0496 395.434667 395.434666 0 218.385067-177.0496 395.434667-395.434667 395.434667z m220.945066-430.318933H278.357333a34.884267 34.884267 0 0 0 0 69.802666h441.9584a34.884267 34.884267 0 0 0 0-69.802666z" fill="#A1ACC1" ></path></symbol><symbol id="iconjinzhi3" viewBox="0 0 1024 1024"><path d="M68.266667 542.344533c0-37.922133 29.832533-68.266667 67.106133-68.266666 44.7488 0 74.581333 30.344533 74.581333 68.266666 0 45.499733-29.832533 75.844267-74.581333 75.844267C98.0992 618.1888 68.266667 587.844267 68.266667 542.378667zM157.764267 276.821333c0-53.077333 37.2736-98.6112 89.4976-98.6112 52.224 0 96.938667 45.533867 96.938666 98.645334 0 53.077333-44.714667 90.999467-96.938666 90.999466-52.224 0-89.4976-37.922133-89.4976-91.0336zM195.037867 815.445333c0-30.344533 22.391467-53.111467 52.224-53.111466s52.224 22.766933 52.224 53.111466-22.391467 53.077333-52.224 53.077334-52.224-22.7328-52.224-53.077334z m261.0176 113.7664c0-37.888 22.391467-60.689067 59.665066-60.689066 37.307733 0 59.665067 22.766933 59.665067 60.689066S553.028267 989.866667 515.754667 989.866667c-37.2736 0-59.665067-22.766933-59.665067-60.689067z m290.850133-113.7664c0-22.766933 14.916267-37.922133 37.307733-37.922133 22.357333 0 37.2736 15.1552 37.2736 37.888 0 22.801067-14.916267 37.956267-37.2736 37.956267-22.391467 0-37.307733-15.1552-37.307733-37.922134z m82.056533-273.066666c0-30.344533 29.832533-60.689067 67.106134-60.689067 29.832533 0 59.665067 30.344533 59.665066 60.689067 0 37.922133-29.832533 68.266667-59.665066 68.266666-37.2736 0-67.106133-30.344533-67.106134-68.266666zM657.408 276.821333c0-75.844267 59.630933-128.955733 126.7712-128.955733 67.106133 0 126.7712 53.111467 126.7712 128.955733 0 68.266667-59.665067 128.955733-126.7712 128.955734-67.140267 0-126.7712-60.689067-126.7712-128.955734z m-268.4928-113.7664c0-68.266667 59.665067-128.955733 126.7712-128.955733 67.140267 0 126.805333 60.689067 126.805333 128.955733s-59.665067 128.955733-126.805333 128.955734c-67.106133 0-126.7712-60.689067-126.7712-128.955734z" fill="#A1ACC1" ></path></symbol><symbol id="iconjinzhi1" viewBox="0 0 1024 1024"><path d="M501.282133 34.133333c258.013867 0 467.1488 209.134933 467.1488 467.1488 0 60.2112-11.400533 118.852267-33.28 173.4656l-5.461333 13.0048 70.587733 206.336c4.573867 13.380267 4.539733 27.8528 0.034134 41.130667l-2.184534 5.632c-13.312 29.661867-46.660267 44.509867-79.189333 34.2016l-5.188267-2.013867-166.570666-74.5472-7.0656 4.369067a464.7936 464.7936 0 0 1-225.3824 65.399467l-13.448534 0.170666C243.268267 968.430933 34.133333 759.296 34.133333 501.282133S243.268267 34.133333 501.282133 34.133333z m0 63.863467c-222.72 0-403.285333 180.565333-403.285333 403.285333 0 222.72 180.565333 403.285333 403.285333 403.285334 81.476267 0 159.266133-24.1664 225.314134-68.744534l14.711466-9.9328 196.8128 88.1664 1.7408 0.682667-78.848-230.536533 5.5296-11.6736a401.6128 401.6128 0 0 0 38.024534-171.246934c0-222.72-180.565333-403.285333-403.285334-403.285333z m-134.9632 226.065067a34.816 34.816 0 0 1 32.9728 4.437333l116.872534 86.664533 116.804266-86.698666a34.542933 34.542933 0 0 1 46.762667 5.461333 30.5152 30.5152 0 0 1-5.7344 44.373333l-116.155733 86.1184h95.6416c18.397867 0 33.314133 14.1312 33.314133 31.607467 0 17.408-14.916267 31.573333-33.314133 31.573333h-104.072534v38.7072h104.072534c18.397867 0 33.314133 14.1312 33.314133 31.573334 0 17.476267-14.916267 31.607467-33.314133 31.607466h-104.072534v70.314667c0 17.408-14.916267 31.573333-33.314133 31.573333-18.397867 0-33.314133-14.1312-33.314133-31.607466v-70.280534h-104.004267c-18.397867 0-33.314133-14.1312-33.314133-31.607466 0-17.408 14.916267-31.573333 33.314133-31.573334h104.004267v-38.7072h-104.004267c-18.397867 0-33.314133-14.1312-33.314133-31.573333 0-17.476267 14.916267-31.607467 33.314133-31.607467h95.573333l-116.087466-86.1184a30.856533 30.856533 0 0 1-12.458667-29.320533 31.9488 31.9488 0 0 1 20.48-24.917333z" fill="#A1ACC1" ></path></symbol><symbol id="icondenglu-mimabeifen" viewBox="0 0 1075 1024"><path d="M441.344 17.408c-14.848 4.096-44.032 15.36-65.024 25.6-46.592 23.04-86.016 64-111.616 117.248-28.16 57.344-34.304 89.6-34.304 174.08v73.728l-33.28 2.56c-39.936 3.584-65.024 19.968-79.872 52.224-8.704 19.456-9.728 37.376-9.728 249.856 0 149.504 2.048 233.472 5.632 243.2 7.168 19.456 28.672 40.96 53.248 54.272 20.48 11.264 24.064 11.264 325.12 12.8 167.424 1.024 316.416 0 331.264-1.536 35.84-4.608 57.344-19.968 74.752-53.76l14.336-28.16-1.536-230.4c-1.536-227.328-1.536-230.912-12.8-251.904-15.872-28.672-40.448-46.592-74.752-53.248l-29.184-6.144V325.632c0-115.2-18.944-168.96-83.456-233.984C670.208 51.2 636.928 31.232 585.728 17.92 549.888 8.704 478.72 8.704 441.344 17.408z m159.232 68.608c41.472 20.48 83.968 65.024 105.984 110.592 15.36 32.256 15.36 33.28 15.36 120.32V404.48H307.2V330.752c0-88.064 8.704-123.392 43.008-173.056 43.008-63.488 100.352-92.672 175.616-89.6 34.304 1.536 47.104 4.608 74.752 17.92z m-55.296 469.504c8.704 4.608 23.04 14.848 31.232 23.552 19.968 20.992 23.552 69.12 7.168 101.376-6.144 12.288-15.36 23.552-20.992 24.576-8.704 2.56-9.728 7.68-9.728 64.512 0 56.32-1.024 62.976-11.264 73.728-15.872 16.896-46.08 16.384-59.904-1.536-9.728-12.288-10.752-20.48-10.752-73.728 0-57.856-0.512-59.904-13.312-72.192-26.112-24.064-34.816-65.024-20.48-98.304 17.408-41.472 67.584-60.928 108.032-41.984z" fill="#A1ACC1" ></path></symbol><symbol id="iconyincang" viewBox="0 0 1024 1024"><path d="M511.488 545.8944c-183.9616 0-367.6672-55.8592-498.5856-167.424a37.5296 37.5296 0 0 1-3.4816-53.0944 37.888 37.888 0 0 1 53.3504-3.4304c230.8608 198.656 667.648 198.656 897.536 0a37.888 37.888 0 0 1 53.3504 3.4304 37.5296 37.5296 0 0 1-3.5328 53.1456c-130.8672 111.5136-314.624 167.3728-498.5856 167.3728z m-136.6016 164.352a30.8224 30.8224 0 0 1-6.7072 0 36.864 36.864 0 0 1-31.1296-44.9536l24.8832-146.4832a37.888 37.888 0 0 1 74.752 12.9024l-24.8832 146.4832a37.376 37.376 0 0 1-36.864 32.0512z m560.4864-74.496a36.864 36.864 0 0 1-26.4192-11.1616l-122.88-124.16a37.12 37.12 0 0 1 15.9744-64.3584 37.5296 37.5296 0 0 1 37.0688 12.2368l122.88 124.1088a37.1712 37.1712 0 0 1 0 52.6848 39.0656 39.0656 0 0 1-26.624 10.6496z m-847.6672 0a38.9632 38.9632 0 0 1-24.9344-10.6496 37.12 37.12 0 0 1 0-52.6848l122.88-124.1088a37.4784 37.4784 0 0 1 67.4304 14.1312 37.1712 37.1712 0 0 1-15.8208 37.9904l-122.88 124.16a36.9664 36.9664 0 0 1-26.6752 11.1616z m562.176 74.496a37.376 37.376 0 0 1-36.6592-30.8224l-24.9344-146.432a37.12 37.12 0 0 1 9.728-38.8096 37.5296 37.5296 0 0 1 63.0784 24.576l24.9344 146.5344a37.2224 37.2224 0 0 1-30.208 43.2128 30.7712 30.7712 0 0 1-5.9392 1.6896v0.0512z" fill="#A1ACC1" ></path></symbol><symbol id="iconyanjing" viewBox="0 0 1024 1024"><path d="M511.488 249.1904c188.9792 0 361.0624 183.6032 426.8032 262.2976-65.7408 78.7456-237.824 262.2976-426.8032 262.2976-188.928 0-361.0624-183.552-426.752-262.2976C150.4256 432.7936 322.5088 249.1904 511.488 249.1904z m0-78.6944C276.992 170.496 78.336 394.24 11.3152 479.232a51.6096 51.6096 0 0 0 0 64.512c67.0208 84.992 265.728 308.736 500.224 308.736 234.496 0 433.152-223.744 500.1728-308.736a51.6096 51.6096 0 0 0 0-64.512c-67.072-84.992-265.728-308.736-500.224-308.736z m0 262.2976c42.3936 0 76.7488 35.2256 76.7488 78.6944 0 43.52-34.3552 78.7456-76.7488 78.7456-42.3424 0-76.6976-35.2768-76.6976-78.7456 0-43.4688 34.304-78.6944 76.6976-78.6944z m0-78.6432c-62.0544 0-118.016 38.2976-141.7216 97.1264a160.3072 160.3072 0 0 0 33.28 171.52 150.6304 150.6304 0 0 0 167.168 34.0992c57.344-24.32 94.72-81.7664 94.72-145.408 0-86.9376-68.6592-157.3376-153.3952-157.3376z" fill="#A1ACC1" ></path></symbol><symbol id="icondrow" viewBox="0 0 1024 1024"><path d="M534.26087 872.358957a381.729391 381.729391 0 1 1 0.623304-763.458783A381.729391 381.729391 0 0 1 534.26087 872.358957zM534.26087 934.956522c245.893565 0 445.217391-199.323826 445.217391-445.217392S780.154435 44.521739 534.26087 44.521739 89.043478 243.845565 89.043478 489.73913s199.323826 445.217391 445.217392 445.217392z m0-277.504a31.165217 31.165217 0 0 0 22.79513-9.883826l192.333913-205.022609a31.298783 31.298783 0 1 0-45.679304-42.874435L534.26087 580.296348 364.989217 399.716174a31.298783 31.298783 0 0 0-45.634782 42.874435l192.111304 205.156174c5.921391 6.233043 14.157913 9.794783 22.795131 9.705739z" ></path></symbol><symbol id="iconsanjiao" viewBox="0 0 1152 1024"><path d="M473.6 762.496L153.6 335.872a128 128 0 0 1 102.4-204.8h640a128 128 0 0 1 102.4 204.8L678.4 762.496a128 128 0 0 1-204.8 0z" ></path></symbol><symbol id="iconsy" viewBox="0 0 1024 1024"><path d="M932.4544 477.44h-17.2544l-385.8944-374.3744c-11.52-11.52-23.04-11.52-34.56 0l-391.68 374.3744h-11.52a39.3728 39.3728 0 0 0-40.3456 40.3456v34.56c0 23.04 17.2544 40.2944 40.3456 40.2944h103.6288v264.96c0 23.04 17.3056 40.3456 40.3456 40.3456h167.0656c23.04 0 40.2944-17.3056 40.2944-40.3456v-213.0944h138.24v213.0944c0 23.04 17.3056 40.3456 40.2944 40.3456H788.48c23.04 0 40.2944-17.3056 40.2944-40.3456v-264.96h103.68c23.04 0 40.3456-17.2544 40.3456-40.2944v-34.56a39.3728 39.3728 0 0 0-40.3456-40.3456z" ></path></symbol><symbol id="iconstore" viewBox="0 0 1024 1024"><path d="M407.296 305.664a151.2448 151.2448 0 0 0-151.1424-151.1424A151.2448 151.2448 0 0 0 105.0112 305.664c0 41.6768 15.616 78.1824 41.6768 104.2432-5.2224 31.232-10.3936 62.5664-10.3936 93.7984a398.848 398.848 0 0 0 187.5968 338.7904l31.2832-125.0816a277.6576 277.6576 0 0 1-99.0208-213.7088c0-15.616 0-31.232 5.2224-46.8992 78.1824 0 145.92-67.7376 145.92-151.1424zM537.6 222.2592c52.1216 0 99.0208 15.6672 140.7488 36.5056-5.2224 15.616-10.4448 36.4544-10.4448 52.1216a151.2448 151.2448 0 0 0 151.1424 151.1424 151.2448 151.2448 0 0 0 151.1424-151.1424 151.2448 151.2448 0 0 0-151.1424-151.1424c-20.8384 0-36.5056 5.2224-57.344 10.3936A406.0672 406.0672 0 0 0 537.6 102.4c-57.344 0-114.688 10.4448-161.5872 36.5056l67.7888 99.0208A295.1168 295.1168 0 0 1 537.6 222.208z m281.4464 291.84c-5.2224 104.2944-62.5664 192.8704-151.1424 234.5984-26.112-46.8992-78.1824-83.4048-135.5264-83.4048a151.2448 151.2448 0 0 0-151.1424 151.1424 151.2448 151.2448 0 0 0 151.1424 151.1424c62.5664 0 114.688-36.4544 140.7488-93.7984 156.3648-57.344 265.7792-203.264 265.7792-375.296v-26.0096c-5.1712 5.1712-119.8592 41.6768-119.8592 41.6768z" ></path></symbol><symbol id="iconsq" viewBox="0 0 1024 1024"><path d="M399.758222 260.551111a7.395556 7.395556 0 0 0-12.629333-4.323555l-40.504889 40.561777-124.017778-123.960889a7.395556 7.395556 0 0 0-10.467555 0l-39.253334 39.253334a7.395556 7.395556 0 0 0 0 10.467555l123.960889 124.017778-40.732444 40.675556a7.395556 7.395556 0 0 0 4.380444 12.629333l148.536889 17.464889a7.395556 7.395556 0 0 0 8.305778-8.192L399.758222 260.551111z m9.386667 346.168889l-148.650667 17.521778a7.395556 7.395556 0 0 0-4.380444 12.629333l40.732444 40.732445-124.017778 123.790222a7.452444 7.452444 0 0 0 0 10.524444l39.253334 39.253334a7.395556 7.395556 0 0 0 10.524444 0l124.017778-124.017778 40.504889 40.561778a7.395556 7.395556 0 0 0 12.629333-4.323556l17.521778-148.48a7.338667 7.338667 0 0 0-8.135111-8.192z m205.653333-189.383111l148.707556-17.521778a7.395556 7.395556 0 0 0 4.380444-12.629333l-40.732444-40.618667 124.017778-123.904a7.452444 7.452444 0 0 0 0-10.467555l-39.310223-39.253334a7.452444 7.452444 0 0 0-10.524444 0l-124.017778 123.847111-40.504889-40.561777a7.395556 7.395556 0 0 0-12.629333 4.380444l-17.464889 148.48a7.395556 7.395556 0 0 0 8.078222 8.248889z m112.355556 260.152889l40.732444-40.675556a7.395556 7.395556 0 0 0-4.380444-12.629333l-148.536889-17.521778a7.395556 7.395556 0 0 0-8.305778 8.248889l17.521778 148.536889a7.395556 7.395556 0 0 0 12.629333 4.380444l40.561778-40.561777 124.017778 123.904c2.844444 2.901333 7.566222 2.901333 10.467555 0l39.310223-39.196445a7.452444 7.452444 0 0 0 0-10.467555l-124.017778-124.017778z" ></path></symbol><symbol id="iconuser" viewBox="0 0 1024 1024"><path d="M627.6608 564.4288a288 288 0 0 1 288 283.9552v18.432c0 60.16-113.8176 63.6928-260.1984 63.8976H413.9008C267.8784 930.5088 153.6 926.976 153.6 866.816v-18.432a288 288 0 0 1 288-283.9552zM525.1072 51.2c123.4432 0 223.488 98.5088 223.488 220.0576 0 121.4976-100.0448 220.0064-223.488 220.0064-123.392 0-223.488-98.5088-223.488-220.0576C301.6192 149.76 401.7152 51.2 525.1072 51.2z" ></path></symbol><symbol id="iconwd" viewBox="0 0 1024 1024"><path d="M250.212174 44.521739C188.059826 44.521739 137.750261 96.701217 137.750261 161.124174v699.614609c0 64.422957 50.309565 116.646957 112.372869 116.646956h561.997913c62.063304 0 118.561391-52.224 118.561392-116.646956V249.766957L738.482087 44.521739H250.212174z m449.224348 66.649044l165.175652 166.555826h-138.195478a27.158261 27.158261 0 0 1-26.980174-27.247305v-139.353043z m110.102261 799.565913H258.938435c-30.408348 0-55.073391-25.6-55.073392-57.07687V168.247652c0-31.521391 24.665043-57.07687 55.073392-57.076869h385.424695v171.319652c0 31.521391 24.665043 57.121391 55.073392 57.121391h165.175652v514.048c0 31.47687-24.665043 57.07687-55.073391 57.07687zM574.775652 410.935652H295.446261c-14.959304-1.78087-26.089739-16.027826-25.377391-32.634435-1.424696-17.007304 9.883826-32.189217 25.377391-33.970087h279.373913c15.538087 1.78087 26.802087 16.918261 25.377391 33.970087 0.712348 16.562087-10.418087 30.853565-25.377391 32.634435h-0.044522z m198.566957 166.600348H295.17913c-14.692174-3.205565-25.243826-17.14087-25.243826-33.346783 0-16.161391 10.551652-30.096696 25.110261-33.30226h478.386087c14.60313 3.205565 25.110261 17.14087 25.110261 33.30226 0 16.205913-10.50713 30.141217-25.110261 33.346783h-0.089043z m0 166.555826H295.17913c-14.692174-3.205565-25.243826-17.14087-25.243826-33.302261s10.551652-30.096696 25.110261-33.302261h478.386087c14.60313 3.205565 25.110261 17.14087 25.110261 33.302261s-10.50713 30.096696-25.110261 33.302261h-0.089043z" ></path></symbol><symbol id="iconmsg" viewBox="0 0 1024 1024"><path d="M884.023652 71.546435c59.347478 0 102.4 45.990957 102.4 109.345391v549.398261c0 61.217391-41.182609 102.4-102.4 102.4h-217.711304l-128.801391 127.24313a36.730435 36.730435 0 0 1-25.822609 10.685218 36.062609 36.062609 0 0 1-25.6-10.551652L354.838261 832.556522H135.479652c-61.44 0-102.66713-41.182609-102.66713-102.4V180.891826c0-63.354435 43.186087-109.345391 102.66713-109.345391z m0 72.748522H135.479652c-26.980174 0-29.918609 25.555478-29.918609 36.596869v549.220174c0 21.147826 8.681739 29.696 29.918609 29.696H368.64a35.929043 35.929043 0 0 1 26.624 10.462609l116.157217 112.461913 113.886609-112.239305a36.329739 36.329739 0 0 1 25.822609-10.685217h232.848695c21.103304 0 29.696-8.548174 29.696-29.651478V180.847304c0-11.041391-2.938435-36.59687-29.696-36.596869zM289.970087 383.777391c35.617391 0 64.556522 28.93913 64.556522 64.556522l-0.356174 6.233044a64.556522 64.556522 0 0 1-128.712348-6.233044l0.26713-6.233043a64.556522 64.556522 0 0 1 64.24487-58.323479z m229.910261 0c35.617391 0 64.556522 28.93913 64.556522 64.556522l-0.311653 6.233044a64.556522 64.556522 0 0 1-128.756869-6.233044l0.311652-6.233043a64.556522 64.556522 0 0 1 64.200348-58.323479z m228.396522-0.801391a64.556522 64.556522 0 1 1 0 129.024 64.556522 64.556522 0 0 1 0-129.024z" ></path></symbol><symbol id="iconclose" viewBox="0 0 1024 1024"><path d="M924.544 337.728a446.208 446.208 0 0 0-95.936-142.336A446.208 446.208 0 0 0 512 64.192a446.208 446.208 0 0 0-316.608 131.2A446.208 446.208 0 0 0 64.192 512a446.208 446.208 0 0 0 131.2 316.608A446.208 446.208 0 0 0 512 959.808a446.208 446.208 0 0 0 316.608-131.2A446.208 446.208 0 0 0 959.744 512c0-60.416-11.84-119.04-35.2-174.272zM512 896.256A384.64 384.64 0 0 1 127.744 512 384.64 384.64 0 0 1 512 127.744 384.64 384.64 0 0 1 896.256 512 384.64 384.64 0 0 1 512 896.256z m180.992-565.248c-12.48-12.544-31.488-13.76-42.368-2.88L512 466.752 373.376 328.128c-10.88-10.88-29.888-9.6-42.368 2.88-12.544 12.48-13.76 31.488-2.88 42.368L466.752 512l-138.624 138.624c-10.88 10.88-9.6 29.888 2.88 42.368 12.48 12.544 31.488 13.76 42.368 2.88L512 557.248l138.624 138.624c10.88 10.88 29.888 9.6 42.368-2.88 12.544-12.48 13.76-31.488 2.88-42.368L557.248 512l138.624-138.624c10.88-10.88 9.6-29.888-2.88-42.368z" ></path></symbol><symbol id="icongoods" viewBox="0 0 1024 1024"><path d="M482.8672 510.8736L138.6496 351.0784a27.9552 27.9552 0 0 0-10.9056-2.2016 25.0368 25.0368 0 0 0-25.344 24.6784v365.2608c0 18.0224 10.0864 34.5088 26.112 42.752l344.9344 187.392a25.344 25.344 0 0 0 25.3952 0 23.9104 23.9104 0 0 0 12.6976-21.0432v-392.448a49.3056 49.3056 0 0 0-28.672-44.544z m-73.5232 135.168l-204.8-100.352v-49.3056l204.8 98.56v51.0976z m535.552-358.7584a21.4016 21.4016 0 0 0-12.6976-27.904L557.568 106.496a52.5312 52.5312 0 0 0-40.5504 0L142.2848 259.3792a22.4768 22.4768 0 0 0-12.6976 12.3392 21.4016 21.4016 0 0 0 12.6976 27.904l374.6816 152.9344c13.056 5.0176 27.4944 5.0176 40.5504 0l374.6816-152.9344a22.4768 22.4768 0 0 0 12.6976-12.288z m24.6272 75.3664a26.112 26.112 0 0 0-33.6896-11.5712l-344.2176 160.1536a48.896 48.896 0 0 0-28.672 44.2368v392.0896c0 4.3008 1.1776 8.5504 3.2768 12.288a26.112 26.112 0 0 0 36.2496 9.0624l344.9856-186.9824a49.3056 49.3056 0 0 0 24.6272-43.1104V373.5552a21.76 21.76 0 0 0-2.56-10.9056z m-41.6256 244.992v72.448H896s-2.56 9.7792-3.9936 14.4896l-4.352 11.6224 22.4768 29.696-40.2432 55.0912-22.4768-29.3376-9.0624 5.7856a83.3536 83.3536 0 0 1-11.5712 5.4272v41.6768H769.536v-41.3184a67.7376 67.7376 0 0 1-11.6224-5.4272l-8.704-5.7856-22.4256 29.3376-40.96-52.1728 22.4768-29.696a108.6976 108.6976 0 0 1-4.352-11.6224 108.6976 108.6976 0 0 1-3.9936-14.4896h-31.8976v-72.448h31.8976c2.048-9.8304 5.12-19.456 9.0624-28.672l-22.528-29.3376 39.5264-51.8144 22.528 29.3376c6.656-4.9664 13.9264-8.96 21.7088-11.9296v-44.9536h56.8832v41.6768c7.8848 2.9696 15.3088 7.0144 22.1184 11.9808l22.4768-29.3888 39.4752 51.8144-22.4768 29.3888c3.9424 9.216 6.9632 18.7904 9.0624 28.6208h30.1056z m-130.4576 132.9664c-40.2432 0-72.4992-43.1104-72.4992-96.3584s32.256-96.4096 72.4992-96.4096c40.192 0 72.448 43.1104 72.448 96.4096 0 53.248-32.256 96.3584-72.448 96.3584z" ></path></symbol><symbol id="iconbj" viewBox="0 0 1024 1024"><path d="M862.0544 928.512H160.4608a39.8336 39.8336 0 0 1-40.448-39.1168V211.2c0-21.6064 18.1248-39.1168 40.448-39.1168h67.4816v39.1168c0 43.2128 36.2496 78.2336 80.9472 78.2336s80.896-35.0208 80.896-78.2336V172.032h40.4992v39.1168c0 43.2128 36.2496 78.2336 80.9472 78.2336s80.9984-35.0208 80.9984-78.2336V172.032h40.448v39.1168c0 43.2128 36.2496 78.2336 80.896 78.2336 44.7488 0 80.9984-35.0208 80.9984-78.2336V172.032h67.4816c22.3232 0 40.448 17.5104 40.448 39.1168V889.344a39.8336 39.8336 0 0 1-40.448 39.1168zM754.176 393.7792H268.3904a39.7824 39.7824 0 0 0-40.448 39.1168c0 21.6064 18.0736 39.1168 40.448 39.1168h485.7344c22.3744 0 40.448-17.5104 40.448-39.1168a39.7824 39.7824 0 0 0-40.448-39.1168z m0 169.5744H268.3904a39.7824 39.7824 0 0 0-40.448 39.1168c0 21.6064 18.0736 39.1168 40.448 39.1168h485.7344c22.3744 0 40.448-17.5104 40.448-39.1168a39.7824 39.7824 0 0 0-40.448-39.1168z m6.7072 169.5232H261.632a33.1264 33.1264 0 0 0-33.6896 32.6144c0 17.9712 15.104 32.6144 33.6896 32.6144h499.2a33.1776 33.1776 0 0 0 33.7408-32.6144 33.1264 33.1264 0 0 0-33.7408-32.6144z m-47.2064-482.56a39.8336 39.8336 0 0 1-40.448-39.1168V132.9664c0-21.6064 18.1248-39.168 40.448-39.168 22.3232 0 40.448 17.5616 40.448 39.168v78.2336a39.8336 39.8336 0 0 1-40.448 39.1168z m-202.3936 0a39.7824 39.7824 0 0 1-40.448-39.1168V132.9664c0-21.6064 18.1248-39.168 40.448-39.168 22.3744 0 40.448 17.5616 40.448 39.168v78.2336a39.7824 39.7824 0 0 1-40.448 39.1168z m-202.3424 0a39.8336 39.8336 0 0 1-40.448-39.1168V132.9664c0-21.6064 18.0736-39.168 40.448-39.168 22.3232 0 40.448 17.5616 40.448 39.168v78.2336a39.8336 39.8336 0 0 1-40.448 39.1168z" ></path></symbol></svg>',(l=>{var a=(c=(c=document.getElementsByTagName("script"))[c.length-1]).getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var h,t,o,i,m,e=function(a,c){c.parentNode.insertBefore(a,c)};if(a&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(a){console&&console.log(a)}}h=function(){var a,c=document.createElement("div");c.innerHTML=l._iconfont_svg_string_2537242,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(a=document.body).firstChild?e(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),h()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(o=h,i=l.document,m=!1,n(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}function v(){m||(m=!0,o())}function n(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(n,50)}v()}})(window);
\ No newline at end of file
......@@ -6,6 +6,20 @@
"description": "猎芯云芯系统前端",
"glyphs": [
{
"icon_id": "25187246",
"name": "账单管理",
"font_class": "zhangdanguanli",
"unicode": "e649",
"unicode_decimal": 58953
},
{
"icon_id": "28357630",
"name": "寄售管理",
"font_class": "jishouguanli",
"unicode": "e73c",
"unicode_decimal": 59196
},
{
"icon_id": "15187540",
"name": "数据统计",
"font_class": "shujutongji",
......
......@@ -54,7 +54,7 @@ html, body, #app {
.section {
width: 100%;
height: calc(100% - 80px);
background: url("../../images/bg.png?v=20230607") no-repeat center;
background: url("../../images/bg.png") no-repeat top center;
background-size: cover;
.section-wrap {
......
html,body,#app{height:100%}.user-box{height:100%}.user-box .head-box{height:80px;background:#FFFFFF}.user-box .head-box .head-wrap{width:1190px;height:100%;margin:0 auto}.user-box .head-box .head-wrap .logo{width:81px;height:39px}.user-box .head-box .head-wrap .logo img{width:81px;height:39px}.user-box .head-box .head-wrap .line{width:1px;height:22px;color:#e0e0e0;background:#E0E0E0;margin:0 13px 0 15px}.user-box .head-box .head-wrap .text .t1{font-size:15px;color:#333333;line-height:19px;margin-bottom:4px;font-weight:bold}.user-box .head-box .head-wrap .text .t2{font-size:13px;color:#666666;letter-spacing:10px;font-weight:bold}.user-box .section{width:100%;height:calc(100% - 80px);background:url("../../images/bg.png") no-repeat center;background-size:cover}.user-box .section .section-wrap{position:relative;width:1190px;height:100%;margin:0 auto}.user-box .section .section-wrap .login-box{position:absolute;right:0;top:133px;width:400px;height:367px;background:#FFFFFF;border-radius:8px}.user-box .section .section-wrap .login-box .tit{font-size:20px;color:#333333;text-align:center;margin:25px 0}.user-box .section .section-wrap .login-box .bar{width:342px;margin:0 auto}.user-box .section .section-wrap .login-box .bar .input-box{position:relative;width:328px;height:43px;background:#FFFFFF;border-radius:2px;border:1px solid #BEC9DF;margin-bottom:20px;transition:all .2s ease;padding-left:12px}.user-box .section .section-wrap .login-box .bar .input-box i.iconfont{padding:12px 0;font-size:20px;color:#a1acc1}.user-box .section .section-wrap .login-box .bar .input-box .inp{padding-left:9px;height:34px;font-size:14px;background:transparent;border-left:1px solid #BEC9DF;margin-left:12px;letter-spacing:1px}.user-box .section .section-wrap .login-box .bar .input-box .inp::-webkit-input-placeholder{color:#A1ACC1}.user-box .section .section-wrap .login-box .bar .input-box .eye{position:absolute;right:19px;top:13px;font-size:20px;color:#a1acc1}.user-box .section .section-wrap .login-box .bar .input-box:focus-within{border:1px solid #1969F9}.user-box .section .section-wrap .login-box .bar .input-box.error{border:1px solid #FF1D00}.user-box .section .section-wrap .login-box .bar .code-box .l input{width:210px;height:43px;line-height:43px;border-radius:2px;border:1px solid #BEC9DF;text-indent:17px;font-size:14px}.user-box .section .section-wrap .login-box .bar .code-box .l input::-webkit-input-placeholder{color:#A1ACC1}.user-box .section .section-wrap .login-box .bar .code-box .l input:focus{border:1px solid #1969F9}.user-box .section .section-wrap .login-box .bar .code-box.error .l input{border:1px solid #FF1D00}.user-box .section .section-wrap .login-box .bar .code-box .r{width:118px;height:43px;border-radius:2px;border:1px solid #BEC9DF}.user-box .section .section-wrap .login-box .bar .code-box .r img{width:100%;height:100%}.user-box .section .section-wrap .login-box .bar .text{position:relative;padding:11px 0;text-align:right}.user-box .section .section-wrap .login-box .bar .text .error{position:absolute;left:0;top:12px;font-size:12px;color:#f10909}.user-box .section .section-wrap .login-box .bar .text a{line-height:17px;font-size:12px;color:#999999}.user-box .section .section-wrap .login-box .bar .btn-submit{width:342px;height:42px;line-height:42px;text-align:center;background:#A1ACC1;border-radius:2px;font-size:20px;color:#ffffff;display:block;letter-spacing:10px;margin:0 auto;transition:all .2s ease}.user-box .section .section-wrap .login-box .bar .btn-submit.active{background:#1969F9}.user-box .section .section-wrap .login-box .bar .btn-submit:hover{background:#0050E0}
\ No newline at end of file
html,
body,
#app {
height: 100%;
}
.user-box {
height: 100%;
}
.user-box .head-box {
height: 80px;
background: #FFFFFF;
}
.user-box .head-box .head-wrap {
width: 1190px;
height: 100%;
margin: 0 auto;
}
.user-box .head-box .head-wrap .logo {
width: 81px;
height: 39px;
}
.user-box .head-box .head-wrap .logo img {
width: 81px;
height: 39px;
}
.user-box .head-box .head-wrap .line {
width: 1px;
height: 22px;
color: #e0e0e0;
background: #E0E0E0;
margin: 0 13px 0 15px;
}
.user-box .head-box .head-wrap .text .t1 {
font-size: 15px;
color: #333333;
line-height: 19px;
margin-bottom: 4px;
font-weight: bold;
}
.user-box .head-box .head-wrap .text .t2 {
font-size: 13px;
color: #666666;
letter-spacing: 10px;
font-weight: bold;
}
.user-box .section {
width: 100%;
height: calc(100% - 80px);
background: url("../../images/bg.png") no-repeat top center;
background-size: cover;
}
.user-box .section .section-wrap {
position: relative;
width: 1190px;
height: 100%;
margin: 0 auto;
}
.user-box .section .section-wrap .login-box {
position: absolute;
right: 0;
top: 133px;
width: 400px;
height: 367px;
background: #FFFFFF;
border-radius: 8px;
}
.user-box .section .section-wrap .login-box .tit {
font-size: 20px;
color: #333333;
text-align: center;
margin: 25px 0;
}
.user-box .section .section-wrap .login-box .bar {
width: 342px;
margin: 0 auto;
}
.user-box .section .section-wrap .login-box .bar .input-box {
position: relative;
width: 328px;
height: 43px;
background: #FFFFFF;
border-radius: 2px;
border: 1px solid #BEC9DF;
margin-bottom: 20px;
transition: all 0.2s ease;
padding-left: 12px;
}
.user-box .section .section-wrap .login-box .bar .input-box i.iconfont {
padding: 12px 0;
font-size: 20px;
color: #a1acc1;
}
.user-box .section .section-wrap .login-box .bar .input-box .inp {
padding-left: 9px;
height: 34px;
font-size: 14px;
background: transparent;
border-left: 1px solid #BEC9DF;
margin-left: 12px;
letter-spacing: 1px;
}
.user-box .section .section-wrap .login-box .bar .input-box .inp::-webkit-input-placeholder {
color: #A1ACC1;
}
.user-box .section .section-wrap .login-box .bar .input-box .eye {
position: absolute;
right: 19px;
top: 13px;
font-size: 20px;
color: #a1acc1;
}
.user-box .section .section-wrap .login-box .bar .input-box:focus-within {
border: 1px solid #1969F9;
}
.user-box .section .section-wrap .login-box .bar .input-box.error {
border: 1px solid #FF1D00;
}
.user-box .section .section-wrap .login-box .bar .code-box .l input {
width: 210px;
height: 43px;
line-height: 43px;
border-radius: 2px;
border: 1px solid #BEC9DF;
text-indent: 17px;
font-size: 14px;
}
.user-box .section .section-wrap .login-box .bar .code-box .l input::-webkit-input-placeholder {
color: #A1ACC1;
}
.user-box .section .section-wrap .login-box .bar .code-box .l input:focus {
border: 1px solid #1969F9;
}
.user-box .section .section-wrap .login-box .bar .code-box.error .l input {
border: 1px solid #FF1D00;
}
.user-box .section .section-wrap .login-box .bar .code-box .r {
width: 118px;
height: 43px;
border-radius: 2px;
border: 1px solid #BEC9DF;
}
.user-box .section .section-wrap .login-box .bar .code-box .r img {
width: 100%;
height: 100%;
}
.user-box .section .section-wrap .login-box .bar .text {
position: relative;
padding: 11px 0;
text-align: right;
}
.user-box .section .section-wrap .login-box .bar .text .error {
position: absolute;
left: 0;
top: 12px;
font-size: 12px;
color: #f10909;
}
.user-box .section .section-wrap .login-box .bar .text a {
line-height: 17px;
font-size: 12px;
color: #999999;
}
.user-box .section .section-wrap .login-box .bar .btn-submit {
width: 342px;
height: 42px;
line-height: 42px;
text-align: center;
background: #A1ACC1;
border-radius: 2px;
font-size: 20px;
color: #ffffff;
display: block;
letter-spacing: 10px;
margin: 0 auto;
transition: all 0.2s ease;
}
.user-box .section .section-wrap .login-box .bar .btn-submit.active {
background: #1969F9;
}
.user-box .section .section-wrap .login-box .bar .btn-submit:hover {
background: #0050E0;
}
/*# sourceMappingURL=index.min.css.map */
\ No newline at end of file
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.min.css"}
\ No newline at end of file
{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA;AAAM;AAAM;EACV,YAAA;;AAGF;EACE,YAAA;;AADF,SAGE;EACE,YAAA;EACA,mBAAA;;AALJ,SAGE,UAIE;EACE,aAAA;EACA,YAAA;EACA,cAAA;;AAVN,SAGE,UAIE,WAKE;EACE,WAAA;EACA,YAAA;;AAdR,SAGE,UAIE,WAKE,MAIE;EACE,WAAA;EACA,YAAA;;AAlBV,SAGE,UAIE,WAeE;EACE,UAAA;EACA,YAAA;EACA,cAAA;EACA,mBAAA;EACA,qBAAA;;AA3BR,SAGE,UAIE,WAuBE,MACE;EACE,eAAA;EACA,cAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;;AApCV,SAGE,UAIE,WAuBE,MASE;EACE,eAAA;EACA,cAAA;EACA,oBAAA;EACA,iBAAA;;AA3CV,SAiDE;EACE,WAAA;EACA,QAAQ,iBAAR;EACA,gBAAgB,2CAAhB;EACA,sBAAA;;AArDJ,SAiDE,SAME;EACE,kBAAA;EACA,aAAA;EACA,YAAA;EACA,cAAA;;AA3DN,SAiDE,SAME,cAME;EACE,kBAAA;EACA,QAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;;AApER,SAiDE,SAME,cAME,WASE;EACE,eAAA;EACA,cAAA;EACA,kBAAA;EACA,cAAA;;AA1EV,SAiDE,SAME,cAME,WAgBE;EACE,YAAA;EACA,cAAA;;AA/EV,SAiDE,SAME,cAME,WAgBE,KAIE;EACE,kBAAA;EACA,YAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,kBAAA;;AA1FZ,SAiDE,SAME,cAME,WAgBE,KAIE,WAWE,EAAC;EACC,eAAA;EACA,eAAA;EACA,cAAA;;AA/Fd,SAiDE,SAME,cAME,WAgBE,KAIE,WAiBE;EACE,iBAAA;EACA,YAAA;EACA,eAAA;EACA,uBAAA;EACA,8BAAA;EACA,iBAAA;EACA,mBAAA;;AAEA,SA1DZ,SAME,cAME,WAgBE,KAIE,WAiBE,KASG;EACC,cAAA;;AA5GhB,SAiDE,SAME,cAME,WAgBE,KAIE,WA+BE;EACE,kBAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,cAAA;;AAGF,SAvEV,SAME,cAME,WAgBE,KAIE,WAuCG;EACC,yBAAA;;AAGF,SA3EV,SAME,cAME,WAgBE,KAIE,WA2CG;EACC,yBAAA;;AA7Hd,SAiDE,SAME,cAME,WAgBE,KAoDE,UACE,GACE;EACE,YAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,iBAAA;EACA,eAAA;;AAEA,SA3Fd,SAME,cAME,WAgBE,KAoDE,UACE,GACE,MASG;EACC,cAAA;;AAGF,SA/Fd,SAME,cAME,WAgBE,KAoDE,UACE,GACE,MAaG;EACC,yBAAA;;AAKN,SArGV,SAME,cAME,WAgBE,KAoDE,UAqBG,MACC,GACE;EACE,yBAAA;;AAzJlB,SAiDE,SAME,cAME,WAgBE,KAoDE,UA6BE;EACE,YAAA;EACA,YAAA;EACA,kBAAA;EACA,yBAAA;;AAlKd,SAiDE,SAME,cAME,WAgBE,KAoDE,UA6BE,GAME;EACE,WAAA;EACA,YAAA;;AAtKhB,SAiDE,SAME,cAME,WAgBE,KA8FE;EACE,kBAAA;EACA,eAAA;EACA,iBAAA;;AA9KZ,SAiDE,SAME,cAME,WAgBE,KA8FE,MAKE;EACE,kBAAA;EACA,OAAA;EACA,SAAA;EACA,eAAA;EACA,cAAA;;AArLd,SAiDE,SAME,cAME,WAgBE,KA8FE,MAaE;EACE,iBAAA;EACA,eAAA;EACA,cAAA;;AA3Ld,SAiDE,SAME,cAME,WAgBE,KAkHE;EACE,YAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;EACA,cAAA;EACA,oBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,SA5JV,SAME,cAME,WAgBE,KAkHE,YAcG;EACC,mBAAA;;AAGF,SAhKV,SAME,cAME,WAgBE,KAkHE,YAkBG;EACC,mBAAA","file":"index.min.css"}
\ No newline at end of file
......@@ -10,7 +10,7 @@ html * {
}
html, body {
font-family: PingFangSC-Regular, PingFang SC, 'Microsoft Yahei', sans-serif;
font-family: PingFangSC-Regular, PingFang SC, "Microsoft Yahei", sans-serif;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
......@@ -438,7 +438,7 @@ body {
text-align: center;
background: #FFFFFF;
border-radius: 50%;
content: '';
content: "";
display: block;
position: absolute;
top: -2px;
......@@ -514,6 +514,14 @@ body {
display: none;
}
.section-page {
background: #FFFFFF;
border-radius: 4px;
padding: 20px;
height: calc(100vh - 96px);
box-sizing: border-box;
}
::-webkit-scrollbar {
width: 6px;
height: 6px;
......
......@@ -9,7 +9,7 @@ html * {
}
html,
body {
font-family: PingFangSC-Regular, PingFang SC, 'Microsoft Yahei', sans-serif;
font-family: PingFangSC-Regular, PingFang SC, "Microsoft Yahei", sans-serif;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
......@@ -412,7 +412,7 @@ body {
text-align: center;
background: #FFFFFF;
border-radius: 50%;
content: '';
content: "";
display: block;
position: absolute;
top: -2px;
......@@ -473,6 +473,13 @@ body {
.prefix-icon-time-style {
display: none;
}
.section-page {
background: #FFFFFF;
border-radius: 4px;
padding: 20px;
height: calc(100vh - 96px);
box-sizing: border-box;
}
::-webkit-scrollbar {
width: 6px;
height: 6px;
......
{"version":3,"sources":["common.less"],"names":[],"mappings":"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","file":"common.min.css"}
\ No newline at end of file
{"version":3,"sources":["common.less"],"names":[],"mappings":"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","file":"common.min.css"}
\ No newline at end of file
......@@ -29,223 +29,64 @@ const SubAccount = resolve => require(['@/views/Info/subAccount.vue'], resolve);
const SubAccountAdd = resolve => require(['@/views/Info/subAccountAdd.vue'], resolve);
const SubAccountEdit = resolve => require(['@/views/Info/subAccountEdit.vue'], resolve);
const InquireTransform = resolve => require(['@/views/InquireTransform/index.vue'], resolve);
const ConsignmentInventory = resolve => require(['@/views/consignmentManagement/consignmentInventory.vue'], resolve);
const ConsignmentImport = resolve => require(['@/views/consignmentManagement/consignmentImport.vue'], resolve);
const ConsignmentImportDetail = resolve => require(['@/views/consignmentManagement/consignmentImportDetail.vue'], resolve);
const ConsignmentApplication = resolve => require(['@/views/consignmentManagement/consignmentApplication.vue'], resolve);
const ConsignmentApplicationDetail = resolve => require(['@/views/consignmentManagement/consignmentApplicationDetail.vue'], resolve);
const ConsignmentReplenishment = resolve => require(['@/views/consignmentManagement/consignmentReplenishment.vue'], resolve);
const ConsignmentRecall = resolve => require(['@/views/consignmentManagement/consignmentRecall.vue'], resolve);
const ConsignmentRecallDetail = resolve => require(['@/views/consignmentManagement/consignmentRecallDetail.vue'], resolve);
const BatchRecall = resolve => require(['@/views/consignmentManagement/batchRecall.vue'], resolve);
const ConsignmentContract = resolve => require(['@/views/consignmentManagement/consignmentContract.vue'], resolve);
const InOutStockLog = resolve => require(['@/views/consignmentManagement/inOutStockLog.vue'], resolve);
const ReconciledBill = resolve => require(['@/views/billManagement/reconciledBill.vue'], resolve);
const ReconciledBillDetail = resolve => require(['@/views/billManagement/reconciledBillDetail.vue'], resolve);
const AllPayableBills = resolve => require(['@/views/billManagement/allPayableBills.vue'], resolve);
const routes = [
//首页
{
path: '/',
name: 'Index',
meta: {
title: '概况'
},
component: Home
},
{
path: '/inquire',
name: 'Inquire',
meta: {
title: '询价管理'
},
component: Inquire
},
{
path: '/inquire/detail',
name: 'InquireDetail',
meta: {
title: '报价详情'
},
component: InquireDetail
},
{
path: '/quote',
name: 'Quote',
meta: {
title: '报价管理'
},
component: Quote
},
{
path: '/brand',
name: 'Brand',
meta: {
title: '品牌列表'
},
component: Brand
},
{
path: '/list',
name: 'List',
meta: {
title: '现货库存'
},
component: List
},
{
path: '/listDetail',
name: 'ListDetail',
meta: {
title: '导入详情'
},
component: ListDetail
},
{
path: '/enter',
name: 'Enter',
meta: {
title: '库存导入'
},
component: Enter
},
{
path: '/goodslist',
name: 'goodslist',
meta: {
title: '优势货源'
},
component: Goodslist
},
{
path: '/goodDetail',
name: 'goodDetail',
meta: {
title: '导入详情'
},
component: GoodDetail
},
{
path: '/goods',
name: 'Goods',
meta: {
title: '商品列表'
},
component: Goods
},
{
path: '/message',
name: 'Message',
meta: {
title: '基本信息'
},
component: Message
},
{
path: '/orderTrackGoods',
name: 'orderTrackGoods',
meta: {
title: '已采购订单'
},
component: OrderTrackGoods
},
{
path: '/orderTrackGoodsDetail',
name: 'orderTrackGoodsDetail',
meta: {
title: '订单明细'
},
component: orderTrackGoodsDetail
},
{
path: '/orderTrackInvoice',
name: 'orderTrackInvoice',
meta: {
title: '发货单'
},
component: OrderTrackInvoice
},
{
path: '/returnGoods',
name: 'returnGoods',
meta: {
title: '退货单'
},
component: ReturnGoods
},
{
path: '/orderTrackPurAdd',
name: 'OrderTrackPurAdd',
meta: {
title: '新增发货单'
},
component: OrderTrackPurAdd
},
{
path: '/login',
name: 'Login',
meta: {
title: '猎芯云芯商家-登录'
},
component: Login
},
{
path: '/notfound',
name: 'notfound',
meta: {
title: '猎芯网'
},
component: notfound
},
{
path: '/bindError',
name: 'BindError',
meta: {
title: '微信重新绑定'
},
component: BindError
},
{
path: '/news',
name: 'news',
meta: {
title: '消息列表'
},
component: News
},
{
path: '/notice',
name: 'notice',
meta: {
title: '系统公告'
},
component: Notice
},
{
path: '/subAccount',
name: 'subAccount',
meta: {
title: '子账号管理'
},
component: SubAccount
},
{
path: '/subAccountadd',
name: 'subAccountadd',
meta: {
title: '创建子账号'
},
component: SubAccountAdd
},
{
path: '/subAccountEdit',
name: 'subAccountEdit',
meta: {
title: '编辑子账号'
},
component: SubAccountEdit
},
{
path: '/inquireTransform',
name: 'inquireTransform',
meta: {
title: '询价转化统计'
},
component: InquireTransform
},
/**错误页面重定向到首页**/
{
path: '*',
redirect: '/',
}
{path: '/', name: 'Index', meta: {title: '概况'}, component: Home},
{path: '/inquire', name: 'Inquire', meta: {title: '询价管理'}, component: Inquire},
{path: '/inquire/detail', name: 'InquireDetail', meta: {title: '报价详情'}, component: InquireDetail},
{path: '/quote', name: 'Quote', meta: {title: '报价管理'}, component: Quote},
{path: '/brand', name: 'Brand', meta: {title: '品牌列表'}, component: Brand},
{path: '/list', name: 'List', meta: {title: '现货库存'}, component: List},
{path: '/listDetail', name: 'ListDetail', meta: {title: '导入详情'}, component: ListDetail},
{path: '/enter', name: 'Enter', meta: {title: '库存导入'}, component: Enter},
{path: '/goodslist', name: 'goodslist', meta: {title: '优势货源'}, component: Goodslist},
{path: '/goodDetail', name: 'goodDetail', meta: {title: '导入详情'}, component: GoodDetail},
{path: '/goods', name: 'Goods', meta: {title: '商品列表'}, component: Goods},
{path: '/message', name: 'Message', meta: {title: '基本信息'}, component: Message},
{path: '/orderTrackGoods', name: 'orderTrackGoods', meta: {title: '已采购订单'}, component: OrderTrackGoods},
{path: '/orderTrackGoodsDetail', name: 'orderTrackGoodsDetail', meta: {title: '订单明细'}, component: orderTrackGoodsDetail},
{path: '/orderTrackInvoice', name: 'orderTrackInvoice', meta: {title: '发货单'}, component: OrderTrackInvoice},
{path: '/returnGoods', name: 'returnGoods', meta: {title: '退货单'}, component: ReturnGoods},
{path: '/orderTrackPurAdd', name: 'OrderTrackPurAdd', meta: {title: '新增发货单'}, component: OrderTrackPurAdd},
{path: '/login', name: 'Login', meta: {title: '猎芯云芯商家-登录'}, component: Login},
{path: '/notfound', name: 'notfound', meta: {title: '猎芯网'}, component: notfound},
{path: '/bindError', name: 'BindError', meta: {title: '微信重新绑定'}, component: BindError},
{path: '/news', name: 'news', meta: {title: '消息列表'}, component: News},
{path: '/notice', name: 'notice', meta: {title: '系统公告'}, component: Notice},
{path: '/subAccount', name: 'subAccount', meta: {title: '子账号管理'}, component: SubAccount},
{path: '/subAccountadd', name: 'subAccountadd', meta: {title: '创建子账号'}, component: SubAccountAdd},
{path: '/subAccountEdit', name: 'subAccountEdit', meta: {title: '编辑子账号'}, component: SubAccountEdit},
{path: '/inquireTransform', name: 'inquireTransform', meta: {title: '询价转化统计'}, component: InquireTransform},
{path: '/consignmentInventory', name: 'consignmentInventory', meta: {title: '寄售库存'}, component: ConsignmentInventory},
{path: '/consignmentImport', name: 'consignmentImport', meta: {title: '寄售库存导入'}, component: ConsignmentImport},
{path: '/consignmentImportDetail', name: 'consignmentImportDetail', meta: {title: '寄售库存导入详情'}, component: ConsignmentImportDetail},
{path: '/consignmentApplication', name: 'consignmentApplication', meta: {title: '寄售申请'}, component: ConsignmentApplication},
{path: '/consignmentApplicationDetail', name: 'consignmentApplicationDetail', meta: {title: '寄售申请单详情'}, component: ConsignmentApplicationDetail},
{path: '/consignmentReplenishment', name: 'consignmentReplenishment', meta: {title: '寄售补货'}, component: ConsignmentReplenishment},
{path: '/consignmentRecall', name: 'consignmentRecall', meta: {title: '寄售召回'}, component: ConsignmentRecall},
{path: '/consignmentRecallDetail', name: 'consignmentRecallDetail', meta: {title: '寄售召回单详情'}, component: ConsignmentRecallDetail},
{path: '/batchRecall', name: 'batchRecall', meta: {title: '批量召回'}, component: BatchRecall},
{path: '/consignmentRecallDetail', name: 'consignmentRecallDetail', meta: {title: '寄售召回单详情'}, component: ConsignmentRecallDetail},
{path: '/consignmentContract', name: 'consignmentContract', meta: {title: '寄售合同'}, component: ConsignmentContract},
{path: '/inOutStockLog', name: 'inOutStockLog', meta: {title: '进出库日志'}, component: InOutStockLog},
{path: '/reconciledBill', name: 'reconciledBill', meta: {title: '已对账账单'}, component: ReconciledBill},
{path: '/reconciledBillDetail', name: 'reconciledBillDetail', meta: {title: '账单详情'}, component: ReconciledBillDetail},
{path: '/allPayableBills', name: 'allPayableBills', meta: {title: '全部应付单'}, component: AllPayableBills},
{path: '*', redirect: '/'}
]
const router = new VueRouter({
......
......@@ -44,9 +44,26 @@ export default {
*
* @param arr
*/
isPurchasesValid : function (arr) {
isPurchasesValid: function (arr) {
return arr.every((item, index, array) =>
index === 0 ? true : item.purchases > array[index - 1].purchases
);
},
/**
* 新窗口打开
* @param url
*/
openNewWindow: function (url) {
var a = document.createElement("a");
if (a.click) { // 判断是否支持click方法
a.href = url;
a.target = '_blank';
a.style.display = 'none'; // 隐藏不必要的元素
document.body.appendChild(a);
a.click(); // 触发链接点击事件
document.body.removeChild(a);
} else { // click方法不可用时使用window.location.href跳转
window.location.href = url;
}
}
}
......@@ -484,7 +484,7 @@ export default {
* @param row
*/
handleClick(row) {
this.getLogs(507, '1168906660256142490');
this.getLogs(507, row.goods_id);
},
/**
* 查看日志详情
......@@ -792,6 +792,16 @@ export default {
});
return;
}
// 修改价格时检查是否只选择了一条数据
if (command == 4 && this.multipleSelection.length > 1) {
this.$message({
message: '只能选择一条数据',
type: 'warning'
});
return;
}
this.selectData = JSON.parse(JSON.stringify(this.multipleSelection));
if (command == 1) {
//修改库存弹窗
......
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="80px">
<el-form-item label="型号" prop="goods_name">
<el-autocomplete v-model="formParam.goods_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="类型" prop="type">
<el-select v-model="formParam.type" placeholder="全部" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="寄售采购入库" value="1"></el-option>
<el-option label="寄售退货出库" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="formParam.status" placeholder="全部" clearable>
<el-option label="全部" value="1"></el-option>
<el-option label="待付款申请" value="2"></el-option>
<el-option label="应付单进行中" value="3"></el-option>
<el-option label="完成" value="4"></el-option>
<el-option label="关闭" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="create_time">
<el-date-picker v-model="formParam.create_time" align="right" type="date" placeholder="请选择创建时间" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="order_no" label="应付单号" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="goods_name" label="型号" min-width="140" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="140" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="price_single" label="采购单价(含税)" width="150" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="quantity" label="数量" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="currency_val" label="币种" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="payable_amount" label="应付金额" width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="unpaid_amount" label="未付金额" width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="paid_amount" label="已付金额" width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="paying_amount" label="付款中金额" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="type" label="类型" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="status" label="状态" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="contact_name" label="对接人" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_time" label="应付单创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "allPayableBills",
data() {
return {
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
goods_name: '',
type: '',
status: '',
create_time: []
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit});
this.$http('GET', "/api/bill/getUnPayBillList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="80px">
<el-form-item label="账单号" prop="bill_sn">
<el-input v-model="formParam.bill_sn" placeholder="请输入账单号" @keyup.enter.native="submit" clearable></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="create_time">
<el-date-picker v-model="formParam.create_time" align="right" type="date" placeholder="请选择创建时间" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<el-dropdown @command="handleCommand">
<el-button type="primary">导出账单</el-button>
<el-dropdown-menu>
<el-dropdown-item command="1">导出PDF</el-dropdown-item>
<el-dropdown-item command="2">导出EXCEL</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" fixed></el-table-column>
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="bill_sn" label="账单号" width="120" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<el-link type="primary" :underline="false" @click="$router.push({path: '/reconciledBillDetail', query: {bill_id: scope.row.bill_id,bill_sn:scope.row.bill_sn}})" style="font-size: 12px;">{{ scope.row.bill_sn }}</el-link>
</template>
</el-table-column>
<el-table-column prop="bill_name" label="账单名称" min-width="170" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="total_amount" label="应付总金额" width="120" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="unpaid_amount" label="未付总金额" width="120" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="paid_amount" label="已付总金额" width="120" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="paying_amount" label="付款中总金额" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="contact_name" label="对接人" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_name" label="创建人" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_time" label="创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_type" label="创建方式" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
import {NODE_ENVS} from "@/ajax";
import Tool from "@/tool";
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "reconciledBill",
data() {
return {
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
bill_sn: '',
goods_name: '',
create_time: ''
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit});
this.$http('GET', "/api/bill/getVerifiedBillList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 操作按钮监听
*/
handleCommand(command) {
let bill_id = this.multipleSelection.map(item => item.bill_id).join(',');
if (!bill_id) {
this.$message({
message: '请选择账单',
type: 'warning'
});
return;
}
let url = NODE_ENVS + '/api/bill/exportVerifiedBill?bill_id=' + bill_id + '&token=' + Tool.getCookie('token') + '&type=' + command;
Tool.openNewWindow(url);
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/**
* 已对账账单-导出(待采购系统确认)
*/
exportVerifiedBill() {
let bill_id = this.multipleSelection.map(item => item.bill_id).join(',');
let url = NODE_ENVS + '/api/bill/exportVerifiedBill?type=2&bill_id=' + bill_id + '&token=' + Tool.getCookie('token');
Tool.openNewWindow(url);
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!-- 详情信息区 -->
<el-descriptions :column="3" border style="margin-bottom: 15px;">
<el-descriptions-item label="账单号">{{ detailData.bill_sn }}</el-descriptions-item>
<el-descriptions-item label="账单名称">{{ detailData.bill_name }}</el-descriptions-item>
<el-descriptions-item label="供应商名称">{{ detailData.supplier_name }}</el-descriptions-item>
<el-descriptions-item label="采购组织">{{ detailData.purchase_org }}</el-descriptions-item>
<el-descriptions-item label="币种">{{ detailData.currency_val }}</el-descriptions-item>
<el-descriptions-item label="应付总金额">{{ detailData.total_amount }}</el-descriptions-item>
<el-descriptions-item label="未付总金额">{{ detailData.unpaid_amount }}</el-descriptions-item>
<el-descriptions-item label="已付总金额">{{ detailData.paid_amount }}</el-descriptions-item>
<el-descriptions-item label="付款中总金额">{{ detailData.paying_amount }}</el-descriptions-item>
<el-descriptions-item label="创建日期">{{ detailData.create_time }}</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">{{ detailData.remark }}</el-descriptions-item>
</el-descriptions>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="order_no" label="应付单号" width="180" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="goods_name" label="型号" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="品牌" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="price_single" label="采购单价(含税)" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="quantity" label="数量" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="currency_val" label="币种" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="pay_amount" label="应付金额" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="unpaid_amount" label="未付金额" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="paid_amount" label="已付金额" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="paying_amount" label="付款中金额" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="type" label="类型" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="status" label="状态" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_time" label="应付单创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, Col, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Row, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider).use(Row).use(Col);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "reconciledBillDetail",
data() {
return {
multipleSelection: [],
recall_id: '',
detailData: {},
total: 0,
page: 1,
limit: 10,
list: [],
bill_id: '',
bill_sn: ''
};
},
created() {
this.bill_id = this.$route.query.bill_id;
this.bill_sn = this.$route.query.bill_sn;
this.getData()
},
methods: {
getData() {
this.$http('GET', "/api/bill/getVerifiedBillDetail", {bill_id: this.bill_id, bill_sn: this.bill_sn, page: this.page, limit: this.limit}).then(res => {
if (res.code === 0) {
this.detailData = res.data.bill_info;
this.list = res.data.list;
this.total = res.data.total || 0;
} else {
this.$message.error(res.msg);
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<el-upload action="/api/consignmentRecall/batchRecallUpload" :on-success="handleUploadSuccess" :on-error="handleUploadError" accept=".csv" :show-file-list="false">
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
<a href="/批量召回.csv" download style="text-decoration: none;margin-left: 10px;">
<el-button type="primary">下载模板</el-button>
</a>
</div>
<div class="text-tip row verCenter">
<i class="el-icon-warning"></i>
<span>上传需召回的商品后,点击【提交】可将状态为"成功"的全部数据生成寄售召回单</span>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="sku_id" label="SKUID" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="goods_name" label="型号" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="品牌" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="useable_num" label="可用库存数量" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="recall_num" label="申请召回数量" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="status" label="状态" width="160" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<span :style="{ color: scope.row.status === 0 ? '#F56C6C' : '' }">{{ scope.row.status_val }}</span>
</template>
</el-table-column>
<el-table-column prop="remark" label="说明" width="250" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
</div>
<div v-if="is_flag" style="margin-top: 20px;">
<el-button size="small" type="primary" @click="batchRecallSubmit">提交</el-button>
<el-button size="small" type="primary" @click="batchRecallExportFailed">导出失败数据</el-button>
<el-button size="small" @click="$router.push({path: '/consignmentRecall'})">取 消</el-button>
</div>
</div>
<Menu ref="menu"></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip, Upload} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Upload).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "batchRecall",
data() {
return {
total: 0,
page: 1,
limit: 10,
list: [],
recall_upload_sn: '',//上传编号
is_flag: false
};
},
created() {
},
methods: {
/**
* 上传成功
* @param res
* @param file
* @param fileList
*/
handleUploadSuccess(res, file, fileList) {
if (res.code === 0) {
this.$message.success('上传成功');
if (res.data.list.length > 0) {
this.is_flag = true;
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
}
} else {
this.$message.error(res.msg || '上传失败');
}
},
/**
* 上传失败
* @param err
* @param file
* @param fileList
*/
handleUploadError(err, file, fileList) {
this.$message.error('上传失败,请重试');
},
/**
* 批量召回-提交
*/
batchRecallSubmit() {
this.recall_upload_sn = this.list.filter(item => item.status === 1).map(item => item.recall_upload_sn);
this.$http('POST', "/api/consignmentRecall/batchRecallSubmit", {recall_upload_sn: this.recall_upload_sn}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.$refs.menu.closetab(this.$route.path);
setTimeout(() => {
if (this.$route.path !== '/consignmentRecall') {
this.$router.push({path: '/consignmentRecall'}).catch(err => {
if (err.name !== 'NavigationDuplicated') {
throw err;
}
});
}
}, 0);
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
},
/**
* 批量召回-导出失败数据
*/
batchRecallExportFailed() {
this.recall_upload_sn = this.list.filter(item => item.status === 0).map(item => item.recall_upload_sn);
this.$http('POST', "/api/consignmentRecall/batchRecallExportFailed", {recall_upload_sn: this.recall_upload_sn}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="96px">
<el-form-item label="寄售申请单号" prop="consignment_sn">
<el-input v-model="formParam.consignment_sn" placeholder="请输入寄售申请单号" @keyup.enter.native="submit" clearable></el-input>
</el-form-item>
<el-form-item label="型号" prop="goods_name">
<el-autocomplete v-model="formParam.goods_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="状态" prop="consignment_status">
<el-select v-model="formParam.consignment_status" placeholder="全部" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="待提审" value="0"></el-option>
<el-option label="待审核" value="1"></el-option>
<el-option label="进行中" value="2"></el-option>
<el-option label="完成" value="3"></el-option>
<el-option label="作废" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<el-button type="primary" @click="popupEvent(1)">提交审核</el-button>
<el-button type="primary" @click="popupEvent(2)">作废</el-button>
<!-- <el-button type="primary" @click="popupEvent(3)">关单</el-button>-->
<el-tooltip placement="top" effect="dark">
<div slot="content">
作废:待提审状态、进行中但未发货未入库时可作废<br>
关单:进行中,未全部入库且未入库的商品不再寄售时可关单,关单后单据将变为完成状态
</div>
<i class="el-icon-question" style="font-size: 16px;color: #ff9000;margin-left: 10px;cursor: pointer;"></i>
</el-tooltip>
</div>
<div class="text-tip row verCenter">
<i class="el-icon-warning"></i>
<span>可选择"待审核"状态的数据提交寄售申请,每次最多可提交200条</span>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" fixed></el-table-column>
<el-table-column prop="consignment_sn" label="寄售申请单号" width="160" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<el-link type="primary" :underline="false" @click="$router.push({path: '/consignmentApplicationDetail', query: {consignment_id: scope.row.consignment_id}})" style="font-size: 12px;">{{ scope.row.consignment_sn }}</el-link>
</template>
</el-table-column>
<el-table-column prop="consignment_status_val" label="状态" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="deliver_status_val" label="发货状态" width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="stock_in_status_val" label="入库状态" width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="order_uname" label="订单人员" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="update_time" label="更新时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="verify_uname" label="审核人" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="verify_time" label="审核时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="verify_remark" label="审核说明" min-width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_uname" label="创建人" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_time" label="创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="consignment_type_val" label="类型" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<!--提交审核-->
<el-dialog title="提交审核" :close-on-click-modal="false" :visible.sync="dialogVisible_1" width="500px">
<p style="margin-bottom: 15px;margin-left: 80px;">确定将选择的商品提交寄售审核?</p>
<el-form ref="form" label-width="80px">
<el-form-item label="附加说明">
<el-input type="textarea" v-model="remark"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_1 = false">取 消</el-button>
<el-button type="primary" @click="verifyConsignment">确 定</el-button>
</div>
</el-dialog>
<!--作废-->
<el-dialog title="作废" :close-on-click-modal="false" :visible.sync="dialogVisible_2" width="500px">
<p style="margin-bottom: 15px;margin-left: 80px;">确定将选择的寄售申请单作废?</p>
<el-form ref="form" label-width="80px">
<el-form-item label="原因说明">
<el-input type="textarea" v-model="remark"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_2 = false">取 消</el-button>
<el-button type="primary" @click="cancelConsignment">确 定</el-button>
</div>
</el-dialog>
<!--关单-->
<el-dialog title="关单" :close-on-click-modal="false" :visible.sync="dialogVisible_3" width="500px">
<p style="margin-bottom: 15px;">确定将选择的寄售申请单关单?</p>
<p style="margin-bottom: 10px;color: #ff9000">关单后,寄售申请单将变为【完成】状态,所有明细不可再进行入库操作</p>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_3 = false">取 消</el-button>
<el-button type="primary" @click="closeConsignment">确 定</el-button>
</div>
</el-dialog>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "consignmentApplication",
data() {
return {
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
dialogVisible_1: false,
dialogVisible_2: false,
dialogVisible_3: false,
remark: '',
consignment_ids: '',
formParam: {
consignment_sn: '',
goods_name: '',
consignment_status: ''
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit});
this.$http('GET', "/api/consignment/getConsignmentList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/**
* 弹窗事件
*/
popupEvent(type) {
if (!this.multipleSelection.length) {
this.$message.warning('请选择数据');
return;
}
switch (type) {
case 1:
// 提交审核:校验待提审状态
const invalidVerify = this.multipleSelection.filter(item => item.consignment_status != 0);
if (invalidVerify.length) {
this.$message.warning('只能选择待提审状态的数据');
return;
}
if (this.multipleSelection.length > 200) {
this.$message.warning('每次最多可提交200条数据');
return;
}
this.consignment_ids = this.multipleSelection.map(item => item.consignment_id).join(',');
this.dialogVisible_1 = true;
break;
case 2:
if (this.multipleSelection.length > 1) {
this.$message.warning('不支持批量操作');
return;
}
// 作废:校验 待提审或进行中且待入库状态为待入库
const invalidCancel = this.multipleSelection.filter(item => {
const isPendingReview = item.consignment_status === 0;
const isInProgressAndPendingStock = item.consignment_status === 2 && item.stock_in_status === 1;
return !(isPendingReview || isInProgressAndPendingStock);
});
if (invalidCancel.length) {
this.$message.warning('只能作废待提审状态或进行中且未入库的数据');
return;
}
this.consignment_ids = this.multipleSelection.map(item => item.consignment_id).join(',');
this.dialogVisible_2 = true;
break;
case 3:
if (this.multipleSelection.length > 1) {
this.$message.warning('不支持批量操作');
return;
}
// 关单:校验进行中且部分发货/全部发货,部分入库状态
const invalidClose = this.multipleSelection.filter(item => !(item.consignment_status == '2' && [1, 2].includes(item.deliver_status) && item.stock_in_status == 1));
if (invalidClose.length) {
this.$message.warning('只能关闭进行中且已部分/全部发货、部分入库的数据');
return;
}
this.consignment_ids = this.multipleSelection.map(item => item.consignment_id).join(',');
this.dialogVisible_3 = true;
break;
}
},
/**
* 提交审核
*/
verifyConsignment() {
this.$http('POST', "/api/consignment/verifyConsignment", {consignment_ids: this.consignment_ids, remark: this.remark}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_1 = false;
this.remark = '';
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
},
/**
* 作废
*/
cancelConsignment() {
this.$http('POST', "/api/consignment/cancelConsignment", {consignment_ids: this.consignment_ids, cancel_remark: this.remark}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_2 = false;
this.remark = '';
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
},
/**
* 关单
*/
closeConsignment() {
this.$http('POST', "/api/consignment/closeConsignment", {consignment_ids: this.consignment_ids}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_3 = false;
this.remark = '';
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!-- 详情信息区 -->
<el-descriptions :column="4" border style="margin-bottom: 15px; width: 1200px;">
<el-descriptions-item label="寄售申请单号">
<span style="font-weight: bold">{{ detailData.consignment_sn }}{{ detailData.consignment_status_val }}</span>
</el-descriptions-item>
<el-descriptions-item label="订单人员:">{{ detailData.order_uname || '-' }}</el-descriptions-item>
<el-descriptions-item label="发货状态:">{{ detailData.deliver_status_val }}</el-descriptions-item>
<el-descriptions-item label="入库状态:">{{ detailData.stock_in_status_val }}</el-descriptions-item>
</el-descriptions>
<!--操作区-->
<div class="operation-area row verCenter bothSide" style="margin-top: 20px;">
<div class="operation-button row verCenter">
<el-button type="danger" @click="deleteConsignmentItems">删除</el-button>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" fixed></el-table-column>
<el-table-column prop="consignment_item_id" label="明细ID" width="80" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="sku_id" label="SKUID" min-width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="goods_name" label="型号" min-width="90" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="品牌" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="apply_num" label="申请寄售数量" width="160" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<template v-if="detailData.consignment_status === 0">
<el-input v-model.number="scope.row.apply_num" size="mini" @blur="updateConsignmentItems(scope.row.consignment_item_id, scope.row.apply_num)"></el-input>
</template>
<template v-else>
{{ scope.row.apply_num }}
</template>
</template>
</el-table-column>
<el-table-column prop="deliver_num" label="发货总数" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="stock_in_num" label="入库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="not_stock_in_num" label="未入库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="date_code" label="批次" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="consignment_item_status_val" label="状态" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, Col, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Row, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider).use(Row).use(Col);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "consignmentApplicationDetail",
data() {
return {
multipleSelection: [],
consignment_id: '',
detailData: {},
total: 0,
page: 1,
limit: 10,
list: [],
};
},
created() {
this.consignment_id = this.$route.query.consignment_id;
this.getData()
},
methods: {
getData() {
this.$http('GET', "/api/consignment/getConsignmentDetail", {consignment_id: this.consignment_id, page: this.page, limit: this.limit}).then(res => {
if (res.code === 0) {
this.detailData = res.data;
this.list = res.data.items.list;
this.total = res.data.items.total || 0;
} else {
this.$message.error(res.msg);
}
})
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/**
* 删除寄售明细
*/
deleteConsignmentItems() {
if (this.multipleSelection.length === 0) {
this.$message.warning('请选择要删除的数据');
return;
}
// 提交审核:校验待提审状态
if (this.detailData.consignment_status != 0) {
this.$message.warning('只能选择待提审状态的数据');
return;
}
this.$confirm('确定删除已选择的商品明细?', '删除', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let consignment_item_ids = this.multipleSelection.map(item => item.consignment_item_id).join(',');
this.$http('POST', "/api/consignment/deleteConsignmentItems", {consignment_item_ids: consignment_item_ids}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.getData();
}
});
} else {
this.$message.error(res.msg);
}
})
}).catch(() => {
console.log('已取消删除');
});
},
/**
* 更新明细寄售数量
*/
updateConsignmentItems(consignment_item_id, apply_num) {
if (!apply_num || apply_num <= 0) {
this.$message.warning('请输入有效的数量');
return;
}
this.$http('POST', "/api/consignment/updateConsignmentItems", {consignment_item_id: consignment_item_id, apply_num: apply_num}).then(res => {
if (res.code === 0) {
} else {
this.$message.error(res.msg);
}
})
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="80px">
<el-form-item label="状态" prop="status">
<el-select v-model="formParam.status" placeholder="全部" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="有效" value="1"></el-option>
<el-option label="失效" value="-1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="contract_no" label="合同编号" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="contract_file" label="合同文件" width="160" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<a v-if="scope.row.contract_file" :href="scope.row.contract_file" target="_blank" style="color: #409EFF">下载</a>
</template>
</el-table-column>
<el-table-column prop="status_name" label="状态" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="commission_rate" label="抽佣比例(%)" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="end_time" label="合同有效期" width="290" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="check_date" label="对账日期" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="update_time" label="更新时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_name" label="创建人" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="update_time" label="创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "consignmentContract",
data() {
return {
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
status: ''
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit});
this.$http('GET', "/api/consignmentContract/getConsignmentContractList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="80px">
<el-form-item label="状态" prop="status">
<el-select v-model="formParam.status" placeholder="全部" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="待处理" value="1"></el-option>
<el-option label="处理中" value="2"></el-option>
<el-option label="已处理" value="3"></el-option>
<el-option label="失败" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="更新日期" prop="create_time">
<el-date-picker :unlink-panels=true style="width:193px" prefix-icon="prefix-icon-time-style" v-model="formParam.date" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<el-button type="primary" @click="importChange">导入</el-button>
<a href="/寄售商品导入.csv" download style="text-decoration: none;margin-left: 10px;">
<el-button type="primary">下载模板</el-button>
</a>
</div>
</div>
<!--列表区-->
<div class="data-box th-all">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40" align="center"></el-table-column>
<el-table-column label="单号" min-width="20%" align="center">
<template slot-scope="scope">
<el-link type="primary" :underline="false" @click="$router.push({path: '/consignmentImportDetail', query: {up_sn: scope.row.up_sn,id:scope.row.id}})" style="font-size: 12px;">{{ scope.row.up_sn }}</el-link>
</template>
</el-table-column>
<el-table-column prop="file_name" label="文件名字" min-width="20%" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="status" label="状态" width="120" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.status==1" type="primary">待处理</el-tag>
<el-tag v-else-if="scope.row.status==2" type="warning">处理中</el-tag>
<el-tag v-else-if="scope.row.status==3" type="success">已处理</el-tag>
<el-tag v-else-if="scope.row.status==4" type="danger">失败</el-tag>
<el-tooltip :aa="scope" class="item" effect="dark" placement="top-start">
<i class="el-icon-question" style="color:#ff7e11;margin-left:5px;cursor:pointer;font-size:16px;"></i>
<div slot="content">{{ scope.row.status_tips }}</div>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="import_way" label="导入方式" width="120" align="center"></el-table-column>
<el-table-column prop="count_success" label="导入成功" width="160" align="center"></el-table-column>
<el-table-column prop="count_error" label="导入失败" width="160" align="center"></el-table-column>
<el-table-column prop="create_time" label="上传时间" width="160" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
<!--导入数据确认-->
<el-dialog title="导入数据确认" :close-on-click-modal="false" :visible.sync="dialogVisible" @closed="handleDialogClosed" width="700px">
<div class="dialog-text">
<p class="tt" style="font-size: 13px;margin-bottom: 10px;">
上架最高天数:寄售类型的商品,有效日期最高可填写到2035/1/1(长期有效)
</p>
<p class="tt" style="font-size: 12px;">
上传的型号经由猎芯审核通过后,会展示在【猎芯网】进行售卖
</p>
<p class="alink">新增:已在【猎芯网】进行展示的型号保持不变,额外加上新上传的型号</p>
<div class="row" style="margin-top: 10px;margin-bottom: 10px;">
<el-radio v-model="fileData.type" label="2">新增</el-radio>
</div>
<div slot="footer" class="dialog-footer row" style="text-align: right;justify-content: flex-end;">
<el-button @click="dialogVisible = false" style="margin-right: 10px;">取 消</el-button>
<el-upload ref="upload" :data="fileData" :action="uploadUrl" :before-upload="handleBeforeUpload" :on-success="handleChange" :on-progress="handleProgress">
<el-button type="primary" :loading="uploading">确 定</el-button>
<el-progress v-if="uploading" :percentage="progress"/>
</el-upload>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import Tool from '@/tool'
import {NODE_ENVS} from "@/ajax";
import {Button, DatePicker, Dialog, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, Option, Pagination, Progress, Radio, Select, Table, TableColumn, Tag, Tooltip, Upload} from 'element-ui'
Vue.prototype.$message = Message
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Pagination).use(Tag).use(Tooltip).use(Link);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Upload).use(Radio).use(Progress);
export default {
name: "consignmentImport",
data() {
return {
cp_time_day: localStorage.getItem('cp_time_day') || '',//现货最高天数
futures_cp_time_day: localStorage.getItem('futures_cp_time_day') || '',//期货最高天数
uploadUrl: NODE_ENVS + '/api/uploadSku/import',//上传接口
fileData: {
source: 12,
token: Tool.getCookie('token'),
type: "2"//1覆盖 2新增
},
uploading: false,//上传状态
progress: 0,//上传进度
dialogVisible: false,
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
date: [],
status: '',
source: 12
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, {page: this.page, limit: this.limit, source: 12, status: this.formParam.status, action_time: this.formParam.date[0], end_time: this.formParam.date[1]});
this.$http('GET', "/api/uploadSku/list", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 导入
*/
importChange() {
// 先重置所有状态
this.progress = 0;
this.uploading = false;
// 清空上传列表
if (this.$refs.upload) {
this.$refs.upload.clearFiles();
}
// 使用 nextTick 确保DOM更新后再显示对话框
this.$nextTick(() => {
this.dialogVisible = true;
});
},
/**
* 上传文件之前的钩子
*/
handleBeforeUpload() {
this.uploading = true
},
/**
* 文件上传时的钩子
* @param response
* @param file
* @param fileList
*/
handleProgress(event, file, fileList) {
this.progress = event.percent
},
/**
* 文件上传成功时的钩子
* @param file
* @param fileList
* @returns {boolean}
*/
handleChange(file, fileList) {
// 文件上传成功处理
if (file.code === 0) {
this.dialogVisible = false;
this.page = 1;
this.getData();
this.$message({
message: '导入成功',
type: 'success'
});
} else {
// 上传失败重置状态
this.progress = 0;
this.uploading = false;
this.$message({
message: file.msg,
type: 'warning'
});
}
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleDialogClosed() {
// 对话框关闭时清空
this.progress = 0;
this.uploading = false;
if (this.$refs.upload) {
this.$refs.upload.clearFiles();
}
}
},
components: {
Menu
}
};
</script>
<style scoped>
.downTemplate {
width: 68px;
height: 28px;
text-align: center;
line-height: 28px;
color: #FFF;
background-color: #409EFF;
border-color: #409EFF;
font-size: 12px;
border-radius: 3px;
margin-left: 10px;
margin-right: 10px;
display: block;
}
.dialog-text .tt {
color: #333;
font-weight: bold;
margin-bottom: 16px;
}
.dialog-text .alink {
font-size: 12px;
}
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!-- 详情信息区 -->
<el-descriptions :column="3" border style="margin-bottom: 15px;width: 1200px">
<el-descriptions-item label="导入总数">{{ itemListObj.total }}</el-descriptions-item>
<el-descriptions-item label="导入成功"><span class="alink">{{ itemListObj.suss_count }}</span></el-descriptions-item>
<el-descriptions-item label="导入失败"><span style="color: red">{{ itemListObj.error_count }}</span></el-descriptions-item>
<el-descriptions-item label="导入时间">{{ detailData.create_time }}</el-descriptions-item>
</el-descriptions>
<!--操作区-->
<div class="operation-area row" style="margin-top: 10px;">
<div class="operation-button row verCenter">
<el-button type="primary" @click="popupEvent(1)">提交寄售审核</el-button>
<el-button type="primary" @click="exportErrorItemList">导出失败文件</el-button>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40"></el-table-column>
<el-table-column prop="status" fixed label="状态" width="100" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.status==1" type="danger">审核前失败</el-tag>
<el-tag v-else-if="scope.row.status==2" type="info">待审核</el-tag>
<el-tag v-else-if="scope.row.status==3" type="success">上传成功</el-tag>
<el-tag v-else-if="scope.row.status==4" type="warning">审核未通过</el-tag>
</template>
</el-table-column>
<el-table-column prop="error_msg" label="失败原因" min-width="150" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="reject_msg" label="审核不通过原因" min-width="150" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="goods_name" label="型号" min-width="150" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="150" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="consignment_apply_stock" label="申请寄售库存" width="100"></el-table-column>
<el-table-column prop="consignment_safe_stock" label="安全库存" width="80"></el-table-column>
<el-table-column prop="moq" label="最小起订量" width="90"></el-table-column>
<el-table-column prop="mpq" label="标准包装量" width="90"></el-table-column>
<el-table-column prop="batch_sn" label="批次" width="80"></el-table-column>
<el-table-column prop="cn_delivery_time" label="大陆交期" width="90"></el-table-column>
<el-table-column prop="hk_delivery_time" label="香港交期" width="90"></el-table-column>
<el-table-column prop="sku_id" label="SKUID" width="200"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<!--提交审核-->
<el-dialog title="提交审核" :close-on-click-modal="false" :visible.sync="dialogVisible_1" width="500px">
<p style="margin-bottom: 15px;margin-left: 80px;">请确定是否将选择的商品提交寄售审核?</p>
<el-form ref="form" label-width="80px">
<el-form-item label="附加说明">
<el-input type="textarea" v-model="remark"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_1 = false">取 消</el-button>
<el-button type="primary" @click="submitConsignmentAudit">确 定</el-button>
</div>
</el-dialog>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Descriptions, DescriptionsItem, Message, Pagination, Table, TableColumn, Tag, Tooltip, Upload} from 'element-ui'
import {NODE_ENVS} from "@/ajax";
import Tool from "@/tool";
Vue.prototype.$message = Message;
Vue.use(Pagination).use(TableColumn).use(Table).use(Tag).use(Descriptions).use(DescriptionsItem).use(Tooltip).use(Upload);
export default {
name: "consignmentImportDetail",
data() {
return {
detailData: {},
itemListObj: {},//明细数据
dialogVisible_1: false,
total: 0,
limit: 10,
page: 1,
list: [],
maxPrice: [],
id: '',
up_sn: '',
multipleSelection: [],
uploadUrl: NODE_ENVS + '/api/uploadSku/import',
remark: '',
sku_apply_num_json: [],
fileData: {
token: Tool.getCookie('token'),
type: 2//1覆盖 2新增
}
};
},
created() {
this.id = this.$route.query.id;
this.up_sn = this.$route.query.up_sn;
this.getInfo()
this.getList()
},
methods: {
/**
* 获取详情
*/
getInfo() {
this.$http('GET', "/api/uploadSku/info", {id: this.id}).then(res => {
if (res.code === 0) {
this.detailData = res.data
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 获取列表数据
*/
getList() {
this.$http('GET', "/api/uploadSku/itemList", {page: this.page, limit: this.limit, up_sn: this.up_sn, source: 12}).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = res.data.total || 0;
this.itemListObj = res.data;//明细数据
} else {
this.$message(res.msg);
}
})
},
/**
* 导出失败文件
*/
exportErrorItemList() {
let url = NODE_ENVS + '/api/uploadSku/exportErrorItemList?up_sn=' + this.up_sn + '&token=' + Tool.getCookie('token') + '&source=12';
Tool.openNewWindow(url);
},
/**
* 弹窗事件
*/
popupEvent(type) {
if (!this.multipleSelection.length) {
this.$message.warning('请选择数据');
return;
}
switch (type) {
case 1:
// 提交审核:校验待提审状态
const invalidVerify = this.multipleSelection.filter(item => item.status != 3);
if (invalidVerify.length) {
this.$message.warning('上传成功的才可提交寄售审核');
return;
}
this.sku_apply_num_json = this.multipleSelection.map(item => {
return {
sku_id: item.sku_id,
apply_num: item.consignment_apply_stock
}
});
this.dialogVisible_1 = true;
break;
}
},
/**
* 提交寄售审核
*/
submitConsignmentAudit() {
this.$http('POST', "/api/sku/submitConsignmentAudit", {sku_apply_num_json: JSON.stringify(this.sku_apply_num_json), remark: this.remark}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_1 = false;
this.remark = '';
this.getList();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getList();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getList();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="store-con">
<!--搜索区-->
<el-form :inline="true" :model="formParam" class="demo-form-inline" ref="formParam" label-width="80px">
<el-form-item label="型号" prop="goods_name">
<el-autocomplete v-model="formParam.goods_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="品牌" prop="brand_name">
<el-autocomplete v-model="formParam.brand_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsyncBrand" placeholder="请输入品牌" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="上架状态" prop="status">
<el-select v-model="formParam.status" placeholder="请选择" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="上架" value="1"></el-option>
<el-option label="下架" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="来源" prop="status">
<el-select v-model="formParam.source" placeholder="请选择" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="自主上传" value="7"></el-option>
<el-option label="代上传" value="9"></el-option>
<el-option label="芯链寄售" value="12"></el-option>
</el-select>
</el-form-item>
<el-form-item label="更新日期" prop="date">
<el-date-picker :unlink-panels=true style="width:193px" prefix-icon="prefix-icon-time-style" v-model="formParam.date" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item label="过期时间" prop="date">
<el-date-picker :unlink-panels=true style="width:193px" prefix-icon="prefix-icon-time-style" v-model="cp_time_val" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item label="SKUID" prop="sku_id">
<el-input v-model="formParam.sku_id" placeholder="请输入SKUID" @keyup.enter.native="submit" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<div class="btn-nav" style="margin-bottom: 0;margin-top: 0">
<el-dropdown @command="handleCommand">
<div class="update">修改&nbsp;|<i class="el-icon-arrow-down"></i></div>
<el-dropdown-menu>
<el-dropdown-item command="1">修改安全库存</el-dropdown-item>
<el-dropdown-item command="2">修改交期</el-dropdown-item>
<el-dropdown-item command="3">上架有效期</el-dropdown-item>
<el-dropdown-item command="4">修改销售价格</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<el-button type="primary" @click="changeStatus(1)" style="margin-left: 10px;">上架</el-button>
<el-button type="primary" @click="changeStatus(3)">下架</el-button>
<el-button type="primary" @click="downOut">导出</el-button>
<a :href="downHref" ref="downs" target="_blank" style="display:none">下载</a>
<el-button type="primary" style="margin-left: 10px;" @click="popupEvent(1)">批量修改</el-button>
<el-button type="primary" @click="popupEvent(2)">寄售补货</el-button>
<!-- <el-button type="primary" @click="popupEvent(3)">寄售召回</el-button>-->
</div>
<div class="text-tip row verCenter">
<i class="el-icon-warning"></i>
<span>该页面展示的数据为:贵司寄售在猎芯的库存信息</span>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="tableData" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40" align="center"></el-table-column>
<el-table-column prop="goods_id" label="SKUID" width="160" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="goods_name" label="型号" width="150" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="brand_name" label="品牌" width="150" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="brand_standard_name" label="猎芯标准品牌" width="150" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<template v-if="scope.row.brand_standard_name">
{{ scope.row.brand_standard_name }}
</template>
<template v-else>
<span class="f-yellow1">待确认</span>
<el-tooltip :aa="scope" class="item" effect="dark" placement="top-start">
<i class="el-icon-question" style="color:#ff7e11;margin-left:5px;cursor:pointer;font-size:16px;"></i>
<div slot="content">该品牌在猎芯标准品牌库没有匹配到对应品牌,等待猎芯运营同事添加中......</div>
</el-tooltip>
</template>
</template>
</el-table-column>
<el-table-column prop="encap" label="封装" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="batch_sn" label="批次" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="moq" label="起订量" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="mpq" label="标准包装量" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="stock" label="库存数量" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="stock" label="可用库存数量" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="in_transit_stock" label="在途库存" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="consignment_safe_stock" label="安全库存" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="cn_ladder_price" label="含税销售价(¥)" width="120" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope" v-if="scope.row.cn_ladder_price && scope.row.cn_ladder_price.length>0">
<el-popover effect="light" trigger="hover" placement="bottom">
<p class="row" v-for="item in scope.row.cn_ladder_price">
<span>{{ item.purchases }}+</span>
<span style="margin-left: 5px">&yen;{{ item.price }}</span>
</p>
<a slot="reference" href="javascript:;" class="alink">查看</a>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="hk_ladder_price" label="美金销售价($)" width="120" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope" v-if="scope.row.cn_ladder_price && scope.row.cn_ladder_price.length>0">
<el-popover effect="light" trigger="hover" placement="bottom">
<p class="row" v-for="item in scope.row.hk_ladder_price">
<span>{{ item.purchases }}+</span>
<span style="margin-left: 5px">${{ item.price }}</span>
</p>
<a slot="reference" href="javascript:;" class="alink">查看</a>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="cn_delivery_time" label="大陆交期" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="hk_delivery_time" label="香港交期" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="" label="统计" width="100" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<el-popover placement="bottom" title="" width="400" trigger="click" @show="showChange(scope.row)">
<div class="statistics-table">
<div class="title row verCenter">
<span class="one" style="width: 180px">{{ skuStatistics.goods_name }}</span>
<span style="width: 100px">次数</span>
<span style="width: 200px">排名</span>
<span style="width: 272px">最近时间</span>
</div>
<div class="list">
<div class="box row verCenter">
<span class="one" style="width: 180px">搜索次数</span>
<span style="width: 100px">{{ skuStatistics.search_count }}</span>
<span style="width: 200px">{{ skuStatistics.search_rank }}(全网)</span>
<span style="width: 272px">{{ skuStatistics.search_last_time }}</span>
</div>
<div class="box row verCenter">
<span class="one" style="width: 180px">询价次数</span>
<span style="width: 100px">{{ skuStatistics.inquiry_count }}</span>
<span style="width: 200px">{{ skuStatistics.inquiry_rank }}</span>
<span style="width: 272px">{{ skuStatistics.inquiry_last_time }}</span>
</div>
<div class="box row verCenter">
<span class="one" style="width: 180px">报价次数</span>
<span style="width: 100px">{{ skuStatistics.quote_count }}</span>
<span style="width: 200px">{{ skuStatistics.quote_rank }}</span>
<span style="width: 272px">{{ skuStatistics.quote_last_time }}</span>
</div>
<div class="box row verCenter">
<span class="one" style="width: 180px">成单次数</span>
<span style="width: 100px">{{ skuStatistics.order_count }}</span>
<span style="width: 200px">{{ skuStatistics.order_rank }}</span>
<span style="width: 272px">{{ skuStatistics.order_last_time }}</span>
</div>
</div>
</div>
<a slot="reference" href="javascript:;" class="alink">查看</a>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="source_val" label="来源" width="150" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="goods_status" label="状态" width="100" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.goods_status==1" class="f-green">上架</span>
<span v-else-if="scope.row.goods_status==3">下架</span>
</template>
</el-table-column>
<el-table-column prop="cp_time" label="上架有效期" width="150" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="update_time" label="更新时间" width="150" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column fixed="right" label="操作" width="110" align="center">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="primary" size="mini" class="yunyin-btn">查看日志</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<!--修改安全库存-->
<el-dialog title="修改安全库存" :close-on-click-modal="false" :visible.sync="dialogVisible" width="900px">
<div class="kc-mask">
<el-table :data="kucundata" border max-height="600">
<el-table-column prop="goods_name" label="型号" min-width="25%"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="25%"></el-table-column>
<el-table-column prop="consignment_safe_stock" label="安全库存" min-width="25%"></el-table-column>
<el-table-column label="修改库存" min-width="25%">
<template slot-scope="scope">
<el-input v-model="scope.row.updateStock" placeholder="点击修改" onkeyup="if(event.keyCode !=37 &amp;&amp; event.keyCode != 39){if (!/^[\d]+$/ig.test(this.value)){this.value='';}}"></el-input>
</template>
</el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitKc">确 定</el-button>
</span>
</el-dialog>
<!--修改交期弹窗-->
<el-dialog title="修改交期" :close-on-click-modal="false" :visible.sync="dialogVisible2" width="900px">
<div class="kc-mask">
<el-table :data="huoqidata" border max-height="600">
<el-table-column prop="goods_name" label="型号" min-width="20%"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="20%"></el-table-column>
<el-table-column prop="cn_delivery_time" label="大陆交期" min-width="20%"></el-table-column>
<el-table-column prop="hk_delivery_time" label="香港交期" min-width="20%"></el-table-column>
<el-table-column label="修改大陆交期" min-width="20%">
<template slot-scope="scope">
<div class="updatebox">
<el-input v-model="scope.row.dlhq" placeholder="如:2-5工作日"></el-input>
</div>
</template>
</el-table-column>
<el-table-column label="修改香港交期" min-width="20%">
<template slot-scope="scope">
<div class="updatebox">
<el-input v-model="scope.row.hkhq" placeholder="如:2-5工作日"></el-input>
</div>
</template>
</el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible2 = false">取 消</el-button>
<el-button type="primary" @click="submitHq">确 定</el-button>
</span>
</el-dialog>
<!--修改上架有效期弹窗-->
<el-dialog title="修改上架有效期" :close-on-click-modal="false" :visible.sync="dialogVisible3" width="900px">
<div class="kc-mask">
<el-table :data="cpdata" border max-height="600">
<el-table-column prop="goods_name" label="型号" min-width="20%" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="20%" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="goods_status" label="状态" width="80" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.goods_status==1" class="f-green">上架</span>
<span v-else-if="scope.row.goods_status==3">下架</span>
</template>
</el-table-column>
<el-table-column prop="cp_time_temp" label="上架有效期" width="160" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="修改上架有效期" width="160">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.cp_time" type="date" placeholder="选择日期" style="width: 128px" value-format="yyyy-MM-dd" :picker-options="pickerOptions"></el-date-picker>
</template>
</el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible3 = false">取 消</el-button>
<el-button type="primary" @click="submitCp">确 定</el-button>
</span>
</el-dialog>
<!--修改销售价格-->
<el-dialog title="修改销售价格" :close-on-click-modal="false" :visible.sync="dialogVisible4" width="900px">
<div class="kc-mask">
<el-table :data="priceData" border max-height="600" style="margin-bottom: 10px">
<el-table-column label="商品信息" width="100%">
<el-table-column prop="goods_name" label="型号" min-width="20%" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="20%" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="stock" label="库存" min-width="20%" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="moq" label="起订量" min-width="20%" :show-overflow-tooltip="true"></el-table-column>
</el-table-column>
</el-table>
<el-table :data="skuOriginalStepPriceData" border max-height="600">
<el-table-column label="阶梯价格" width="100%">
<el-table-column type="index" label="阶梯" width="50" align="center"></el-table-column>
<el-table-column prop="purchases" label="起订量(必填)" min-width="20%" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="skuOriginalStepPriceData[scope.$index].purchases" @input="handleInput(scope.$index)" placeholder="起订量" onkeyup="if(event.keyCode !=37 &amp;&amp; event.keyCode != 39){if (!/^[\d]+$/ig.test(this.value)){this.value='';}}"></el-input>
</template>
</el-table-column>
<el-table-column prop="price_cn" label="含税成本价(RMB)" min-width="20%" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="skuOriginalStepPriceData[scope.$index].price_cn" placeholder="¥"></el-input>
</template>
</el-table-column>
<el-table-column prop="price_us" label="美金成本价(USD)" min-width="20%" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="skuOriginalStepPriceData[scope.$index].price_us" placeholder="$"></el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="80" align="center">
<template slot-scope="scope">
<template v-if="scope.$index > 0">
<el-button type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</template>
</el-table-column>
</el-table-column>
</el-table>
<i class="el-icon-plus add" @click="addRow" style="color: #409EFF;cursor: pointer;margin-top: 20px;">增加阶梯价</i>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible4 = false">取 消</el-button>
<el-button type="primary" @click="updateSkuOriginalStepPrice">确 定</el-button>
</span>
</el-dialog>
<!--弹窗日志-->
<el-dialog title="现货库存管理日志" :close-on-click-modal="false" :visible.sync="dialogVisibleLog" width="1000px">
<el-table :data="logs" border max-height="600">
<el-table-column prop="create_time" label="时间" min-width="150" align="center"></el-table-column>
<el-table-column prop="message" label="操作说明" min-width="150" align="center">
<template slot-scope="scope">
<span>修改了价格,点击查看 <a style="color: #409EFF" href="javascript:;" @click="handleDetailClick(scope.row.message.pre_data,scope.row.message.current_data)">修改详情</a></span>
</template>
</el-table-column>
<el-table-column prop="operator" label="操作人" min-width="150" align="center"></el-table-column>
</el-table>
</el-dialog>
<!--弹窗日志详情-->
<el-dialog title="修改详情" :close-on-click-modal="false" :visible.sync="dialogVisibleLogDetail" width="1000px" @close="closeBothDialogs">
<div class="row verCenter bothSide">
<div style="width:470px">
<el-table :data="message.pre_data" border max-height="600">
<el-table-column label="修改前" width="100%">
<el-table-column label="阶梯" type="index" align="center" width="50"></el-table-column>
<el-table-column prop="purchases" label="起订量" align="center"></el-table-column>
<el-table-column prop="price_cn" label="含税成本价(RMB)" align="center"></el-table-column>
<el-table-column prop="price_us" label="美金成本价(USD)" align="center"></el-table-column>
</el-table-column>
</el-table>
</div>
<div style="width:470px">
<el-table :data="message.current_data" border max-height="600">
<el-table-column label="修改后" width="100%">
<el-table-column label="阶梯" type="index" align="center" width="50"></el-table-column>
<el-table-column prop="purchases" label="起订量" align="center"></el-table-column>
<el-table-column prop="price_cn" label="含税成本价(RMB)" align="center"></el-table-column>
<el-table-column prop="price_us" label="美金成本价(USD)" align="center"></el-table-column>
</el-table-column>
</el-table>
</div>
</div>
</el-dialog>
<!--批量修改-->
<el-dialog title="批量修改" :close-on-click-modal="false" :visible.sync="dialogVisibleBatchModify" width="500px">
<el-upload drag :action="uploadUrl" :headers="uploadHeaders" :on-success="handleUploadSuccess" :on-error="handleUploadError" accept=".csv" :show-file-list="false">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">
<el-link type="primary" href="/批量修改.csv" :underline="false">下载模板</el-link>
</div>
</el-upload>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleBatchModify = false">取 消</el-button>
<el-button type="primary" @click="">确 定</el-button>
</span>
</el-dialog>
<!--寄售召回-->
<el-dialog title="寄售召回" :close-on-click-modal="false" :visible.sync="dialogVisibleConsignmentRecall" width="900px">
<div class="kc-mask">
<el-table :data="consignmentRecallData" border max-height="600">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="goods_name" label="型号" min-width="25%"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="25%"></el-table-column>
<el-table-column prop="stock" label="可用库存数量" min-width="25%"></el-table-column>
<el-table-column label="申请召回数量" min-width="25%">
<template slot-scope="scope">
<el-input v-model="scope.row.recall_num" placeholder="申请召回数量" @input="validateInput(scope.row)" onkeyup="if(event.keyCode !=37 &amp;&amp; event.keyCode != 39){if (!/^[\d]+$/ig.test(this.value)){this.value='';}}"></el-input>
</template>
</el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleConsignmentRecall = false">取 消</el-button>
<el-button type="primary" @click="addConsignmentRecallFromStock">确 定</el-button>
</span>
</el-dialog>
<Menu/>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Dialog, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip, Upload} from 'element-ui'
import Util from "@/tool";
import {NODE_ENVS} from "@/ajax";
Vue.prototype.$message = Message
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Tag).use(Link)
Vue.use(DatePicker).use(Upload).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Popover)
export default {
name: "consignmentInventory",
data() {
return {
total: 0,
limit: 10,
page: 1,
dialogVisible: false,//库存弹窗
dialogVisible2: false,//交期弹窗
dialogVisible3: false,//上架有效期
dialogVisible4: false,//修改价格
dialogVisibleLog: false,//日志
dialogVisibleLogDetail: false,//日志详情
dialogVisibleBatchModify: false,//批量修改
dialogVisibleConsignmentRecall: false,//寄售召回
consignmentRecallData: [],//寄售召回数据
logs: [],
downHref: "",
cp_time_val: '',
formParam: {
goods_name: '',
status: '',
brand_name: '',
date: '',
cp_time: '',
source: ''
},
multipleSelection: [],
selectData: [],
huoqidata: [],//修改交期数据
kucundata: [],//修改库存数据
cpdata: [],//上架有效期数据
priceData: [],//修改价格数据
message: {},
skuOriginalStepPriceData: [],
goods_id: '',
stock: 0,
tableData: [],
brandList: [],
disabled: false,
timer: null,
skuStatistics: {},//统计数据
skuRankList: {},//sku的型号统计排名列表
pickerOptions: {
disabledDate: this.disabledDate
},
uploadUrl: NODE_ENVS + '/api/sku/batchUpdateSku',
uploadHeaders: {
'Authorization': 'Bearer ' + Util.getCookie('token')
}
};
},
created() {
this.getData();
this.getSkuRankList();
},
methods: {
/**
* 查看日志
* @param row
*/
handleClick(row) {
this.getLogs(507, row.goods_id);
},
/**
* 查看日志详情
* @param row
*/
handleDetailClick(pre_data, current_data) {
var data = Object.assign({}, {
pre_data: pre_data,
current_data: current_data
});
this.dialogVisibleLogDetail = true;
this.message = data;
},
/**
* 获取日志
* @param obj_type
* @param obj_id
*/
getLogs(obj_type, obj_id) {
this.$http('GET', "/api/log/getLogs", {
obj_type: obj_type,
obj_id: obj_id
}).then(res => {
if (res.code === 0) {
this.dialogVisibleLog = true;
this.logs = res.data.list;
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
});
},
/**
* 关闭弹窗
*/
closeBothDialogs() {
this.dialogVisibleLog = false;
this.dialogVisibleLogDetail = false;
},
/**
* 修改价格删除
* @param index
* @param row
*/
handleDelete(index, row) {
this.skuOriginalStepPriceData.splice(index, 1);
},
/**
* 监听起订量
*/
handleInput(index) {
var val = Number(this.skuOriginalStepPriceData[index].purchases) || 0;
var max = Number(this.stock) || 0;
if (val > max) {
this.$set(this.skuOriginalStepPriceData[index], 'purchases', max);
}
},
/**
* 获取数据
*/
getData() {
//格式化时间
if (this.cp_time_val) {
this.formParam.cp_time = this.cp_time_val[0] + '~' + this.cp_time_val[1];
} else {
this.formParam.cp_time = '';
}
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit, source: 12}, {action_time: this.formParam.date ? this.formParam.date[0] : ''}, {end_time: this.formParam.date ? this.formParam.date[1] : ''})
this.$http('GET', "/api/sku/list", params).then(res => {
if (res.code === 0) {
this.tableData = res.data.list || [];
this.total = Number(res.data.count) || 0;
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
},
/**
* 获取sku的型号统计排名列表
*/
getSkuRankList() {
this.$http('GET', "/api/sku/getSkuRankList", {}).then(res => {
if (res.code === 0) {
this.skuRankList = res.data.rankList;
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
},
/**
* 型号
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 品牌
* @param queryString
* @param cb
*/
querySearchAsyncBrand(queryString, cb) {
this.$http('get', "/api/brand/get_stand_brand", {
brand: queryString
}).then(res => {
if (res.code == 0) {
if (res.data.list.length > 0) {
var arrlist_ = res.data.list || [];
var arr_ = []
for (var i = 0; i < arrlist_.length; i++) {
arr_.push({
value: arrlist_[i]
})
}
cb(arr_);
} else {
cb([]);
}
}
})
},
downOut() {
if (this.disabled) {
this.$message({
message: '正在导出中,请不要重复点击',
type: 'warning'
});
return
}
this.$http('get', "/api/sku/exportSku", {
page: this.page,
limit: this.limit,
goods_name: this.formParam.goods_name,
status: this.formParam.status,
brand_id: this.formParam.brand_id,
brand_name: this.formParam.brand_name,
action_time: this.formParam.date[0],
end_time: this.formParam.date[1],
source: 12
}).then(res => {
if (res.code == 0) {
this.disabled = true
this.$message({
message: '正在导出中,请耐心等待',
type: 'success'
});
this.timer = setInterval(() => {
if (!this.disabled) {
clearInterval(this.timer)
return
}
this.resultDown(res.data)
}, 3000)
}
})
},
resultDown(id_) {
this.$http('get', "/api/export/get_export_data", {
id: id_
}).then(res => {
if (res.code == 0) {
this.disabled = false;
this.$message({
message: '导出成功',
type: 'success'
});
this.downHref = res.data;
const newsUrl = this.$router.resolve(res.data);
window.open(res.data);
} else if (res.code == -1) {
//导出失败
this.$message({
message: '导出失败',
type: 'warning'
});
this.disabled = false;
}
}, error => {
this.$message('网络出现问题,请检查网络');
this.disabled = false
})
},
resetForm(formName) {
this.formParam.date = '';
this.cp_time_val = '';
this.$refs[formName].resetFields();
this.formParam.status = '';
},
onSubmit() {
this.page = 1;
this.getData();
},
handleSizeChange(val) {
this.limit = val;
this.getData();
},
handleCurrentChange(val) {
this.page = val;
this.getData();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
disabledDate(date) {
var maxDate = new Date(); // 设置最大日期
var minDate = new Date(); // 设置最小日期
var cp_time_day = localStorage.getItem('cp_time_day');
if (cp_time_day == -1) {
// “无限制”,则修改上架有效期默认为:2035-01-01
var maxDate = new Date('2035-01-01');
} else {
var maxDate = new Date(new Date().getTime() + cp_time_day * 24 * 60 * 60 * 1000);
}
return date > maxDate || date < minDate; // 返回 true 禁用日期,返回 false 启用日期
},
/**
*
* @param date 时间类型
* @param type 是否加30天
* @returns {string}
*/
getTimes(date, type) {
if (type) {
var cp_time_day = localStorage.getItem('cp_time_day');
if (cp_time_day == -1) {
// “无限制”,则修改上架有效期默认为:2035-01-01
var date = new Date('2035-01-01');
} else {
var date = new Date(new Date().getTime() + cp_time_day * 24 * 60 * 60 * 1000);
}
} else {
var date = new Date(date);
}
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
var second = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
month >= 1 && month <= 9 ? (month = '0' + month) : '';
day >= 0 && day <= 9 ? (day = '0' + day) : '';
var timer = year + '-' + month + '-' + day + ' ' + 0 + ':' + 0 + ':' + 0;
return timer;
},
/**
* 统计查看
* @param val
*/
showChange(row) {
this.$http('GET', "/api/sku/getSkuStatistics", {
goods_name: row.goods_name,
brand_name: row.brand_name
}).then(res => {
if (res.code == 0) {
this.skuStatistics = res.data.statisticsData;
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
},
/**
* 修改按钮
* @param command
*/
handleCommand(command) {
if (this.multipleSelection.length == 0) {
this.$message({
message: '请至少选择一条数据',
type: 'warning'
});
return;
}
// 修改价格时检查是否只选择了一条数据
if (command == 4 && this.multipleSelection.length > 1) {
this.$message({
message: '只能选择一条数据',
type: 'warning'
});
return;
}
this.selectData = JSON.parse(JSON.stringify(this.multipleSelection));
if (command == 1) {
//修改库存弹窗
this.dialogVisible = true;
this.kucundata = this.selectData;
} else if (command == 2) {
//修改货期弹窗
this.dialogVisible2 = true;
this.huoqidata = this.selectData;
} else if (command == 3) {
//修改上架有效期
this.dialogVisible3 = true;
let currentTime = new Date().getTime();//当前日期毫秒
for (let i = 0; i < this.selectData.length; i++) {
this.selectData[i].cp_time_temp = this.selectData[i].cp_time;
var time = Date.parse(this.selectData[i].cp_time);//上架有效期
if (time > currentTime) {
//上架有效期大于当前日期
this.selectData[i].cp_time = this.getTimes(this.selectData[i].cp_time, true);
} else {
//上架有效期小于等于当前日期
this.selectData[i].cp_time = this.getTimes(new Date(), true);
}
}
this.cpdata = this.selectData;
} else if (command == 4) {
//修改价格
this.dialogVisible4 = true;
this.priceData = this.selectData;
this.getSkuOriginalStepPrice(this.selectData[0].goods_id);
this.stock = this.selectData[0].stock;
}
},
/**
* 增加阶梯价
*/
addRow() {
if (this.skuOriginalStepPriceData.length >= 9) {
this.$message({
message: '已超过阶梯限制',
type: 'warning'
});
return false;
}
this.skuOriginalStepPriceData.push({
cost_price: '',
price_cn: '',
price_us: '',
purchases: ''
})
},
/**
* 修改阶梯价格
*/
updateSkuOriginalStepPrice() {
var isPurchasesValid = Util.isPurchasesValid(this.skuOriginalStepPriceData);
if (!isPurchasesValid) {
this.$message({
message: '修改价格时格式填写错误,起订量不能低于最小起订量,不能高于库存;并且需要填写对应价格;',
type: 'warning'
});
} else {
this.$http('GET', "/api/sku/updateSkuOriginalStepPrice", {goods_id: this.goods_id, original_price: JSON.stringify(this.skuOriginalStepPriceData)}).then(res => {
if (res.code == 0) {
this.$message({
message: '操作成功',
type: 'success'
});
setTimeout(() => {
this.dialogVisible4 = false;
this.getData();
}, 2000)
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
}
},
/**
* 获取sku阶梯价格
*/
getSkuOriginalStepPrice(goods_id) {
this.$http('GET', "/api/sku/getSkuOriginalStepPrice", {goods_id: goods_id}).then(res => {
if (res.code == 0) {
this.skuOriginalStepPriceData = res.data.data;
this.goods_id = goods_id;
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
},
/**
* 修改上架有效期
*/
submitCp() {
var arr_ = {}
for (var i = 0; i < this.cpdata.length; i++) {
arr_[this.cpdata[i]['goods_id']] = {}
if (this.cpdata[i]['cp_time'] && this.cpdata[i]['cp_time'] != 'undefined') {
arr_[this.cpdata[i]['goods_id']].cp_time = this.cpdata[i]['cp_time']
}
}
this.$http('post', "/api/sku/updateSku", arr_).then(res => {
if (res.code == 0) {
this.$message({
message: '修改成功',
type: 'success'
});
this.getData();
this.dialogVisible3 = false;
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
},
/**
* 修改交期提交
*/
submitHq() {
var arr_ = {}
for (var i = 0; i < this.huoqidata.length; i++) {
arr_[this.huoqidata[i]['goods_id']] = {}
if (this.huoqidata[i]['dlhq'] && this.huoqidata[i]['dlhq'] != 'undefined') {
arr_[this.huoqidata[i]['goods_id']].cn_delivery_time = this.huoqidata[i]['dlhq']
}
if (this.huoqidata[i]['hkhq'] && this.huoqidata[i]['hkhq'] != 'undefined') {
arr_[this.huoqidata[i]['goods_id']].hk_delivery_time = this.huoqidata[i]['hkhq']
}
}
this.$http('post', "/api/sku/updateSku", arr_).then(res => {
if (res.code == 0) {
this.$message("修改成功");
this.getData()
this.dialogVisible2 = false
} else {
this.$message(res.msg);
}
})
},
/**
* 修改库存提交
*/
submitKc() {
// 使用reduce将库存数据转换为对象
const stockUpdates = this.kucundata.reduce((acc, item) => ({
...acc,
[item.goods_id]: {stock: item.updateStock}
}), {});
this.$http('post', "/api/sku/updateSku", stockUpdates)
.then(res => {
if (res.code === 0) {
this.$message({
message: '修改成功',
type: 'success'
});
this.getData();
this.dialogVisible = false;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
});
},
/**
* 上下架
* @param status
*/
changeStatus(status) {
var time_arr = [];//过滤出上架有效期时间数组
var sku_ids = [];//过滤出sku_ids数组
if (this.multipleSelection.length == 0) {
this.$message({
message: '请至少选择一条数据',
type: 'warning'
});
return;
}
if (status == 1) {
var time = new Date();//当前时间
time_arr = this.multipleSelection.map(obj => {
return obj.cp_time;
});
var times = time_arr.filter((item) => {
if (new Date(item) < time) {
return item;
}
});
if (times.length > 0) {
this.$message({
message: '您勾选的数据中,有型号的“上架有效期”低于当前的日期,请先维护上架有效期;',
type: 'warning'
});
return;
}
}
sku_ids = this.multipleSelection.map(obj => {
return obj.goods_id;
});
this.$http('post', "/api/sku/updateSkuStatus", {sku_ids: sku_ids.join(","), status: status == 1 ? 'passed' : 'offshelf'}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success'
});
this.getData()
} else {
this.$message({
message: res.msg,
type: 'warning'
});
}
})
},
/**
* 弹窗事件
*/
popupEvent(type) {
switch (type) {
case 1:
this.dialogVisibleBatchModify = true;
break;
case 2:
if (!this.multipleSelection.length) {
this.$message.warning('请选择数据');
return;
}
var html = `
<p style="font-size: 14px;">确定将选择的商品提交寄售补货申请?</p>
<p style="font-size: 14px;color: #FF7E11">确认后请到【寄售申请】菜单编辑申请寄售数量,并提交审核</p>
`
this.$confirm(html, '寄售补货', {
confirmButtonText: '确定',
cancelButtonText: '取消',
dangerouslyUseHTMLString: true
}).then(() => {
let sku_ids = this.multipleSelection.map(item => item.goods_id).join(',');
this.$http('POST', "/api/consignmentReplenishment/addConsignmentReplenishment", {sku_ids: sku_ids}).then(res => {
if (res.code === 0) {
this.$message({
message: res.msg,
type: 'success',
onClose: () => {
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
}).catch(() => {
// 取消时不需要提示
});
break;
case 3:
if (!this.multipleSelection.length) {
this.$message.warning('请选择数据');
return;
}
this.consignmentRecallData = this.multipleSelection.map(item => {
return {
sku_id: item.goods_id,
goods_name: item.goods_name,
brand_name: item.brand_name,
stock: item.stock,
date_code: item.batch_sn,//批次
recall_num: item.stock
}
});
this.dialogVisibleConsignmentRecall = true;
break;
}
},
/**
* 上传成功
* @param res
* @param file
* @param fileList
*/
handleUploadSuccess(res, file, fileList) {
if (res.code === 0) {
this.$message({
message: res.msg,
type: 'success',
onClose: () => {
this.dialogVisibleBatchModify = false;
}
});
} else {
this.$message.error(res.msg || '上传失败');
}
},
/**
* 上传失败
* @param err
* @param file
* @param fileList
*/
handleUploadError(err, file, fileList) {
this.$message.error('上传失败,请重试');
},
/**
* 输入验证
* @param row
*/
validateInput(row) {
// 转换为数字进行比较
let inputValue = Number(row.recall_num) || 0;
let stockValue = Number(row.stock) || 0;
// 如果输入值大于库存,则设置为库存值
if (inputValue > stockValue) {
row.recall_num = stockValue;
this.$message({
message: '申请召回数量不能大于可用库存数量',
type: 'warning'
});
}
},
/**
* 寄售库存-新增寄售召回单
*/
addConsignmentRecallFromStock() {
// 检查是否有空的召回数量
const hasEmptyRecallNum = this.consignmentRecallData.some(item => !item.recall_num);
if (hasEmptyRecallNum) {
this.$message({
message: '请填写申请召回数量',
type: 'warning'
});
return;
}
this.$http('POST', "/api/consignmentRecall/addConsignmentRecallFromStock", {
recall_json: JSON.stringify(this.consignmentRecallData)
}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisibleConsignmentRecall = false;
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
}
},
components: {
Menu
}
};
</script>
<style scoped>
@import "../../assets/css/store/list.min.css";
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="96px">
<el-form-item label="寄售召回单号" prop="recall_sn">
<el-input v-model="formParam.recall_sn" placeholder="请输入寄售召回单号" @keyup.enter.native="submit" clearable></el-input>
</el-form-item>
<el-form-item label="型号" prop="goods_name">
<el-autocomplete v-model="formParam.goods_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="formParam.recall_status" placeholder="全部" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="待提审" value="0"></el-option>
<el-option label="待审核" value="1"></el-option>
<el-option label="待退货出库" value="2"></el-option>
<el-option label="完成" value="3"></el-option>
<el-option label="作废" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<el-button type="primary" @click="$router.push('/batchRecall')">批量召回</el-button>
<el-button type="primary" @click="popupEvent(1)">提交审核</el-button>
<el-button type="primary" @click="popupEvent(2)">作废</el-button>
<el-button type="danger" @click="popupEvent(3)"> 收货信息</el-button>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" fixed></el-table-column>
<el-table-column prop="msg_sn" label="寄售召回单号" :show-overflow-tooltip="true" align="center">
<template slot-scope="scope">
<el-link type="primary" :underline="false" @click="$router.push({path: '/consignmentRecallDetail', query: {recall_id: scope.row.recall_id}})" style="font-size: 12px;">{{ scope.row.recall_sn }}</el-link>
</template>
</el-table-column>
<el-table-column prop="recall_status_val" label="订单状态" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="order_uname" label="订单人员" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="verify_name" label="审核人" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="verify_time" label="审核时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="verify_remark" label="审核说明" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_uname" label="创建人" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="create_time" label="创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
<!--提交审核-->
<el-dialog title="提交审核" :close-on-click-modal="false" :visible.sync="dialogVisible_1" width="500px">
<p style="margin-bottom: 15px;margin-left: 80px;">确定将选择的商品提交寄售召回审核?</p>
<el-form ref="form" label-width="80px">
<el-form-item label="附加说明">
<el-input type="textarea" v-model="remark"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_1 = false">取 消</el-button>
<el-button type="primary" @click="verifyConsignmentRecall">确 定</el-button>
</div>
</el-dialog>
<!--作废-->
<el-dialog title="作废" :close-on-click-modal="false" :visible.sync="dialogVisible_2" width="500px">
<p style="margin-bottom: 15px;margin-left: 80px;">确定将选择的寄售召回单作废?</p>
<el-form ref="form" label-width="80px">
<el-form-item label="原因说明">
<el-input type="textarea" v-model="remark"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_2 = false">取 消</el-button>
<el-button type="primary" @click="cancelConsignmentRecall">确 定</el-button>
</div>
</el-dialog>
<!--收货信息-->
<el-dialog title="收货信息" :close-on-click-modal="false" :visible.sync="dialogVisible_3" width="500px">
<el-form :model="updateConsignmentRecallReceiptInfoParams" label-width="80px" size="mini" :rules="rules" ref="updateConsignmentRecallReceiptInfoParams">
<el-form-item label="收货人" prop="contact">
<el-input v-model="updateConsignmentRecallReceiptInfoParams.contact" placeholder="请输入收货人"></el-input>
</el-form-item>
<el-form-item label="收货电话" prop="mobile">
<el-input v-model="updateConsignmentRecallReceiptInfoParams.mobile" placeholder="请输入收货电话"></el-input>
</el-form-item>
<el-form-item label="收货地址" prop="province">
<el-cascader size="mini" placeholder="请选择收货地址省市区" :options="options" v-model="selectedOptions" @change="handleChange" style="width: 100%" :props="{ checkStrictly: false }"></el-cascader>
</el-form-item>
<el-form-item prop="detail">
<el-input type="textarea" v-model="updateConsignmentRecallReceiptInfoParams.detail" placeholder="请输入详细地址"></el-input>
</el-form-item>
<el-form-item size="mini" style="text-align: right">
<el-button @click="dialogVisible_3 = false">取消</el-button>
<el-button type="primary" @click="updateConsignmentRecallReceiptInfo('updateConsignmentRecallReceiptInfoParams')">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, Cascader, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
import {pcaTextArr} from 'element-china-area-data'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Cascader).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "consignmentRecall",
data() {
return {
options: pcaTextArr,
selectedOptions: ['广东省', '深圳市', '龙岗区'],
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
dialogVisible_1: false,
dialogVisible_2: false,
dialogVisible_3: false,
recall_ids: '',
remark: '',
rules: {
contact: [
{required: true, message: '请输入收货人', trigger: 'blur'},
],
mobile: [
{required: true, message: '请输入收货电话', trigger: 'blur'},
],
province: [
{required: true, message: '请选择收货地址', trigger: 'change'},
],
detail: [
{required: true, message: '请输入详细地址', trigger: 'blur'},
]
},
updateConsignmentRecallReceiptInfoParams: {
contact: '',//收货人
mobile: '',//收货电话
country: '中国',//国家
province: '',//省
city: '',//市
district: '',//区
detail: ''//详细地址
},
formParam: {
recall_sn: '',
goods_name: '',
recall_status: ''
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit});
this.$http('GET', "/api/consignmentRecall/getConsignmentRecallList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message.error(res.msg);
}
})
},
/**
* 省市区级联选择监听
* @param value
*/
handleChange(value) {
if (value && value.length) {
this.updateConsignmentRecallReceiptInfoParams.province = value[0];//省
this.updateConsignmentRecallReceiptInfoParams.city = value[1];//市
this.updateConsignmentRecallReceiptInfoParams.district = value[2];//区
} else {
this.updateConsignmentRecallReceiptInfoParams.province = '';
this.updateConsignmentRecallReceiptInfoParams.city = '';
this.updateConsignmentRecallReceiptInfoParams.district = '';
}
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/**
* 弹窗事件
*/
popupEvent(type) {
if (type == 1 || type == 2) {
if (!this.multipleSelection.length) {
this.$message.warning('请选择数据');
return;
}
}
switch (type) {
case 1:
// 提交审核:校验待提审状态
const invalidVerify = this.multipleSelection.filter(item => item.recall_status !== '0');
if (invalidVerify.length) {
this.$message.warning('只能选择待提审状态的数据');
return;
}
this.recall_ids = this.multipleSelection.map(item => item.recall_id).join(',');
this.dialogVisible_1 = true;
break;
case 2:
// 作废:待提审、待退货出库状态可作废
const invalidCancel = this.multipleSelection.filter(item => !(['0', '2'].includes(item.recall_status)));
if (invalidCancel.length) {
this.$message.warning('待提审、待退货出库状态才可作废');
return;
}
this.recall_ids = this.multipleSelection.map(item => item.recall_id).join(',');
this.dialogVisible_2 = true;
break;
case 3:
this.getConsignmentRecallReceiptInfo();
this.dialogVisible_3 = true;
break;
}
},
/**
* 提交审核
*/
verifyConsignmentRecall() {
this.$http('POST', "/api/consignmentRecall/verifyConsignmentRecall", {recall_ids: this.recall_ids, remark: this.remark}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_1 = false;
this.remark = '';
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
},
/**
* 作废
*/
cancelConsignmentRecall() {
this.$http('POST', "/api/consignmentRecall/cancelConsignmentRecall", {recall_ids: this.recall_ids, cancel_remark: this.remark}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_2 = false;
this.remark = '';
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
},
/**
* 寄售召回-获取收货地址
*/
getConsignmentRecallReceiptInfo() {
this.$http('GET', "/api/consignmentRecall/getConsignmentRecallReceiptInfo", {}).then(res => {
if (res.code === 0) {
this.updateConsignmentRecallReceiptInfoParams = res.data;
}
})
},
/**
* 寄售召回-修改收货地址
*/
updateConsignmentRecallReceiptInfo(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$http('POST', "/api/consignmentRecall/updateConsignmentRecallReceiptInfo", this.updateConsignmentRecallReceiptInfoParams).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.dialogVisible_3 = false;
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
} else {
console.log('error submit!!');
return false;
}
});
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!-- 详情信息区 -->
<el-descriptions :column="4" border style="margin-bottom: 15px; width: 1200px;">
<el-descriptions-item label="寄售召回单号">
<span style="font-weight: bold">{{ detailData.recall_sn }}{{ detailData.recall_status_val }}</span>
</el-descriptions-item>
<el-descriptions-item label="订单人员:">{{ detailData.order_uname }}</el-descriptions-item>
<el-descriptions-item label="收货人:">{{ (detailData.supplier_address && detailData.supplier_address.contact) || '-' }}</el-descriptions-item>
<el-descriptions-item label="收货人电话:">{{ (detailData.supplier_address && detailData.supplier_address.mobile) || '-' }}</el-descriptions-item>
<el-descriptions-item label="收货地址:" :span="2">{{ (detailData.supplier_address && detailData.supplier_address.info) || '-' }}</el-descriptions-item>
</el-descriptions>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="recall_item_id" label="明细ID" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="sku_id" label="SKUID" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="goods_name" label="型号" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="品牌" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="recall_num" label="申请召回数量" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="stock_out_num" label="退货出库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="date_code" label="批次" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, Col, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Row, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider).use(Row).use(Col);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "consignmentRecallDetail",
data() {
return {
multipleSelection: [],
recall_id: '',
detailData: {},
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
status: '',
date: ''
}
};
},
created() {
this.recall_id = this.$route.query.recall_id;
this.getData()
},
methods: {
getData() {
this.$http('GET', "/api/consignmentRecall/getConsignmentRecallDetail", {recall_id: this.recall_id, page: this.page, limit: this.limit}).then(res => {
if (res.code === 0) {
this.detailData = res.data;
this.list = res.data.items.list;
this.total = res.data.items.total || 0;
} else {
this.$message.error(res.msg);
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="80px">
<el-form-item label="型号" prop="goods_name">
<el-autocomplete v-model="formParam.goods_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="SKUID" prop="sku_id">
<el-input v-model="formParam.sku_id" placeholder="请输入SKUID" @keyup.enter.native="submit" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!--操作区-->
<div class="operation-area row verCenter bothSide">
<div class="operation-button row verCenter">
<el-button type="primary" @click="addConsignmentReplenishment">补货</el-button>
</div>
<div class="text-tip row verCenter">
<i class="el-icon-warning"></i>
<span>该页面展示的数据为:“库存数量”+“在途库存”<“安全库存”的寄售商品,可在该页面发起补货</span>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" fixed></el-table-column>
<el-table-column prop="sku_id" label="SKUID" min-width="250" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="goods_name" label="型号" min-width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="stock" label="库存数量" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="in_transit_stock" label="在途库存" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="consignment_safe_stock" label="安全库存" width="200" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "consignmentReplenishment",
data() {
return {
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
sku_id: '',
goods_name: ''
}
};
},
created() {
this.getData()
},
methods: {
getData() {
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit});
this.$http('GET', "/api/consignmentReplenishment/getConsignmentReplenishmentList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.formParam.date = '';
this.$refs[formName].resetFields();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/**
* 提交补货申请
*/
addConsignmentReplenishment() {
if (!this.multipleSelection.length) {
this.$message.warning('请选择数据');
return;
}
let sku_ids = this.multipleSelection.map(item => item.sku_id).join(',');
this.$http('POST', "/api/consignmentReplenishment/addConsignmentReplenishment", {sku_ids: sku_ids}).then(res => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose: () => {
this.getData();
}
});
} else {
this.$message.error(res.msg || '操作失败');
}
})
}
},
components: {
Menu
}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="pagex">
<div class="section-page">
<!--搜索区-->
<el-form :inline="true" :model="formParam" ref="formParam" label-width="80px">
<el-form-item label="型号" prop="goods_name">
<el-autocomplete v-model="formParam.goods_name" :trigger-on-focus="false" @keyup.enter.native="onSubmit" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" clearable></el-autocomplete>
</el-form-item>
<el-form-item label="类型" prop="types">
<el-select v-model="formParam.types" placeholder="全部" clearable multiple>
<el-option label="全部" value=""></el-option>
<el-option label="寄售入库" value="1"></el-option>
<el-option label="寄售退货入库" value="2"></el-option>
<el-option label="寄售出库" value="3"></el-option>
<el-option label="寄售召回出库" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
<el-button @click="resetForm('formParam')">重置</el-button>
</el-form-item>
</el-form>
<!-- 日期筛选-->
<div class="time-filter row verCenter bothSide">
<div></div>
<div class="filter-btns" style="text-align: right;">
<el-radio-group v-model="activeTimeBtn" @change="handleTimeFilter">
<el-radio-button :label="3">近3天</el-radio-button>
<el-radio-button :label="7">近7天</el-radio-button>
<el-radio-button :label="15">近15天</el-radio-button>
<el-radio-button :label="30">近30天</el-radio-button>
</el-radio-group>
</div>
</div>
<!--列表区-->
<div class="data-box">
<el-table :data="list" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="50" align="center" fixed></el-table-column>
<el-table-column prop="goods_name" label="型号" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="brand_name" label="标准品牌" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="wms_sn" label="单号" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="type_val" label="类型" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="stock_num" label="数量" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="warehouse_name" label="仓库" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="date_code" label="D/C" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="supplier_name" label="供应商" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="log_time" label="出入库时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</div>
</div>
<Menu></Menu>
</div>
</template>
<script>
import Vue from 'vue';
import Menu from "@/components/menu.vue";
import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Link, Message, MessageBox, Option, Pagination, Popover, RadioButton, RadioGroup, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui'
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm;
Vue.use(Button).use(Link).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider).use(RadioGroup).use(RadioButton);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem);
export default {
name: "inOutStockLog",
data() {
return {
multipleSelection: [],
total: 0,
page: 1,
limit: 10,
list: [],
formParam: {
goods_name: '',
types: [],
start_time: '',
end_time: ''
},
activeTimeBtn: 7
};
},
created() {
this.handleTimeFilter(7);
},
methods: {
getData() {
const params = {
...this.formParam,
page: this.page,
limit: this.limit,
types: this.formParam.types?.join(',') || ''
};
this.$http('GET', "/api/consignmentWmsLog/getConsignmentWmsLogList", params).then(res => {
if (res.code === 0) {
this.list = res.data.list || [];
this.total = Number(res.data.total) || 0;
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
},
/**
* 型号监听
* @param queryString
* @param cb
*/
querySearchAsync(queryString, cb) {
if (!queryString) {
cb([]);
return;
}
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => {
if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({
value: item.spu_name
}));
cb(arr);
} else {
cb([]);
}
}).catch(() => {
cb([]);
});
},
/**
* 搜索
*/
onSubmit() {
this.page = 1;
this.getData();
},
/**
* 重置表单
* @param formName
*/
resetForm(formName) {
this.activeTimeBtn = '';
this.formParam.start_time = '';
this.formParam.end_time = '';
this.$refs[formName].resetFields();
this.getData();
},
/**
* 列表分页条数筛选监听
* @param val
*/
handleSizeChange(val) {
this.limit = val;
this.getData();
},
/**
* 列表分页输入页码监听
* @param val
*/
handleCurrentChange(val) {
this.page = val;
this.getData();
},
/**
* chebox 选择监听
* @param val
*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/**
* 添加时间筛选处理方法
*/
handleTimeFilter() {
const days = this.activeTimeBtn;
// 计算开始时间和结束时间
const end = new Date();
const start = new Date();
start.setDate(start.getDate() - days);
// 格式化日期
this.formParam.start_time = this.formatDate(start);
this.formParam.end_time = this.formatDate(end);
// 重新获取数据
this.page = 1;
this.getData();
},
/**
* 格式化日期的辅助方法
* @param date
*/
formatDate(date) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
},
components: {
Menu
}
};
</script>
<style scoped>
.time-filter {
margin: 15px 0;
}
.filter-btns .el-radio-group {
margin-left: 0px !important;
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment