Browse Source

Merge branch 'sit'

xiaodai2022 2 years ago
parent
commit
ab697611f3
100 changed files with 1906 additions and 2348 deletions
  1. 10 0
      dist/static/js/0.js
  2. 10 0
      dist/static/js/app.js
  3. 124 0
      dist/static/js/chunk-libs.js
  4. 3 0
      scripts/page/addEditPage.js
  5. 14 10
      src/assets/css/common.scss
  6. 2 10
      src/assets/css/index.scss
  7. 2 2
      src/assets/css/scss/index.scss
  8. 22 12
      src/assets/js/statusList.js
  9. 8 5
      src/layout/components/AppMain.vue
  10. 333 224
      src/styles/index.scss
  11. 1 3
      src/styles/sidebar.scss
  12. 94 96
      src/views/bigScreen/datavScr/index.vue
  13. 3 3
      src/views/dataCorrection/cgMessage/index.vue
  14. 58 55
      src/views/goodStore/active/components/baseForm.vue
  15. 7 5
      src/views/goodStore/active/components/edit-minorder-form.vue
  16. 36 34
      src/views/goodStore/active/components/finance-exam-one-form.vue
  17. 29 27
      src/views/goodStore/active/components/finance-exam-two-form.vue
  18. 8 6
      src/views/goodStore/active/components/set-active-price-form.vue
  19. 25 23
      src/views/goodStore/brand/addEdit.vue
  20. 42 38
      src/views/goodStore/dealGoodsPool/addEdit.vue
  21. 27 25
      src/views/goodStore/goldPrice/components/addEdit.vue
  22. 43 39
      src/views/goodStore/goodsCost/components/addEdit.vue
  23. 120 119
      src/views/goodStore/goodsCost/components/baseForm.vue
  24. 49 45
      src/views/goodStore/goodsOnline/add.vue
  25. 125 124
      src/views/goodStore/goodsOnline/components/fixed-price-form.vue
  26. 25 23
      src/views/goodStore/sort/addEdit.vue
  27. 22 20
      src/views/goodStore/sort/addEditRate.vue
  28. 25 25
      src/views/goodStore/specs/addEdit.vue
  29. 26 26
      src/views/goodStore/unit/addEdit.vue
  30. 68 66
      src/views/interest/account/addEdit.vue
  31. 20 19
      src/views/interest/account/resetPassword.vue
  32. 50 48
      src/views/interest/dataShare/addEdit.vue
  33. 29 28
      src/views/interest/group/addEdit.vue
  34. 4 0
      src/views/interest/handover/components/addEditForm.vue
  35. 6 2
      src/views/interest/role/addEdit.vue
  36. 3 0
      src/views/orderEntry/orderConfirm/index.vue
  37. 4 1
      src/views/person-infor/my-message.vue
  38. 3 0
      src/views/purchaseIn/purchaseDiffOrder/addEditModel.vue
  39. 0 6
      src/views/purchaseIn/purchaseDiffOrder/detail.vue
  40. 3 0
      src/views/purchaseIn/purchaseOrder/components/editPrice.vue
  41. 3 0
      src/views/purchaseIn/purchaseOrder/components/order-in-table.vue
  42. 6 2
      src/views/purchaseIn/purchaseOrder/components/tolerance.vue
  43. 3 0
      src/views/purchaseIn/purchaseOrder/components/work-diff-table.vue
  44. 4 6
      src/views/purchaseIn/purchaseOrder/detail.vue
  45. 0 2
      src/views/purchaseIn/purchaseReturn/components/columns.js
  46. 9 10
      src/views/purchaseIn/workbench/components/baseForm.vue
  47. 4 1
      src/views/purchaseIn/wsmInOrder/components/wsm-in-order-check-form.vue
  48. 4 2
      src/views/purchaseIn/wsmInOrder/components/wsm-in-order-model.vue
  49. 4 1
      src/views/purchaseIn/wsmInOrder/components/wsm-in-order-record-form.vue
  50. 4 1
      src/views/purchaseIn/wsmInOrder/components/wsm-in-order-return-form.vue
  51. 9 2
      src/views/reportQuery/financeReport/addEdit.vue
  52. 9 2
      src/views/reportQuery/saleReportOrder/addEdit.vue
  53. 0 444
      src/views/reportQuery/test/components/detail6/main.vue
  54. 0 195
      src/views/reportQuery/test/components/detail8/main.vue
  55. 0 317
      src/views/reportQuery/test/detail.vue
  56. 3 0
      src/views/sellOut/project/components/addForm.vue
  57. 12 1
      src/views/sellOut/project/components/buyGoodModal.vue
  58. 7 2
      src/views/sellOut/project/components/costFormAddEdit.vue
  59. 5 2
      src/views/sellOut/project/components/grossForm.vue
  60. 1 0
      src/views/sellOut/project/components/setPlan.vue
  61. 3 0
      src/views/sellOut/returnOrder/components/auditForm.vue
  62. 3 0
      src/views/sellOut/returnOrder/components/return-record.vue
  63. 2 2
      src/views/sellOut/returnOrder/index.vue
  64. 9 2
      src/views/sellOut/salesOrder/columns.js
  65. 9 3
      src/views/sellOut/salesOrder/components/ShowDataTableColumns.js
  66. 6 7
      src/views/sellOut/salesOrder/components/addEdit.vue
  67. 15 6
      src/views/sellOut/salesOrder/components/addForm.vue
  68. 5 3
      src/views/sellOut/salesOrder/components/order-out-table.vue
  69. 9 2
      src/views/sellOut/salesOrder/components/out-order-add-model.vue
  70. 17 7
      src/views/sellOut/salesOrder/detail.vue
  71. 54 35
      src/views/sellOut/salesOrder/index.vue
  72. 4 1
      src/views/sellOut/salesOrder/setPartial.vue
  73. 3 0
      src/views/sellOut/salesOrder/userAddEdit.vue
  74. 5 2
      src/views/sellOut/sellAfterApply/components/express_feedback.vue
  75. 5 1
      src/views/sellOut/sellAfterApply/components/purchase_exam.vue
  76. 2 2
      src/views/sellOut/sellAfterApply/detail.vue
  77. 1 1
      src/views/sellOut/sellOutOrder/columns.js
  78. 7 2
      src/views/sellOut/sellOutOrder/components/addEditFormA.vue
  79. 12 7
      src/views/sellOut/sellOutOrder/components/addEdit_sellForm.vue
  80. 3 0
      src/views/sellOut/sellOutOrder/components/express_feedback.vue
  81. 6 3
      src/views/sellOut/sellOutOrder/components/logisticsForm.vue
  82. 3 0
      src/views/sellOut/sellOutOrder/components/purchase_check.vue
  83. 5 1
      src/views/sellOut/sellOutOrder/components/returnExpress.vue
  84. 3 0
      src/views/sellOut/sellOutOrder/components/supplier_feedback.vue
  85. 3 0
      src/views/sellOut/sellOutOrder/components/want-deliver.vue
  86. 12 3
      src/views/sellOut/sellOutOrder/detail.vue
  87. 3 14
      src/views/sellOut/sellOutOrder/index.vue
  88. 3 0
      src/views/sellOut/sellReturn/components/addForm.vue
  89. 5 1
      src/views/sellOut/sellReturn/components/addModel.vue
  90. 3 0
      src/views/sellOut/sellReturn/components/comExamForm.vue
  91. 4 13
      src/views/sellOut/sellReturn/detail.vue
  92. 4 1
      src/views/sellOut/stockApply/components/addEdit.vue
  93. 3 0
      src/views/sellOut/stockApply/components/purchaseBack.vue
  94. 9 2
      src/views/sellOut/zixunOrder/components/addEditBargain.vue
  95. 5 2
      src/views/sellOut/zixunOrder/components/addEditForm.vue
  96. 23 14
      src/views/sellOut/zixunOrder/components/addEditGoodModal.vue
  97. 54 51
      src/views/sellOut/zixunOrder/components/buyGoodModal.vue
  98. 3 0
      src/views/sellOut/zixunOrder/components/editForm.vue
  99. 3 0
      src/views/sellOut/zxDiffOrder/components/addForm.vue
  100. 8 1
      src/views/serviceParam/Invoicing/addEdit.vue

File diff suppressed because it is too large
+ 10 - 0
dist/static/js/0.js


File diff suppressed because it is too large
+ 10 - 0
dist/static/js/app.js


File diff suppressed because it is too large
+ 124 - 0
dist/static/js/chunk-libs.js


+ 3 - 0
scripts/page/addEditPage.js

@@ -306,6 +306,9 @@ module.exports = function(inputName,compoenntName) {
       async submitForm() {
         await this.$refs.ruleForm.validate(async (valid) => {
           if (valid) {
+            if (this.loading) {
+              return;
+            }
             this.loading = true;
             const { username, name, mobile, email, role_id, status } = JSON.parse(
               JSON.stringify(this.ruleForm)

+ 14 - 10
src/assets/css/common.scss

@@ -1,3 +1,4 @@
+html,
 body,
 div,
 span,
@@ -50,11 +51,13 @@ li {
   padding: 0;
   list-style: none;
 }
+
 ul {
   list-style-type: none;
   width: auto;
   margin: 0 auto;
 }
+
 li {
   display: block;
 }
@@ -74,20 +77,20 @@ html,
 body {
   height: 100%;
   width: 100%;
-  // position: relative;
-  // padding:0;
-  // margin: 0;
-  // min-height: 100%;
+  background-color: #fff;
 }
-html{
+
+html {
   display: block;
-  head{
+
+  head {
     display: none;
-    padding:0;
+    padding: 0;
     margin: 0;
   }
-  body{
-    display: inline-block;
+
+  body {
+    display: block;
   }
 }
 
@@ -175,6 +178,7 @@ textarea:-ms-input-placeholder {
     }
   }
 }
+
 .shake-flipInY {
   cursor: pointer;
 
@@ -231,4 +235,4 @@ textarea:-ms-input-placeholder {
     transform: perspective(400px) rotateY(0deg);
     opacity: 1;
   }
-}
+}

+ 2 - 10
src/assets/css/index.scss

@@ -8,18 +8,10 @@
   height: 100%;
   width: 100%;
   background-color: #fff;
-  position: relative;
-  width: 100%;
-  min-height: 100%;
-  display: inline-block;
-  box-sizing: border-box;
+ 
 
-  // overflow: hidden;
-}
-.box-home {
-  width: 1196px;
-  margin: 0 auto;
 }
+
 .scale-big {
   &:hover {
     transition: all 0.3s ease-in-out;

+ 2 - 2
src/assets/css/scss/index.scss

@@ -1,8 +1,8 @@
 @import "./base.scss";
 @import "./mixin.scss";
 html,
-body,
-#app {
+body
+ {
   width: 100%;
   height: 100%;
 }

+ 22 - 12
src/assets/js/statusList.js

@@ -4,18 +4,28 @@ const statusList = [
 ];
 const cg_order_type_options = [
   { id: "1", label: "备库单" },
-  { id: "2", label: "线上非库存品" },
-  { id: "3", label: "竞价采反" },
-  { id: "4", label: "项目采反" },
-  { id: "5", label: "平台部线上库存品" },
-  { id: "6", label: "平台部线上非库存品" },
+  { id: "2", label: "非库存品" },
+  { id: "3", label: "采反" },
 ]
 const xs_order_type_options = [
-  { id: "1", label: "线上库存品" },
-  { id: "2", label: "线上非库存品" },
-  { id: "3", label: "竞价采反" },
-  { id: "4", label: "项目采反" },
-  { id: "5", label: "平台部线上库存品" },
-  { id: "6", label: "平台部线上非库存品" },
+  { id: "1", label: "库存品" },
+  { id: "2", label: "非库存品" },
+  { id: "3", label: "采购反馈" },
 ]
-export { statusList, cg_order_type_options, xs_order_type_options };
+const cg_order_source_options = [
+  { id: "0", label: "备库单" },
+  // { id: "1", label: "直接下单" },
+  { id: "2", label: "竞价转单" },
+  { id: "3", label: "项目转单" },
+  { id: "4", label: "平台导入" },
+  // { id: "5", label: "有赞平台" },
+]
+const xs_order_source_options = [
+  // { id: "0", label: "备库单" },
+  { id: "1", label: "直接下单" },
+  { id: "2", label: "竞价转单" },
+  { id: "3", label: "项目转单" },
+  { id: "4", label: "平台导入" },
+  // { id: "5", label: "有赞平台" },
+]
+export { statusList, cg_order_type_options, xs_order_type_options, cg_order_source_options, xs_order_source_options };

+ 8 - 5
src/layout/components/AppMain.vue

@@ -1,11 +1,11 @@
 <template>
-  <div class="app-main">
+  <section class="app-main">
     <transition name="fade-transform" mode="out-in">
       <keep-alive :include="cachedViews">
         <router-view :key="key" />
       </keep-alive>
     </transition>
-  </div>
+  </section>
 </template>
 
 <script>
@@ -26,10 +26,11 @@ export default {
 .app-main {
   /* 50= navbar  50  */
   width: 100%;
-  height: 100%;
-  position: relative;
+ // height: 100%;
+ // min-height: 100%;
+  //position: relative;
   // overflow: hidden;
-  background: #fff;
+  //background: #fff;
 
   box-sizing: border-box;
   // background: #f0f4fd;
@@ -38,6 +39,7 @@ export default {
 .fixed-header + .app-main {
   padding: 50px 0 0 0;
   height: 100%;
+  min-height: 100%;
 }
 
 .hasTagsView {
@@ -48,6 +50,7 @@ export default {
 
   .fixed-header + .app-main {
     padding: 50px 0 0 0;
+
   }
 }
 </style>

+ 333 - 224
src/styles/index.scss

@@ -4,19 +4,25 @@
 @import "./element-ui.scss";
 @import "./sidebar.scss";
 @import "./btn.scss";
-.pagePadding{
-  padding: 8px 12px 0 10px;
 
+.pagePadding {
+  padding: 8px 12px 0 10px;
+  display: inline-block;
+  width: 100%;
 }
 
+html,
 body {
   height: 100%;
+  width: 100%;
+  background-color: #fff;
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
   text-rendering: optimizeLegibility;
   font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
     Microsoft YaHei, Arial, sans-serif;
 }
+
 #add-more {
   font-family: "Microsoft Yahei", Arial, 黑体, 宋体, sans-serif;
   font-size: 14px;
@@ -25,31 +31,38 @@ body {
   height: 30px;
   line-height: 30px;
   margin-bottom: -5px;
+
   &:hover {
     cursor: pointer;
   }
 }
+
 label {
   font-weight: 700;
 }
-.hasHover{
-  &:hover{
-    cursor: pointer!important;
+
+.hasHover {
+  &:hover {
+    cursor: pointer !important;
   }
 
 }
+
 html {
   height: 100%;
   box-sizing: border-box;
 }
-.mini-link{
-  padding:0 4px;
-  span{
+
+.mini-link {
+  padding: 0 4px;
+
+  span {
     display: inline-block;
     height: 23px;
     font-size: 12px;
   }
 }
+
 #app {
   height: 100%;
 }
@@ -72,11 +85,13 @@ a:focus,
 a:active {
   outline: none;
 }
-.hover-tag{
-  &:hover{
-    cursor: pointer!important;
+
+.hover-tag {
+  &:hover {
+    cursor: pointer !important;
   }
 }
+
 a,
 a:focus,
 a:hover {
@@ -84,12 +99,15 @@ a:hover {
   color: inherit;
   text-decoration: none;
 }
-.el-checkbox{
+
+.el-checkbox {
   margin: 0 20px 5px 0;
 }
-.el-radio{
+
+.el-radio {
   margin: 6px 20px 6px 0;
 }
+
 div:focus {
   outline: none;
 }
@@ -132,14 +150,17 @@ div:focus {
     height: 0;
   }
 }
-.el-list-select-input{
-  li{
+
+.el-list-select-input {
+  li {
     float: left;
-    &:first-child{
+
+    &:first-child {
       width: 115px;
       background: #F5F7FA;
-      .el-input{
-        input{
+
+      .el-input {
+        input {
           border-top-right-radius: 0;
           border-bottom-right-radius: 0;
           background: #F5F7FA;
@@ -147,10 +168,12 @@ div:focus {
         }
       }
     }
-    &:last-child{
+
+    &:last-child {
       width: calc(100% - 115px);
-      .el-input{
-        input{
+
+      .el-input {
+        input {
           border-top-left-radius: 0;
           border-bottom-left-radius: 0;
         }
@@ -158,14 +181,15 @@ div:focus {
     }
   }
 }
-.right{
-  .ladder-body{
-    ul{
-      li{
-        .el-input-number{
-          .el-input{
-            input.el-input_inner{
-              border-radius: 0!important;
+
+.right {
+  .ladder-body {
+    ul {
+      li {
+        .el-input-number {
+          .el-input {
+            input.el-input_inner {
+              border-radius: 0 !important;
             }
           }
         }
@@ -173,21 +197,25 @@ div:focus {
     }
   }
 }
-#el-cor-full-style{
-  width: calc( 100% - 316px)!important;
-  padding: 0   0 0 10px!important;
+
+#el-cor-full-style {
+  width: calc(100% - 316px) !important;
+  padding: 0 0 0 10px !important;
 }
-#tl-number{
-  .el-input{
-    input{
+
+#tl-number {
+  .el-input {
+    input {
       text-align: left;
     }
   }
 
 }
-.el-tree-node__content{
+
+.el-tree-node__content {
   height: 35px;
 }
+
 .el-tree-node__content>#custom-tree-node {
   flex: 1;
   display: flex;
@@ -196,18 +224,21 @@ div:focus {
   font-size: 14px;
   border-bottom: 1px solid #eaeefb;
   padding-right: 8px;
-  >div{
-    span{
+
+  >div {
+    span {
       display: inline-block;
-      padding:8px 0;
-      &.el-tag.el-tag--warning{
-        padding:0 5px;
+      padding: 8px 0;
+
+      &.el-tag.el-tag--warning {
+        padding: 0 5px;
 
       }
     }
 
   }
 }
+
 aside {
   background: #eef1f6;
   padding: 8px 24px;
@@ -231,15 +262,19 @@ aside {
     }
   }
 }
+
 .tl {
   text-align: left;
 }
+
 .tc {
   text-align: center;
 }
+
 .tr {
   text-align: right;
 }
+
 //main-container全局样式
 
 .clear::after,
@@ -249,6 +284,7 @@ aside {
   // display: block;
   clear: both;
 }
+
 // .el-steps--simple {
 //   background: transparent;
 // }
@@ -260,19 +296,23 @@ aside {
   padding: 0;
   margin: 0;
   vertical-align: top;
+
   li {
     float: left;
     list-style-type: none;
     height: 40px;
     padding: 0;
     margin: 0;
+
     &:first-child {
       width: calc(100% - 90px);
+
       .el-input__inner {
         border-top-right-radius: 0;
         border-bottom-right-radius: 0;
         border-right: 0;
       }
+
       .el-input {
         border-top-right-radius: 0;
         border-bottom-right-radius: 0;
@@ -280,6 +320,7 @@ aside {
     }
   }
 }
+
 .app-container {
   padding: 20px;
 }
@@ -305,13 +346,11 @@ aside {
   text-align: right;
   padding-right: 20px;
   transition: 600ms ease position;
-  background: linear-gradient(
-    90deg,
-    rgba(32, 182, 249, 1) 0%,
-    rgba(32, 182, 249, 1) 0%,
-    rgba(33, 120, 241, 1) 100%,
-    rgba(33, 120, 241, 1) 100%
-  );
+  background: linear-gradient(90deg,
+      rgba(32, 182, 249, 1) 0%,
+      rgba(32, 182, 249, 1) 0%,
+      rgba(33, 120, 241, 1) 100%,
+      rgba(33, 120, 241, 1) 100%);
 
   .subtitle {
     font-size: 20px;
@@ -346,11 +385,13 @@ aside {
     margin-bottom: 10px;
   }
 }
-.demo-goods-ruleForm{
-  .el-form-item{
-    margin: 0!important;
+
+.demo-goods-ruleForm {
+  .el-form-item {
+    margin: 0 !important;
   }
 }
+
 //refine vue-multiselect plugin
 .multiselect {
   line-height: 16px;
@@ -359,146 +400,174 @@ aside {
 .multiselect--active {
   z-index: 1000 !important;
 }
+
 #yewuInput.el-input-number .el-input__inner input {
   text-align: left;
 }
+
 .el-form-item--mini .el-form-item__label {
   // line-height: 15px;
 }
-  .tb-icon,.tb-download {
-    margin: 0 6px;
-    font-size: 17px;
-    width: 17px;
-    height: 17px;
-    vertical-align: top;
-    cursor: pointer;
-  &.el-icon-s-check{
+
+.tb-icon,
+.tb-download {
+  margin: 0 6px;
+  font-size: 17px;
+  width: 17px;
+  height: 17px;
+  vertical-align: top;
+  cursor: pointer;
+
+  &.el-icon-s-check {
     line-height: 19px;
-    font-size: 18px;;
+    font-size: 18px;
+    ;
 
   }
-    &:hover {
-      color: 3888e5;
-    }
-  }
-  .el-step__title{
-    // font-size: 14px!important;
+
+  &:hover {
+    color: 3888e5;
   }
-  .el-carousel__indicators--outside{
-    display: none;
+}
+
+.el-step__title {
+  // font-size: 14px!important;
+}
+
+.el-carousel__indicators--outside {
+  display: none;
+}
+
+.el-input.is-disabled.errorInput {
+  input.el-input__inner {
+    border: 1px solid #ff8888 !important;
+    color: #ff8888 !important;
   }
-  .el-input.is-disabled.errorInput{
-    input.el-input__inner{
-      border:1px solid #ff8888!important;
-      color: #ff8888!important;
-    }
-    
+
+}
+
+.el-form-item.errorForm {
+  label.el-form-item__label {
+    color: #ff8888 !important;
   }
-  .el-form-item.errorForm{
-    label.el-form-item__label{
-      color: #ff8888!important;
-    }
-    .el-form-item__content{
-      // .is-disabled
-      .el-input{
-        input.el-input__inner{
-          border:1px solid #ff8888!important;
-          color: #ff8888!important;
-        }
-        
+
+  .el-form-item__content {
+
+    // .is-disabled
+    .el-input {
+      input.el-input__inner {
+        border: 1px solid #ff8888 !important;
+        color: #ff8888 !important;
       }
-    }
 
+    }
   }
-  .dropzone .dz-message{
-    margin: 8em 0!important;
-  }
-  .dropzone .dz-preview.dz-image-preview{
-    background: transparent!important;
-  }
-  // .el-collapse-item__wrap{
-  //   overflow-y: scroll!important;
-  //   max-height: 500px!important;
-  // }
-  .el-collapse-item__content{
-    padding:0!important;
+
+}
+
+.dropzone .dz-message {
+  margin: 8em 0 !important;
+}
+
+.dropzone .dz-preview.dz-image-preview {
+  background: transparent !important;
+}
+
+// .el-collapse-item__wrap{
+//   overflow-y: scroll!important;
+//   max-height: 500px!important;
+// }
+.el-collapse-item__content {
+  padding: 0 !important;
+}
+
+.el-table__expanded-cell[class*=cell] {
+  // padding: 20px 20px 20px 50px!important;
+}
+
+.notAnniu.el-input-number.el-input-number--mini.is-controls-right {
+  span.el-input-number__decrease {
+    display: none !important;
   }
 
-  .el-table__expanded-cell[class*=cell] {
-    // padding: 20px 20px 20px 50px!important;
+  span.el-input-number__increase {
+    display: none !important;
   }
-  .notAnniu.el-input-number.el-input-number--mini.is-controls-right{
-    span.el-input-number__decrease{
-      display: none!important;
-    }
-    span.el-input-number__increase{
-      display: none!important;
-    }
-    .el-input.el-input--mini{
-      .el-input__inner{
-        padding-right: 15px!important;
-        text-align: left;
-      }
+
+  .el-input.el-input--mini {
+    .el-input__inner {
+      padding-right: 15px !important;
+      text-align: left;
     }
+  }
+
+}
 
+.el-form-item.el-form-item--feedback.el-form-item--mini.noMargin {
+  .el-form-item__content {
+    margin: 0 !important;
   }
-  .el-form-item.el-form-item--feedback.el-form-item--mini.noMargin{
-.el-form-item__content
-{
-  margin: 0!important;
 }
+
+.my-el-alert.el-alert.is-light {
+
+
+  &.el-alert--success {
+    color: #63cbe7 !important;
+    background: #effafd !important;
+    border-color: #c1eaf5 !important;
   }
-  .my-el-alert.el-alert.is-light{
-    
 
-    &.el-alert--success{
-      color: #63cbe7!important;
-    background: #effafd!important;
-    border-color: #c1eaf5!important;
-    }
-    .el-alert__content>.el-alert__title{
-      vertical-align: top!important;
-      display: inline-block!important;
-      font-size: 17px!important;
-      line-height: 30px!important;
-    }
-    .el-alert__icon{
-      display: inline-block!important;
-      vertical-align: top!important;
-      width: 30px!important;
-      height: 30px!important;
-      font-size: 26px!important;
-      line-height: 30px!important;
-      text-align: center!important;
-    }
-      
+  .el-alert__content>.el-alert__title {
+    vertical-align: top !important;
+    display: inline-block !important;
+    font-size: 17px !important;
+    line-height: 30px !important;
   }
-  .fl-col{
-    position: relative;
-    .fl-tag{
-      position: absolute;
-      z-index: 4;
-      top:0;
-      left:0;
-    }
+
+  .el-alert__icon {
+    display: inline-block !important;
+    vertical-align: top !important;
+    width: 30px !important;
+    height: 30px !important;
+    font-size: 26px !important;
+    line-height: 30px !important;
+    text-align: center !important;
   }
-.my-el-divider.el-divider.el-divider--horizontal{
-  margin: 12px 0!important;
-  .el-divider__text.is-center{
-    
-    padding:0 10px!important;
-    color: #63cbe7!important;
+
+}
+
+.fl-col {
+  position: relative;
+
+  .fl-tag {
+    position: absolute;
+    z-index: 4;
+    top: 0;
+    left: 0;
+  }
+}
+
+.my-el-divider.el-divider.el-divider--horizontal {
+  margin: 12px 0 !important;
+
+  .el-divider__text.is-center {
+
+    padding: 0 10px !important;
+    color: #63cbe7 !important;
   }
 }
-  
- 
- 
+
+
+
 .el-table__fixed-right {
   height: 100% !important;
 }
+
 .el-table__fixed-left {
   height: 100% !important;
 }
+
 .el-table .warning-row {
   background: #f5f7fa !important;
   // background: oldlace !important;
@@ -508,34 +577,40 @@ aside {
   background: #f0f9eb !important;
 }
 
-.projectDetail,.zxDiffOrderDetail,.zxReturnDetail {
+.projectDetail,
+.zxDiffOrderDetail,
+.zxReturnDetail {
   .modal-form-style {
 
     #demo-sitem.el-form {
       .el-row {
         border-left: 1px solid #ebeef5 !important;
-        border-top : 1px solid #ebeef5 !important;
+        border-top: 1px solid #ebeef5 !important;
+
         .el-col {
           border-bottom: 1px solid #ebeef5 !important;
           border-right: 1px solid #ebeef5 !important;
+
           .el-form-item {
             margin: 0 !important;
-          
+
             // >.el-form-item__label {
             //   border-right: 1px solid #ebeef5 !important;
             // }
           }
-            label.el-form-item__label {
-              background: #fafafa !important;
-              font-weight: 400!important;
-              color: #909399!important;
-              border-right: 1px solid #ebeef5 !important;
-            }
-            .el-form-item__content{
-              padding:0 0 0 12px!important;
-              color: #606266!important;
-            }
-           
+
+          label.el-form-item__label {
+            background: #fafafa !important;
+            font-weight: 400 !important;
+            color: #909399 !important;
+            border-right: 1px solid #ebeef5 !important;
+          }
+
+          .el-form-item__content {
+            padding: 0 0 0 12px !important;
+            color: #606266 !important;
+          }
+
         }
       }
     }
@@ -545,43 +620,54 @@ aside {
 .processTimeLine {
   .el-step__head.is-finish {
     color: #e8e8e8 !important;
-      border-color: #e8e8e8 !important;
-      .el-step__line{
-        background: #e8e8e8!important;
-      }
-    .el-step__line-inner{
-      background: #e8e8e8!important;
+    border-color: #e8e8e8 !important;
+
+    .el-step__line {
+      background: #e8e8e8 !important;
     }
+
+    .el-step__line-inner {
+      background: #e8e8e8 !important;
+    }
+
     .el-step__icon.is-icon {
       color: #30b08f !important;
       border-color: #30b08f !important;
     }
+
     // background: #e8e8e8!important;
   }
-  .el-step__main{
-  
-   .el-step__title.is-finish{
-     color: rgba(0,0,0,.85)!important;
-     font-size: 16px!important;
 
-   } 
-   .el-step__description.is-finish{
-.name,.item,.time{
-  line-height: 23px!important;
-  color: rgba(0,0,0,.85)!important;
-}
-.time{
-  color: rgba(0,0,0,.45)!important;
-}
-   }
-   
+  .el-step__main {
+
+    .el-step__title.is-finish {
+      color: rgba(0, 0, 0, .85) !important;
+      font-size: 16px !important;
+
+    }
+
+    .el-step__description.is-finish {
+
+      .name,
+      .item,
+      .time {
+        line-height: 23px !important;
+        color: rgba(0, 0, 0, .85) !important;
+      }
+
+      .time {
+        color: rgba(0, 0, 0, .45) !important;
+      }
+    }
+
   }
 }
-.detail-page-title{
-  line-height: 28px!important;
-  height: 28px!important;
+
+.detail-page-title {
+  line-height: 28px !important;
+  height: 28px !important;
   // font-size: 16px!important;
-  padding:0!important;
+  padding: 0 !important;
   // margin: 20px 0 30px 0!important;
 
   // span.title{
@@ -590,52 +676,62 @@ aside {
   // margin: 0 20px 0 0;
   // }
 }
-.exam-content{
-  line-height: 28px!important;
-  height: 28px!important;
+
+.exam-content {
+  line-height: 28px !important;
+  height: 28px !important;
   // font-size: 16px!important;
-  padding:0!important;
-  margin: 0 0 20px 0!important;
-  &::after,&::before{
+  padding: 0 !important;
+  margin: 0 0 20px 0 !important;
+
+  &::after,
+  &::before {
     content: "";
-  display: block;
-  clear: both;
+    display: block;
+    clear: both;
   }
 }
+
 .activity-upload {
   position: relative;
+
   .btnupload {
     float: left;
     border: 1px solid rgb(220, 223, 230);
     box-sizing: border-box;
-    width:50px;
-    height:50px;
-    line-height:50px;
+    width: 50px;
+    height: 50px;
+    line-height: 50px;
     text-align: center;
   }
+
   .Upload {
-    width:50px;
-    height:50px;
-    line-height:50px;
+    width: 50px;
+    height: 50px;
+    line-height: 50px;
     text-align: center;
     position: absolute;
     line-height: 0px;
     top: 0;
     left: 0;
-    line-height:50px;
+    line-height: 50px;
   }
+
   .fileUp {
     vertical-align: top;
   }
+
   .avatar {
-    width:50px;
-    height:50px;
-    line-height:50px;
+    width: 50px;
+    height: 50px;
+    line-height: 50px;
     text-align: center;
   }
+
   .avatar-uploader .el-upload:hover {
     border-color: #409eff;
   }
+
   .avatar-uploader-icon {
     font-size: 20px;
     color: #8c939d;
@@ -644,21 +740,25 @@ aside {
     line-height: 50px;
     text-align: center;
   }
+
   .avatar {
     width: 100%;
     height: 100%;
     display: block;
   }
+
   .txt-tips {
     display: inline-block;
     font-size: 12px;
     color: #606266;
     padding: 0 0 0 15px;
+
     p {
       margin: 0;
       line-height: 22px;
     }
   }
+
   .avatar-uploader .el-upload {
     border: 1px dashed #DCDFE6;
     border-radius: 6px;
@@ -667,23 +767,28 @@ aside {
     overflow: hidden;
   }
 }
-.hover{
-  &:hover{
-    cursor: pointer!important;
+
+.hover {
+  &:hover {
+    cursor: pointer !important;
   }
 }
+
 .show-data-table {
   padding: 0 0 0 0;
   width: 100%;
   box-sizing: border-box;
+
   .purchaseOrderDetail-addForm {
-    
+
     border-left: 1px solid #ebeef5 !important;
     width: 100%;
     box-sizing: border-box;
-    &.borderBottom{
+
+    &.borderBottom {
       border-bottom: 1px solid #ebeef5 !important;
     }
+
     .purchaseOrderDetail-addForm-el-col {
       display: flex;
       align-items: stretch;
@@ -691,6 +796,7 @@ aside {
       box-sizing: border-box;
       //
       border-right: 1px solid #ebeef5 !important;
+
       .label {
         width: 100px;
         line-height: 35px;
@@ -702,6 +808,7 @@ aside {
         border-top: 1px solid #ebeef5 !important;
         border-right: 1px solid #ebeef5 !important;
       }
+
       .name {
         width: calc(100% - 100px);
         text-align: left;
@@ -711,11 +818,13 @@ aside {
         padding: 6px 0 6px 10px !important;
         word-break: break-all !important;
         color: #606266 !important;
+
         .el-icon-warning-outline {
-          font-size: 16px!important;
-          margin: 4px 6px 0 0!important;
-          color: #abaea5!important;
-          &:hover{
+          font-size: 16px !important;
+          margin: 4px 6px 0 0 !important;
+          color: #abaea5 !important;
+
+          &:hover {
             cursor: pointer;
           }
         }

+ 1 - 3
src/styles/sidebar.scss

@@ -1,11 +1,9 @@
 #app {
   .main-container {
-    // min-height: 100%;
-    height: 100%;
+     min-height: 100%;
     transition: margin-left 0.28s;
     margin-left: $sideBarWidth;
     position: relative;
-    // width: 100%;;
     min-height: 100%;;
     min-width: calc( 1200px - 200px);
   }

+ 94 - 96
src/views/bigScreen/datavScr/index.vue

@@ -1,99 +1,105 @@
 <template>
-  <div class="pagePadding box">
-    <div id="index" ref="appRef" v-if="powers && powers.length > 0 && powers.some((item) => item == '001')">
-      <div class="bg">
-        <dv-loading v-if="loading">Loading...</dv-loading>
-        <div v-else class="host-body">
-          <div class="d-flex jc-center">
-            <dv-decoration-10 class="dv-dec-10" />
+  <div class="datavScr box">
+    <div
+      v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
+    >
+      <div id="index" ref="appRef">
+        <div class="bg">
+          <dv-loading v-if="loading">Loading...</dv-loading>
+          <div v-else class="host-body">
             <div class="d-flex jc-center">
-              <dv-decoration-8 class="dv-dec-8" :color="decorationColor" />
-              <div class="title">
-                <span class="title-text">数据可视化面板</span>
-                <dv-decoration-6
-                  class="dv-dec-6"
+              <dv-decoration-10 class="dv-dec-10" />
+              <div class="d-flex jc-center">
+                <dv-decoration-8 class="dv-dec-8" :color="decorationColor" />
+                <div class="title">
+                  <span class="title-text">数据可视化面板</span>
+                  <dv-decoration-6
+                    class="dv-dec-6"
+                    :reverse="true"
+                    :color="['#50e3c2', '#67a1e5']"
+                  />
+                </div>
+                <dv-decoration-8
+                  class="dv-dec-8"
                   :reverse="true"
-                  :color="['#50e3c2', '#67a1e5']"
+                  :color="decorationColor"
                 />
-                
               </div>
-              <dv-decoration-8
-                class="dv-dec-8"
-                :reverse="true"
-                :color="decorationColor"
-              />
+              <dv-decoration-10 class="dv-dec-10-s" />
             </div>
-            <dv-decoration-10 class="dv-dec-10-s" />
-          </div>
 
-          <!-- 第二行 -->
-          <div class="d-flex jc-between px-2">
-            <div class="d-flex aside-width">
-              <div class="react-left ml-4 react-l-s">
-                <span class="react-left"></span>
-                <span class="text">今日相关</span>
-              </div>
-              <div class="react-left ml-3">
-                <span class="text">数据概览</span>
-              </div>
-            </div>
-            <div class="d-flex aside-width">
-              <div class="react-right bg-color-blue mr-3">
-                <span class="text fw-b">待处理</span>
+            <!-- 第二行 -->
+            <div class="d-flex jc-between px-2">
+              <div class="d-flex aside-width">
+                <div class="react-left ml-4 react-l-s">
+                  <span class="react-left"></span>
+                  <span class="text">今日相关</span>
+                </div>
+                <div class="react-left ml-3">
+                  <span class="text">数据概览</span>
+                </div>
               </div>
-              <div class="react-right mr-4 react-l-s">
-                <span class="react-after"></span>
-                <span class="text" style="white-space: nowrap;"
-                  >{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span
-                >
+              <div class="d-flex aside-width">
+                <div class="react-right bg-color-blue mr-3">
+                  <span class="text fw-b">待处理</span>
+                </div>
+                <div class="react-right mr-4 react-l-s">
+                  <span class="react-after"></span>
+                  <span class="text" style="white-space: nowrap"
+                    >{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span
+                  >
+                </div>
               </div>
             </div>
-          </div>
 
-          <div class="body-box" v-if="initFlag">
-            <!-- 第三行数据 -->
-            <div class="content-box">
-              <div>
-                <dv-border-box-12>
-                  <centerLeft1 />
-                </dv-border-box-12>
-              </div>
-              <div>
-                <dv-border-box-12>
-                  <centerLeft2 />
-                </dv-border-box-12>
-              </div>
-              <!-- 中间 -->
-              <div>
-                <center />
-              </div>
-              <!-- 中间 -->
-              <!-- <div>
+            <div class="body-box" v-if="initFlag">
+              <!-- 第三行数据 -->
+              <div class="content-box">
+                <div>
+                  <dv-border-box-12>
+                    <centerLeft1 />
+                  </dv-border-box-12>
+                </div>
+                <div>
+                  <dv-border-box-12>
+                    <centerLeft2 />
+                  </dv-border-box-12>
+                </div>
+                <!-- 中间 -->
+                <div>
+                  <center />
+                </div>
+                <!-- 中间 -->
+                <!-- <div>
               
               <dv-border-box-13>
                 <centerRight2 />
               </dv-border-box-13>
             </div> -->
-              <div>
+                <div>
+                  <dv-border-box-13>
+                    <centerRight1 />
+                  </dv-border-box-13>
+                </div>
+              </div>
+
+              <!-- 第四行数据 -->
+              <div class="bototm-box">
                 <dv-border-box-13>
-                  <centerRight1 />
+                  <bottomLeft />
                 </dv-border-box-13>
+                <dv-border-box-12>
+                  <bottomRight />
+                </dv-border-box-12>
               </div>
             </div>
-
-            <!-- 第四行数据 -->
-            <div class="bototm-box">
-              <dv-border-box-13>
-                <bottomLeft />
-              </dv-border-box-13>
-              <dv-border-box-12>
-                <bottomRight />
-              </dv-border-box-12>
-            </div>
+            <!-- 防止数据更新闪白屏 -->
+            <div style="width:100%;height:100vh;" v-if="!initFlag"></div>
           </div>
         </div>
       </div>
     </div>
+
     <div v-else>
       <no-auth></no-auth>
     </div>
@@ -114,7 +120,7 @@ import bottomLeft from "./bottomLeft";
 import bottomRight from "./bottomRight";
 
 export default {
-  mixins: [ resToken ],
+  mixins: [resToken],
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
@@ -138,8 +144,8 @@ export default {
       dateWeek: null,
       weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
       decorationColor: ["#568aea", "#000000"],
-      initFlag:true,
-      time:null,
+      initFlag: true,
+      time: null,
     };
   },
   components: {
@@ -154,7 +160,7 @@ export default {
   mounted() {
     this.timeFn();
     this.cancelLoading();
-    this.timeInit()
+    this.timeInit();
   },
   beforeDestroy() {
     clearInterval(this.timing);
@@ -171,26 +177,25 @@ export default {
       }, 1000);
     },
     cancelLoading() {
-      setTimeout(() => {
+      // setTimeout(() => {
         this.loading = false;
-      }, 500);
+      // }, 0);
     },
 
     //一分钟更新一次数据
-    timeInit(){
+    timeInit() {
       this.time = null;
-      this.time = setInterval(()=>{
-        console.log(111)
+      this.time = setInterval(() => {
         this.initFlag = false;
-        setTimeout(()=>{
+        setTimeout(() => {
           this.$message({
-            message: '更新数据成功',
-            type: 'success'
+            message: "更新数据成功",
+            type: "success",
           });
           this.initFlag = true;
-        },500)
-      },60000)
-    }
+        }, 100);
+      }, 60000);
+    },
   },
 };
 </script>
@@ -199,17 +204,10 @@ export default {
 @import "../assetsDv/scss/index.scss";
 @import "../assetsDv/scss/style.scss";
 
-.box {
+.datavScr.box {
   width: 100%;
   height: 100%;
   background: #000;
-  position: relative;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  margin: auto;
-  
-  
+  margin: 0;
 }
 </style>

+ 3 - 3
src/views/dataCorrection/cgMessage/index.vue

@@ -418,7 +418,7 @@ export default {
           this.supplierNo = supplierNo || "";
           this.supplier_name = supplier_name || "";
           this.ruleForm.supplierNo = supplierNo ? [supplierNo] : [];
-          if (this.order_type === "1" || this.order_type === "5") {
+          if (this.order_type === "1") {
             this.wsm_supplier = wsm_supplier || "";
             this.wsm_supplierNo = wsm_supplierNo || "";
             this.ruleForm.wsm_supplierNo = wsm_supplierNo
@@ -429,9 +429,9 @@ export default {
             this.ruleForm.wsm_code = wsm_code ? [wsm_code] : [];
           }
           this.rulesThis.wsm_supplierNo[0].required =
-            this.order_type + "" === "1" || this.order_type === "5";
+            this.order_type + "" === "1" ;
           this.rulesThis.wsm_code[0].required =
-            this.order_type + "" === "1" || this.order_type === "5";
+            this.order_type + "" === "1" ;
           this.getNewTime();
         } else if (code >= 100 && code <= 104) {
           await this.logout();

+ 58 - 55
src/views/goodStore/active/components/baseForm.vue

@@ -590,63 +590,66 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          if (this.ruleForm.good_list.length === 0) {
-            this.$message.warning("请选择活动商品信息!");
-            this.loading = false;
-            return;
-          }
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          const { good_list } = model;
+          if (!this.loading) {
+            this.loading = true;
+            if (this.ruleForm.good_list.length === 0) {
+              this.$message.warning("请选择活动商品信息!");
+              this.loading = false;
+              return;
+            }
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            const { good_list } = model;
 
-          let list = JSON.parse(JSON.stringify(good_list));
-          let newList = [];
-          model.good_list = [];
-          list.forEach((e) => {
-            let item = {
-              skuCode: e.skuCode,
-              activity_stock: e.activity_stock,
-            };
-            newList.push(item);
-          });
-          model.good_list = newList;
-          let res = {};
-          console.log(this.id, this.type);
-          if (this.type === "add") {
-            delete model["id"];
-            delete model["spuCode"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          console.log(res);
-          this.loading = false;
-          const { code, data, message } = res;
-          if (code === 0) {
-            const title = this.type === "add" ? "新建成功!" : "库存修改成功!";
-            this.$notify.success({
-              title: title,
-              message: "",
+            let list = JSON.parse(JSON.stringify(good_list));
+            let newList = [];
+            model.good_list = [];
+            list.forEach((e) => {
+              let item = {
+                skuCode: e.skuCode,
+                activity_stock: e.activity_stock,
+              };
+              newList.push(item);
             });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh", true);
-          } else if (code >= 100 && code <= 104) {
-            await this.logout();
-          } else if (code == 1005) {
-            let resList = JSON.parse(JSON.stringify(data));
-            let htmlList = "<ul>";
-            resList.forEach((v) => {
-              htmlList += `<li>${v.outCode}</li>`;
-            });
-            htmlList += "</ul>";
-            this.$notify({
-              title: message,
-              dangerouslyUseHTMLString: true,
-              message: htmlList,
-            });
-          } else {
-            this.$message.warning(message);
+            model.good_list = newList;
+            let res = {};
+            console.log(this.id, this.type);
+            if (this.type === "add") {
+              delete model["id"];
+              delete model["spuCode"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            console.log(res);
+            this.loading = false;
+            const { code, data, message } = res;
+            if (code === 0) {
+              const title =
+                this.type === "add" ? "新建成功!" : "库存修改成功!";
+              this.$notify.success({
+                title: title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh", true);
+            } else if (code >= 100 && code <= 104) {
+              await this.logout();
+            } else if (code == 1005) {
+              let resList = JSON.parse(JSON.stringify(data));
+              let htmlList = "<ul>";
+              resList.forEach((v) => {
+                htmlList += `<li>${v.outCode}</li>`;
+              });
+              htmlList += "</ul>";
+              this.$notify({
+                title: message,
+                dangerouslyUseHTMLString: true,
+                message: htmlList,
+              });
+            } else {
+              this.$message.warning(message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 7 - 5
src/views/goodStore/active/components/edit-minorder-form.vue

@@ -187,11 +187,13 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          this.showModelThis = false;
-          // 刷新
-          this.$emit("refresh", model);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            this.showModelThis = false;
+            // 刷新
+            this.$emit("refresh", model);
+          }
         } else {
           console.log("error submit!!");
           return false;

+ 36 - 34
src/views/goodStore/active/components/finance-exam-one-form.vue

@@ -155,42 +155,44 @@ export default {
       console.log("2345");
     },
     async submitForm() {
-      this.loading = true;
-      const { activity_code } = this.sitem;
-      let ruleForm = {
-        activity_code: activity_code || "",
-        good_list: [],
-      };
-      let list = JSON.parse(JSON.stringify(this.tableData));
-      let isok = true;
-      let newlist = [];
-      list.forEach((e) => {
-        if (e.moq_num + "" === "0" || e.moq_num + "" === "") {
-          isok = false;
-        }
-        let item = {
-          id: e.id,
-          skuCode: e.skuCode,
-          cost_price: e.cost_price,
-          moq_num: e.moq_num,
+      if (!this.loading) {
+        this.loading = true;
+        const { activity_code } = this.sitem;
+        let ruleForm = {
+          activity_code: activity_code || "",
+          good_list: [],
         };
-        newlist.push(item);
-      });
-      if (!isok) {
-        this.$message.warning("部分商品起订量不合法!");
-        this.loading = false;
-        return;
-      }
-      ruleForm.good_list = JSON.parse(JSON.stringify(newlist));
-      let res = await asyncRequest.actcost(ruleForm);
-      this.loading = false;
-      if (res && res.code === 0) {
-        this.$notify.success({
-          title: "提交成功!",
-          message: "",
+        let list = JSON.parse(JSON.stringify(this.tableData));
+        let isok = true;
+        let newlist = [];
+        list.forEach((e) => {
+          if (e.moq_num + "" === "0" || e.moq_num + "" === "") {
+            isok = false;
+          }
+          let item = {
+            id: e.id,
+            skuCode: e.skuCode,
+            cost_price: e.cost_price,
+            moq_num: e.moq_num,
+          };
+          newlist.push(item);
         });
-        // 刷新
-        this.$emit("refresh", true);
+        if (!isok) {
+          this.$message.warning("部分商品起订量不合法!");
+          this.loading = false;
+          return;
+        }
+        ruleForm.good_list = JSON.parse(JSON.stringify(newlist));
+        let res = await asyncRequest.actcost(ruleForm);
+        this.loading = false;
+        if (res && res.code === 0) {
+          this.$notify.success({
+            title: "提交成功!",
+            message: "",
+          });
+          // 刷新
+          this.$emit("refresh", true);
+        }
       }
     },
   },

+ 29 - 27
src/views/goodStore/active/components/finance-exam-two-form.vue

@@ -101,7 +101,7 @@ import showGoodDataModal from "@/components/show-good-data-modal";
 export default {
   name: "financeExamOneForm",
   mixins: [resToken],
-  props: ["id", "type", "sitem",'newTime'],
+  props: ["id", "type", "sitem", "newTime"],
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
   },
@@ -120,7 +120,7 @@ export default {
       tableData: [],
     };
   },
-   watch: {
+  watch: {
     newTime: function (val) {
       if (val) {
         this.initForm();
@@ -160,34 +160,36 @@ export default {
       this.tableData =
         info && info.length > 0 ? JSON.parse(JSON.stringify(info)) : [];
     },
- 
+
     async submitForm() {
-      this.loading = true;
-      const { activity_code } = this.sitem;
-      let ruleForm = {
-        activity_code: activity_code || "",
-        good_list: [],
-      };
-      let list = JSON.parse(JSON.stringify(this.tableData));
-      let newlist = [];
-      list.forEach((e) => {
-        let item = {
-          id: e.id,
-          activity_price: e.activity_price,
+      if (!this.loading) {
+        this.loading = true;
+        const { activity_code } = this.sitem;
+        let ruleForm = {
+          activity_code: activity_code || "",
+          good_list: [],
         };
-        newlist.push(item);
-      });
-
-      ruleForm.good_list = JSON.parse(JSON.stringify(newlist));
-      let res = await asyncRequest.setActivity(ruleForm);
-      this.loading = false;
-      if (res && res.code === 0) {
-        this.$notify.success({
-          title: "提交成功!",
-          message: "",
+        let list = JSON.parse(JSON.stringify(this.tableData));
+        let newlist = [];
+        list.forEach((e) => {
+          let item = {
+            id: e.id,
+            activity_price: e.activity_price,
+          };
+          newlist.push(item);
         });
-        // 刷新
-        this.$emit("refresh", true);
+
+        ruleForm.good_list = JSON.parse(JSON.stringify(newlist));
+        let res = await asyncRequest.setActivity(ruleForm);
+        this.loading = false;
+        if (res && res.code === 0) {
+          this.$notify.success({
+            title: "提交成功!",
+            message: "",
+          });
+          // 刷新
+          this.$emit("refresh", true);
+        }
       }
     },
   },

+ 8 - 6
src/views/goodStore/active/components/set-active-price-form.vue

@@ -45,7 +45,7 @@
               <el-input
                 v-model="ruleForm.activity_stock"
                 placeholder="活动库存"
-                 disabled
+                disabled
                 maxlength="100"
               />
             </el-form-item>
@@ -189,11 +189,13 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          this.showModelThis = false;
-          // 刷新
-          this.$emit("refresh", model);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            this.showModelThis = false;
+            // 刷新
+            this.$emit("refresh", model);
+          }
         } else {
           console.log("error submit!!");
           return false;

+ 25 - 23
src/views/goodStore/brand/addEdit.vue

@@ -161,29 +161,31 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            let res = {};
+            if (this.id === "003") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功!" : "修改成功!";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 42 - 38
src/views/goodStore/dealGoodsPool/addEdit.vue

@@ -260,51 +260,55 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          // model.platform = model.platform.toString();
-          model.codes = [];
-          let list = JSON.parse(JSON.stringify(this.sitem));
-          list.forEach((e) => {
-            model.codes.push(e.spuCode);
-          });
-          let { code, data, message } = await asyncRequest.online_add(model);
-          this.loading = false;
-          if (code === 0) {
-            this.$notify.success({
-              title: "已成功添加至上线流程!",
-              message: "",
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            // model.platform = model.platform.toString();
+            model.codes = [];
+            let list = JSON.parse(JSON.stringify(this.sitem));
+            list.forEach((e) => {
+              model.codes.push(e.spuCode);
             });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (code >= 100 && code <= 104) {
-            await this.logout();
-          } else if (code === 1009) {
-            let resList = JSON.parse(JSON.stringify(data));
+            let { code, data, message } = await asyncRequest.online_add(model);
+            this.loading = false;
+            if (code === 0) {
+              this.$notify.success({
+                title: "已成功添加至上线流程!",
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (code >= 100 && code <= 104) {
+              await this.logout();
+            } else if (code === 1009) {
+              let resList = JSON.parse(JSON.stringify(data));
 
-            let htmlList = "<ul>";
-            resList.forEach((v) => {
-              htmlList += `<li>
+              let htmlList = "<ul>";
+              resList.forEach((v) => {
+                htmlList += `<li>
           <img src='${v.good_img}' style='width: 20px; height: 20px'
                   class='hover'
                   v-viewer/>
                   <span>${v.good_name}__</span>`;
-              const { speclist } = v;
-              let str = "<span>";
-              speclist.forEach((a, ai) => {
-                str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${a.spec_value}]`;
+                const { speclist } = v;
+                let str = "<span>";
+                speclist.forEach((a, ai) => {
+                  str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${
+                    a.spec_value
+                  }]`;
+                });
+                htmlList += str + "</span>" + `</li>`;
               });
-              htmlList += str + "</span>" + `</li>`;
-            });
-            htmlList += "</ul>";
-            this.$notify({
-              title: "一下商品已上线或已经在审批流程中!",
-              dangerouslyUseHTMLString: true,
-              message: htmlList,
-            });
-          } else {
-            this.$message.warning(message);
+              htmlList += "</ul>";
+              this.$notify({
+                title: "一下商品已上线或已经在审批流程中!",
+                dangerouslyUseHTMLString: true,
+                message: htmlList,
+              });
+            } else {
+              this.$message.warning(message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 27 - 25
src/views/goodStore/goldPrice/components/addEdit.vue

@@ -150,31 +150,33 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          model.price += "";
-          model.type += "";
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            model.price += "";
+            model.type += "";
+            let res = {};
+            if (this.id === "003") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功!" : "修改成功!";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 43 - 39
src/views/goodStore/goodsCost/components/addEdit.vue

@@ -254,57 +254,61 @@ export default {
     },
     platform_codesearchChange(e) {
       const { id, code, label } = e;
-      this.ruleForm.platform = id ||"";
+      this.ruleForm.platform = id || "";
       this.$refs.ruleForm.validateField("platform");
     },
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          // model.platform = model.platform.toString();
-          model.codes = [];
-          let list = JSON.parse(JSON.stringify(this.sitem));
-          list.forEach((e) => {
-            model.codes.push(e.spuCode);
-          });
-          let { code, data, message } = await asyncRequest.online_add(model);
-          this.loading = false;
-          if (code === 0) {
-            this.$notify.success({
-              title: "已成功添加至上线流程!",
-              message: "",
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            // model.platform = model.platform.toString();
+            model.codes = [];
+            let list = JSON.parse(JSON.stringify(this.sitem));
+            list.forEach((e) => {
+              model.codes.push(e.spuCode);
             });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (code >= 100 && code <= 104) {
-            await this.logout();
-          } else if (code === 1009) {
-            let resList = JSON.parse(JSON.stringify(data));
+            let { code, data, message } = await asyncRequest.online_add(model);
+            this.loading = false;
+            if (code === 0) {
+              this.$notify.success({
+                title: "已成功添加至上线流程!",
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (code >= 100 && code <= 104) {
+              await this.logout();
+            } else if (code === 1009) {
+              let resList = JSON.parse(JSON.stringify(data));
 
-            let htmlList = "<ul>";
-            resList.forEach((v) => {
-              htmlList += `<li>
+              let htmlList = "<ul>";
+              resList.forEach((v) => {
+                htmlList += `<li>
           <img src='${v.good_img}' style='width: 20px; height: 20px'
                   class='hover'
                   v-viewer/>
                   <span>${v.good_name}__</span>`;
-              const { speclist } = v;
-              let str = "<span>";
-              speclist.forEach((a, ai) => {
-                str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${a.spec_value}]`;
+                const { speclist } = v;
+                let str = "<span>";
+                speclist.forEach((a, ai) => {
+                  str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${
+                    a.spec_value
+                  }]`;
+                });
+                htmlList += str + "</span>" + `</li>`;
               });
-              htmlList += str + "</span>" + `</li>`;
-            });
-            htmlList += "</ul>";
-            this.$notify({
-              title: "一下商品已上线或已经在审批流程中!",
-              dangerouslyUseHTMLString: true,
-              message: htmlList,
-            });
-          } else {
-            this.$message.warning(res.message);
+              htmlList += "</ul>";
+              this.$notify({
+                title: "一下商品已上线或已经在审批流程中!",
+                dangerouslyUseHTMLString: true,
+                message: htmlList,
+              });
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 120 - 119
src/views/goodStore/goodsCost/components/baseForm.vue

@@ -1223,136 +1223,137 @@ export default {
       this.good_type_change();
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          if (this.spec_tableData.length === 0) {
-            this.$message.warning("请录入商品规格信息!");
-            this.loading = false;
-            return;
-          }
-          let isMust = true;
-          this.spec_tableData.forEach((e) => {
-            if (e.isMust && !e.spec_value_id) {
-              isMust = false;
-            }
-          });
-          if (!isMust) {
-            this.$message.warning("分类绑定的规格必须填写规格值!");
-            this.loading = false;
-            return;
-          }
-          if (this.ladder_tableData.length === 0) {
-            this.$message.warning("请录入阶梯成本!");
-            this.loading = false;
-            return;
-          }
-          const {
-            noble_weight,
-            weight,
-            good_type,
-            moq,
-            is_step,
-            is_gold_price,
-          } = this.ruleForm;
-          // if (is_step === "0" && this.ladder_tableData.length > 1) {
-          //   this.$message.warning("不启用阶梯成本,只能录入一条阶梯成本信息!");
-          //   this.loading = false;
-          //   return;
-          // }
-          if (this.is_noble) {
-            if (noble_weight * 1000 > weight * 1000) {
-              this.$message.warning("贵金属总重量不能大于商品总重量!");
+          if (!this.loading) {
+            this.loading = true;
+            if (this.spec_tableData.length === 0) {
+              this.$message.warning("请录入商品规格信息!");
               this.loading = false;
               return;
             }
-          }
-          if (is_gold_price === "1" && this.is_noble) {
-            let is_p = true;
-            this.ladder_tableData.forEach((v) => {
-              if (v.nake_fee * 1 !== 0) {
-                is_p = false;
+            let isMust = true;
+            this.spec_tableData.forEach((e) => {
+              if (e.isMust && !e.spec_value_id) {
+                isMust = false;
               }
             });
-            if (!is_p) {
-              this.$message.warning(
-                "启用实时金价的贵金属商品不能填写成本单价!"
-              );
+            if (!isMust) {
+              this.$message.warning("分类绑定的规格必须填写规格值!");
               this.loading = false;
               return;
             }
-          }
-          // if (good_type === "1") {
-          //   let set_num = moq * 1;
-          //   let isok = true;
-          //   this.ladder_tableData.forEach((e) => {
-          //     if (e.min_num * 1 < set_num) {
-          //       isok = false;
-          //     }
-          //   });
-          //   if (!isok) {
-          //     this.$message.warning("阶梯成本的起订量不能小于定制起订量!");
-          //     this.loading = false;
-          //     return;
-          //   }
-          // }
+            if (this.ladder_tableData.length === 0) {
+              this.$message.warning("请录入阶梯成本!");
+              this.loading = false;
+              return;
+            }
+            const {
+              noble_weight,
+              weight,
+              good_type,
+              moq,
+              is_step,
+              is_gold_price,
+            } = this.ruleForm;
+            // if (is_step === "0" && this.ladder_tableData.length > 1) {
+            //   this.$message.warning("不启用阶梯成本,只能录入一条阶梯成本信息!");
+            //   this.loading = false;
+            //   return;
+            // }
+            if (this.is_noble) {
+              if (noble_weight * 1000 > weight * 1000) {
+                this.$message.warning("贵金属总重量不能大于商品总重量!");
+                this.loading = false;
+                return;
+              }
+            }
+            if (is_gold_price === "1" && this.is_noble) {
+              let is_p = true;
+              this.ladder_tableData.forEach((v) => {
+                if (v.nake_fee * 1 !== 0) {
+                  is_p = false;
+                }
+              });
+              if (!is_p) {
+                this.$message.warning(
+                  "启用实时金价的贵金属商品不能填写成本单价!"
+                );
+                this.loading = false;
+                return;
+              }
+            }
+            // if (good_type === "1") {
+            //   let set_num = moq * 1;
+            //   let isok = true;
+            //   this.ladder_tableData.forEach((e) => {
+            //     if (e.min_num * 1 < set_num) {
+            //       isok = false;
+            //     }
+            //   });
+            //   if (!isok) {
+            //     this.$message.warning("阶梯成本的起订量不能小于定制起订量!");
+            //     this.loading = false;
+            //     return;
+            //   }
+            // }
 
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          model.cat_id = model.cat_id.toString();
-          model.brandid = model.brandid.toString();
-          model.supplierNo = model.supplierNo.toString();
-          model.delivery_place = model.delivery_place.toString();
-          model.origin_place = model.origin_place.toString();
-          model.good_info_img = model.good_info_img.toString();
-          model.good_img = model.good_img.toString();
-          model.unit = model.unit.toString();
-          model.speclist = JSON.parse(JSON.stringify(this.setResData(1)));
-          model.good_ladder = JSON.parse(JSON.stringify(this.setResData(2)));
-          model.config = model.config.toString();
-          model.is_exclusive =
-            model.is_exclusive.length > 0
-              ? model.is_exclusive[model.is_exclusive.length - 1]
-              : "";
-          let res = {};
-          delete model["id"];
-          if (this.type === "add") {
-            delete model["spuCode"];
-            res = await asyncRequest.add(model);
-          } else if (this.type === "editBase") {
-            let item1 = this.setModel(model, "1");
-            res = await asyncRequest.update(item1);
-          } else if (this.type === "editCoin") {
-            let item2 = this.setModel(model, "2");
-            res = await asyncRequest.updateP(item2);
-          } else {
-            model.companyNo = model.company_id;
-            delete model["company_id"];
-            res = await asyncRequest.edit_update(model);
-          }
-          console.log(res);
-          this.loading = false;
-          const { code, data, message } = res;
-          if (code === 0) {
-            const title =
-              this.type === "add"
-                ? "新建成功!"
-                : this.type === "editBase"
-                ? "基础信息修改成功!"
-                : this.type === "editCoin"
-                ? "成本信息修改成功!"
-                : "商品信息修改成功";
-            this.$notify.success({
-              title: title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (code >= 100 && code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(message);
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            model.cat_id = model.cat_id.toString();
+            model.brandid = model.brandid.toString();
+            model.supplierNo = model.supplierNo.toString();
+            model.delivery_place = model.delivery_place.toString();
+            model.origin_place = model.origin_place.toString();
+            model.good_info_img = model.good_info_img.toString();
+            model.good_img = model.good_img.toString();
+            model.unit = model.unit.toString();
+            model.speclist = JSON.parse(JSON.stringify(this.setResData(1)));
+            model.good_ladder = JSON.parse(JSON.stringify(this.setResData(2)));
+            model.config = model.config.toString();
+            model.is_exclusive =
+              model.is_exclusive.length > 0
+                ? model.is_exclusive[model.is_exclusive.length - 1]
+                : "";
+            let res = {};
+            delete model["id"];
+            if (this.type === "add") {
+              delete model["spuCode"];
+              res = await asyncRequest.add(model);
+            } else if (this.type === "editBase") {
+              let item1 = this.setModel(model, "1");
+              res = await asyncRequest.update(item1);
+            } else if (this.type === "editCoin") {
+              let item2 = this.setModel(model, "2");
+              res = await asyncRequest.updateP(item2);
+            } else {
+              model.companyNo = model.company_id;
+              delete model["company_id"];
+              res = await asyncRequest.edit_update(model);
+            }
+            console.log(res);
+            this.loading = false;
+            const { code, data, message } = res;
+            if (code === 0) {
+              const title =
+                this.type === "add"
+                  ? "新建成功!"
+                  : this.type === "editBase"
+                  ? "基础信息修改成功!"
+                  : this.type === "editCoin"
+                  ? "成本信息修改成功!"
+                  : "商品信息修改成功";
+              this.$notify.success({
+                title: title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (code >= 100 && code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(message);
+            }
           }
         } else {
-          console.log(valid);
           console.log("error submit!!");
           return false;
         }

+ 49 - 45
src/views/goodStore/goodsOnline/add.vue

@@ -274,59 +274,63 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          if (this.tableData.length === 0) {
-            this.$message.warning("至少选择一个商品!");
-            return;
-          }
-          if (this.tableData.length > 100) {
-            this.$message.warning("商品数量不能超过100!");
-            return;
-          }
+          if (!this.loading) {
+            if (this.tableData.length === 0) {
+              this.$message.warning("至少选择一个商品!");
+              return;
+            }
+            if (this.tableData.length > 100) {
+              this.$message.warning("商品数量不能超过100!");
+              return;
+            }
 
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let list = JSON.parse(JSON.stringify(this.tableData));
-          list.forEach((e) => {
-            model.codes.push(e.spuCode);
-          });
-          // model.platform = model.platform.toString();
-          const { code, data, message } = await asyncRequest.add(model);
-          this.loading = false;
-          if (code === 0) {
-            this.$notify.success({
-              title: "新建成功",
-              message: "",
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            let list = JSON.parse(JSON.stringify(this.tableData));
+            list.forEach((e) => {
+              model.codes.push(e.spuCode);
             });
-            this.showModelThis = false;
-            // 刷新
-            this.routeReGoto("goodsOnline", {});
-          } else if (code >= 100 && code <= 104) {
-            await this.logout(code <= 104);
-          } else if (code == 1009) {
-            let resList = JSON.parse(JSON.stringify(data));
+            // model.platform = model.platform.toString();
+            const { code, data, message } = await asyncRequest.add(model);
+            this.loading = false;
+            if (code === 0) {
+              this.$notify.success({
+                title: "新建成功",
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.routeReGoto("goodsOnline", {});
+            } else if (code >= 100 && code <= 104) {
+              await this.logout(code <= 104);
+            } else if (code == 1009) {
+              let resList = JSON.parse(JSON.stringify(data));
 
-            let htmlList = "<ul>";
-            resList.forEach((v) => {
-              htmlList += `<li>
+              let htmlList = "<ul>";
+              resList.forEach((v) => {
+                htmlList += `<li>
           <img src='${v.good_img}' style='width: 20px; height: 20px'
                   class='hover'
                   v-viewer/>
                   <span>${v.good_name}__</span>`;
-              const { speclist } = v;
-              let str = "<span>";
-              speclist.forEach((a, ai) => {
-                str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${a.spec_value}]`;
+                const { speclist } = v;
+                let str = "<span>";
+                speclist.forEach((a, ai) => {
+                  str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${
+                    a.spec_value
+                  }]`;
+                });
+                htmlList += str + "</span>" + `</li>`;
               });
-              htmlList += str + "</span>" + `</li>`;
-            });
-            htmlList += "</ul>";
-            this.$notify({
-              title: "以下商品已上线或已经在审批流程中!",
-              dangerouslyUseHTMLString: true,
-              message: htmlList,
-            });
-          } else {
-            this.$message.warning(message);
+              htmlList += "</ul>";
+              this.$notify({
+                title: "以下商品已上线或已经在审批流程中!",
+                dangerouslyUseHTMLString: true,
+                message: htmlList,
+              });
+            } else {
+              this.$message.warning(message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 125 - 124
src/views/goodStore/goodsOnline/components/fixed-price-form.vue

@@ -326,50 +326,50 @@
     >
       <el-row>
         <el-col :span="12"
-        ><el-form-item label="审核状态" prop="state">
-          <el-radio-group
-            v-model="ruleForm.state"
-            placeholder="请选择审核状态"
-            style="width: 100%"
-            :size="size || 'medium'"
-            @change="stateChange"
-          >
-            <el-radio
-              v-for="item in stateList"
-              :key="item.value"
-              :label="item.value"
-              >{{ item.label }}</el-radio
+          ><el-form-item label="审核状态" prop="state">
+            <el-radio-group
+              v-model="ruleForm.state"
+              placeholder="请选择审核状态"
+              style="width: 100%"
+              :size="size || 'medium'"
+              @change="stateChange"
             >
-          </el-radio-group>
-        </el-form-item>
-      </el-col>
-      <el-col :span="12">
-        <el-form-item
-          label="审核备注"
-          v-if="ruleForm.state === '0'"
-          prop="remark"
-        >
-          <el-input
-            type="textarea"
-            placeholder="审核备注"
-            v-model="ruleForm.remark"
-            :disabled="disabled"
-            maxlength="250"
-            show-word-limit
-            :autosize="{ minRows: 3, maxRows: 3 }"
-          />
-        </el-form-item>
+              <el-radio
+                v-for="item in stateList"
+                :key="item.value"
+                :label="item.value"
+                >{{ item.label }}</el-radio
+              >
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item
+            label="审核备注"
+            v-if="ruleForm.state === '0'"
+            prop="remark"
+          >
+            <el-input
+              type="textarea"
+              placeholder="审核备注"
+              v-model="ruleForm.remark"
+              :disabled="disabled"
+              maxlength="250"
+              show-word-limit
+              :autosize="{ minRows: 3, maxRows: 3 }"
+            />
+          </el-form-item>
 
-        <el-form-item class="fr" v-if="ruleForm.state === '0'" >
-          <el-button
-            v-if="!isDetail"
-            :size="'mini'"
-            type="primary"
-            @click="rejectRe('')"
-            >驳回重新审核
-          </el-button>
-        </el-form-item>
-        <!-- <el-form-item class="fr" v-if="ruleForm.state === '0'" style="margin-right:30px;" >
+          <el-form-item class="fr" v-if="ruleForm.state === '0'">
+            <el-button
+              v-if="!isDetail"
+              :size="'mini'"
+              type="primary"
+              @click="rejectRe('')"
+              >驳回重新审核
+            </el-button>
+          </el-form-item>
+          <!-- <el-form-item class="fr" v-if="ruleForm.state === '0'" style="margin-right:30px;" >
           <el-button
             v-if="!isDetail"
             :size="'mini'"
@@ -378,7 +378,7 @@
             >驳回并下线
           </el-button>
         </el-form-item> -->
-      </el-col>
+        </el-col>
         <el-col :span="24" v-if="ruleForm.state === '1'"
           ><el-form-item label="售价凭证类型" prop="proof_type">
             <el-radio-group
@@ -646,11 +646,11 @@ export default {
       costsitem: {},
       ruleForm: {
         skuCode: "",
-        numStatus:"",
-        state:"1",//通过or驳回
-        proof_type: "1", // 
+        numStatus: "",
+        state: "1", //通过or驳回
+        proof_type: "1", //
         proof_url: "", //驳回至
-        remark:"",
+        remark: "",
       },
       rulesThis: this.rules,
       rules: {
@@ -765,26 +765,25 @@ export default {
     this.initForm();
   },
   methods: {
-
-     // 点击驳回重新审核或驳回并下线按钮
+    // 点击驳回重新审核或驳回并下线按钮
     async rejectRe(numStatus) {
-      this.ruleForm.numStatus = numStatus
+      this.ruleForm.numStatus = numStatus;
       await this.$refs.ruleForm.validate(async (valid) => {
-          if (valid) {
-            console.log(valid)
-            this.$emit("searchChange", this.ruleForm);
-          } else {
-            console.log("error submit!!");
-            return false;
-          }
-        }); 
+        if (valid) {
+          console.log(valid);
+          this.$emit("searchChange", this.ruleForm);
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
     },
     async initForm() {
       console.log(this.spuCode);
       this.loading = true;
       await this.resetForm();
       this.rulesThis = this.rules;
-      this.stateChange()
+      this.stateChange();
       this.loading = false;
     },
     stateChange() {
@@ -797,7 +796,6 @@ export default {
       }
     },
 
-
     openCostEdit(index) {
       let findex = this.addrForm.good_ladder.findIndex((v) => v.edit === true);
       if (findex !== -1) {
@@ -929,8 +927,8 @@ export default {
           this.ruleForm = {
             skuCode: this.id,
             state: "1", // 通过or驳回
-            remark:"",
-            numStatus:"",
+            remark: "",
+            numStatus: "",
             proof_type: proof && proof.proof_type ? proof.proof_type : "1", // 通过or驳回
             proof_url: proof && proof.proof_url ? proof.proof_url : "", //驳回至
           };
@@ -977,74 +975,77 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
 
-          if (this.addrForm.good_ladder.length === 0) {
-            this.$message.warning("至少添加一条销售价信息!");
-            this.loading = false;
-            return;
-          }
-          let list = JSON.parse(JSON.stringify(this.addrForm.good_ladder));
-          let isedit = false;
-          list.forEach((v) => {
-            if (v.edit) {
-              isedit = true;
+            if (this.addrForm.good_ladder.length === 0) {
+              this.$message.warning("至少添加一条销售价信息!");
+              this.loading = false;
+              return;
+            }
+            let list = JSON.parse(JSON.stringify(this.addrForm.good_ladder));
+            let isedit = false;
+            list.forEach((v) => {
+              if (v.edit) {
+                isedit = true;
+              }
+            });
+            if (isedit) {
+              this.$message.warning("请保存阶梯售价!");
+              this.loading = false;
+              return;
             }
-          });
-          if (isedit) {
-            this.$message.warning("请保存阶梯售价!");
-            this.loading = false;
-            return;
-          }
 
-          let all_is_ok = true;
-          for (let i = 0; i < this.addrForm.good_ladder; i++) {
-            this.addrForm.good_ladder[i].search_loading = true;
-            let { isok, price, new_cost_fee } = await this.get_new(i);
-            if (isok === 0) {
-              this.addrForm.good_ladder[i].new_sale_price = price;
-              this.addrForm.good_ladder[i].new_cost_fee = new_cost_fee;
-              this.addrForm.good_ladder[i].this.addrForm.good_ladder[
-                i
-              ].edit = false;
-            } else if (isok >= 100 && isok <= 104) {
-              await this.logout();
-            } else {
-              all_is_ok = false;
-              this.addrForm.good_ladder[i].new_sale_price = price;
-              this.addrForm.good_ladder[i].new_cost_fee = new_cost_fee;
-              this.addrForm.good_ladder[i].edit = true;
-              this.addrForm.good_ladder[i].newTime = new Date().valueOf() + "";
+            let all_is_ok = true;
+            for (let i = 0; i < this.addrForm.good_ladder; i++) {
+              this.addrForm.good_ladder[i].search_loading = true;
+              let { isok, price, new_cost_fee } = await this.get_new(i);
+              if (isok === 0) {
+                this.addrForm.good_ladder[i].new_sale_price = price;
+                this.addrForm.good_ladder[i].new_cost_fee = new_cost_fee;
+                this.addrForm.good_ladder[i].this.addrForm.good_ladder[
+                  i
+                ].edit = false;
+              } else if (isok >= 100 && isok <= 104) {
+                await this.logout();
+              } else {
+                all_is_ok = false;
+                this.addrForm.good_ladder[i].new_sale_price = price;
+                this.addrForm.good_ladder[i].new_cost_fee = new_cost_fee;
+                this.addrForm.good_ladder[i].edit = true;
+                this.addrForm.good_ladder[i].newTime =
+                  new Date().valueOf() + "";
+              }
             }
-          }
-          if (!all_is_ok) {
-            this.$message.warning("阶梯售价未满足成本最低起订量!");
-            this.loading = false;
-          }
-          let list2 = [];
-          list.forEach((e) => {
-            let n = JSON.parse(JSON.stringify(e));
-            for (let key in n) {
-              n[key] += "";
+            if (!all_is_ok) {
+              this.$message.warning("阶梯售价未满足成本最低起订量!");
+              this.loading = false;
             }
-            delete n["index"];
-            list2.push(n);
-          });
-          model.good_ladder = list2;
-          model.skuCode = this.id;
-          let res = await asyncRequest.ladderOne(model);
-          this.loading = false;
-          if (res && res.code === 0) {
-            this.$notify.success({
-              title: "信息提交成功",
-              message: "",
+            let list2 = [];
+            list.forEach((e) => {
+              let n = JSON.parse(JSON.stringify(e));
+              for (let key in n) {
+                n[key] += "";
+              }
+              delete n["index"];
+              list2.push(n);
             });
-            this.$emit("resSuccess", true);
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+            model.good_ladder = list2;
+            model.skuCode = this.id;
+            let res = await asyncRequest.ladderOne(model);
+            this.loading = false;
+            if (res && res.code === 0) {
+              this.$notify.success({
+                title: "信息提交成功",
+                message: "",
+              });
+              this.$emit("resSuccess", true);
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 25 - 23
src/views/goodStore/sort/addEdit.vue

@@ -236,29 +236,31 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            let res = {};
+            if (this.id === "003") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功!" : "修改成功!";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 22 - 20
src/views/goodStore/sort/addEditRate.vue

@@ -129,7 +129,7 @@
                 @reschange="rate_change($event, 'lower_rate')"
               />
             </el-form-item>-->
-          </el-form> 
+          </el-form>
         </el-col>
         <el-col :span="24" style="text-align: right">
           <el-button
@@ -342,25 +342,27 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          delete model["cat_name"];
-          delete model["pid"];
-          delete model["fund_code"];
-          let res = await asyncRequest.editRate(model);
-          this.loading = false;
-          if (res && res.code === 0) {
-            this.$notify.success({
-              title: "毛利率设置成功!",
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            delete model["cat_name"];
+            delete model["pid"];
+            delete model["fund_code"];
+            let res = await asyncRequest.editRate(model);
+            this.loading = false;
+            if (res && res.code === 0) {
+              this.$notify.success({
+                title: "毛利率设置成功!",
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 25 - 25
src/views/goodStore/specs/addEdit.vue

@@ -32,7 +32,6 @@
                 maxlength="20"
               />
             </el-form-item>
-        
           </el-form>
         </el-col>
         <el-col :span="24" style="text-align: right">
@@ -121,29 +120,31 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            let res = {};
+            if (this.id === "003") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功!" : "修改成功!";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");
@@ -157,6 +158,5 @@ export default {
 
    <style lang="scss" scoped>
 .specs {
- 
 }
 </style>

+ 26 - 26
src/views/goodStore/unit/addEdit.vue

@@ -108,7 +108,7 @@ export default {
         if (this.$refs.ruleForm) {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
-          const { id, unit} = this.sitem;
+          const { id, unit } = this.sitem;
           this.ruleForm = {
             id: id || "",
             unit: unit || "",
@@ -119,29 +119,31 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "003" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            let res = {};
+            if (this.id === "003") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "003" ? "添加成功!" : "修改成功!";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");
@@ -149,13 +151,11 @@ export default {
         }
       });
     },
-
   },
 };
 </script>
 
    <style lang="scss" scoped>
 .brand {
-  
 }
 </style>

+ 68 - 66
src/views/interest/account/addEdit.vue

@@ -628,74 +628,76 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          const {
-            username,
-            name,
-            mobile,
-            email,
-            role_id,
-            status,
-            itemid,
-            is_main,
-            is_all,
-            companyArr,
-            platform,
-          } = JSON.parse(JSON.stringify(this.ruleForm));
-          let list = [],
-            isok = true;
-          companyArr.forEach((e) => {
-            let item = {
-              businessid: e,
-              is_main: is_main === e ? "1" : "0",
-            };
-            list.push(item);
-            let findex = this.coptions.findIndex(
-              (a) => a.id === e && a.status === "0"
-            );
-            if (findex !== -1) {
-              isok = false;
-            }
-          });
-          if (!isok) {
-            this.$message.warning("不能选择禁用的业务企业!");
+          if (!this.loading) {
             this.loading = true;
-            return;
-          }
-          const model = {
-            id: this.id,
-            username: username || "", // 账号
-            nickname: name || "", // 真实姓名
-            mobile: mobile || "",
-            email: email || "",
-            role: role_id || "",
-            status: status || "",
-            itemid: itemid || [],
-            is_all: is_all ? "1" : "0",
-            platform: platform || [],
-            companyArr: list,
-          };
-          let res = {};
-          if (this.id === "add") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功" : "修改成功";
-            this.$notify.success({
-              title,
-              message: "",
+            const {
+              username,
+              name,
+              mobile,
+              email,
+              role_id,
+              status,
+              itemid,
+              is_main,
+              is_all,
+              companyArr,
+              platform,
+            } = JSON.parse(JSON.stringify(this.ruleForm));
+            let list = [],
+              isok = true;
+            companyArr.forEach((e) => {
+              let item = {
+                businessid: e,
+                is_main: is_main === e ? "1" : "0",
+              };
+              list.push(item);
+              let findex = this.coptions.findIndex(
+                (a) => a.id === e && a.status === "0"
+              );
+              if (findex !== -1) {
+                isok = false;
+              }
             });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+            if (!isok) {
+              this.$message.warning("不能选择禁用的业务企业!");
+              this.loading = true;
+              return;
+            }
+            const model = {
+              id: this.id,
+              username: username || "", // 账号
+              nickname: name || "", // 真实姓名
+              mobile: mobile || "",
+              email: email || "",
+              role: role_id || "",
+              status: status || "",
+              itemid: itemid || [],
+              is_all: is_all ? "1" : "0",
+              platform: platform || [],
+              companyArr: list,
+            };
+            let res = {};
+            if (this.id === "add") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功" : "修改成功";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 20 - 19
src/views/interest/account/resetPassword.vue

@@ -44,7 +44,7 @@
                 name="confirmPassword"
                 type="password"
                 tabindex="1"
-                 maxlength="50"
+                maxlength="50"
                 autocomplete="on"
               />
             </el-form-item>
@@ -67,7 +67,7 @@ import resToken from "@/mixins/resToken";
 export default {
   name: "Account",
   props: ["showModel", "id", "isDetail"],
-  mixins:[resToken],
+  mixins: [resToken],
   data() {
     const validateNewPassword = (rule, value, callback) => {
       if (value === "") {
@@ -136,7 +136,6 @@ export default {
     },
   },
   methods: {
-    
     async initForm() {
       this.rulesThis = this.rules;
       await this.resetForm();
@@ -159,22 +158,24 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          const obj = JSON.parse(JSON.stringify(this.ruleForm));
-          const res = await asyncRequest.setpwd(obj);
-          this.loading = false;
-          if (res && res.code === 0) {
-            this.$notify.success({
-              title: "密码修改成功!",
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          }else{
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            this.loading = true;
+            const obj = JSON.parse(JSON.stringify(this.ruleForm));
+            const res = await asyncRequest.setpwd(obj);
+            this.loading = false;
+            if (res && res.code === 0) {
+              this.$notify.success({
+                title: "密码修改成功!",
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 50 - 48
src/views/interest/dataShare/addEdit.vue

@@ -335,54 +335,56 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          if (this.ruleForm.touserid.length === 0 && this.select === "1") {
-            this.$message.warning("请选择数据共享用户");
-            return;
-          }
-          if (this.ruleForm.togroupid.length === 0 && this.select !== "1") {
-            this.$message.warning("请选择数据共享用户组");
-            return;
-          }
-          if (
-            this.select === "1" &&
-            this.ruleForm.userid[0] === this.ruleForm.touserid[0]
-          ) {
-            this.$message.warning("源用户不能与分享用户一致!");
-            return;
-          }
-          this.loading = true;
-          const { collect, userid, touserid, togroupid, action } = JSON.parse(
-            JSON.stringify(this.ruleForm)
-          );
-          const model = {
-            id: this.id,
-            collect: collect.join(),
-            userid: userid.join(),
-            touserid: this.select === "1" ? touserid.join() : "",
-            togroupid: this.select === "1" ? "" : togroupid.join(),
-            action: action,
-          };
-          let res = {};
-          if (this.id === "add") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功" : "修改成功";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (!this.loading) {
+            if (this.ruleForm.touserid.length === 0 && this.select === "1") {
+              this.$message.warning("请选择数据共享用户");
+              return;
+            }
+            if (this.ruleForm.togroupid.length === 0 && this.select !== "1") {
+              this.$message.warning("请选择数据共享用户组");
+              return;
+            }
+            if (
+              this.select === "1" &&
+              this.ruleForm.userid[0] === this.ruleForm.touserid[0]
+            ) {
+              this.$message.warning("源用户不能与分享用户一致!");
+              return;
+            }
+            this.loading = true;
+            const { collect, userid, touserid, togroupid, action } = JSON.parse(
+              JSON.stringify(this.ruleForm)
+            );
+            const model = {
+              id: this.id,
+              collect: collect.join(),
+              userid: userid.join(),
+              touserid: this.select === "1" ? touserid.join() : "",
+              togroupid: this.select === "1" ? "" : togroupid.join(),
+              action: action,
+            };
+            let res = {};
+            if (this.id === "add") {
+              delete model["id"];
+              res = await asyncRequest.add(model);
+            } else {
+              res = await asyncRequest.update(model);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功" : "修改成功";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 29 - 28
src/views/interest/group/addEdit.vue

@@ -13,7 +13,7 @@
     element-loading-background="rgba(0, 0, 0, 0.8)"
     @close="showModelThis = false"
   >
-    <el-card style="margin-top:-20px">
+    <el-card style="margin-top: -20px">
       <el-row :gutter="10">
         <el-col :span="24">
           <el-form
@@ -28,7 +28,7 @@
               <el-input
                 v-model="ruleForm.name"
                 placeholder="请输入组名称"
-                 maxlength="50"
+                maxlength="50"
                 :disabled="isDetail"
               />
             </el-form-item>
@@ -163,7 +163,6 @@ export default {
     },
   },
   methods: {
-    
     async initForm() {
       await this.getAllActive();
       this.loading = true;
@@ -219,31 +218,33 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          const obj = JSON.parse(JSON.stringify(this.ruleForm));
-          const arr = obj.group_user.join();
-          obj.group_user = arr;
-          let res = {};
-          if (this.id === "add") {
-            delete obj["id"];
-            res = await asyncRequest.add(obj);
-          } else {
-            res = await asyncRequest.update(obj);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功" : "修改成功";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
+          if (this.loading) {
+            this.loading = true;
+            const obj = JSON.parse(JSON.stringify(this.ruleForm));
+            const arr = obj.group_user.join();
+            obj.group_user = arr;
+            let res = {};
+            if (this.id === "add") {
+              delete obj["id"];
+              res = await asyncRequest.add(obj);
+            } else {
+              res = await asyncRequest.update(obj);
+            }
+            this.loading = false;
+            if (res && res.code === 0) {
+              const title = this.id === "add" ? "添加成功" : "修改成功";
+              this.$notify.success({
+                title,
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
+            }
           }
         } else {
           console.log("error submit!!");

+ 4 - 0
src/views/interest/handover/components/addEditForm.vue

@@ -211,6 +211,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if(!this.loading){
+
+         
           const { resign_uid, hand_uid, expire_date } = this.ruleForm;
           let rUid = resign_uid.toString(),
             hUid = hand_uid.toString();
@@ -247,6 +250,7 @@ export default {
           } else {
             this.$message.warning(res.message);
           }
+           }
         } else {
           console.log("error submit!!");
           return false;

+ 6 - 2
src/views/interest/role/addEdit.vue

@@ -29,7 +29,7 @@
               <el-input
                 v-model="ruleForm.role_name"
                 :disabled="isDetail"
-                 maxlength="50"
+                maxlength="50"
                 placeholder="角色名称"
               />
             </el-form-item>
@@ -516,7 +516,8 @@ export default {
       const res = await asyncRequest.detail({ roleid: this.id });
       if (res && res.code === 0 && res.data) {
         let resD = res.data;
-        resD.private_field=resD.private_field===''?[]:resD.private_field
+        resD.private_field =
+          resD.private_field === "" ? [] : resD.private_field;
         this.ruleForm = resD;
 
         if (resD.action && resD.action.length > 0) {
@@ -643,6 +644,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.action_data = []; // 字段数据
           this.action = []; // 功能数据
           let arr = [];

+ 3 - 0
src/views/orderEntry/orderConfirm/index.vue

@@ -1228,6 +1228,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+            if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.platform_id = this.platform_id;

+ 4 - 1
src/views/person-infor/my-message.vue

@@ -211,7 +211,10 @@ export default {
     },
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
-        if (valid && !this.loading) {
+        if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const obj = JSON.parse(JSON.stringify(this.ruleForm));
           delete obj["role_name"];

+ 3 - 0
src/views/purchaseIn/purchaseDiffOrder/addEditModel.vue

@@ -178,6 +178,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+            if (this.loading) {
+            return;
+          }
           this.loading = true;
           const { cgdNo, num } = this.ruleForm;
           const model = {

+ 0 - 6
src/views/purchaseIn/purchaseDiffOrder/detail.vue

@@ -237,12 +237,6 @@ export default {
         }
 
         this.getNewTime();
-        // if (this.order_type === "2") {
-        //   this.order_type = res.data.cgdNo;
-        //   this.statusOptions.unshift({ value: "0", label: "竞价单" });
-        // }
-        // this.order_type === "1" ? "CGGCD" : "ZXGCD";
-        // this.order_type = res.data.order_type;
       } else if (res && res.code >= 100 && res.code <= 104) {
         await this.logout();
       } else {

+ 3 - 0
src/views/purchaseIn/purchaseOrder/components/editPrice.vue

@@ -171,6 +171,9 @@ export default {
       await this.$refs.ruleForm.validate(async (valid) => {
         console.log(valid)
         if (valid) {
+            if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           let res = await asyncRequest.cgdeditgoldprice(model);

+ 3 - 0
src/views/purchaseIn/purchaseOrder/components/order-in-table.vue

@@ -191,6 +191,9 @@ export default {
       this.showModel = true;
     },
     async submitForm() {
+        if (this.loading) {
+            return;
+          }
       let good = [];
       this.loading = true;
       good = this.getGoodList();

+ 6 - 2
src/views/purchaseIn/purchaseOrder/components/tolerance.vue

@@ -1,6 +1,5 @@
 <template>
   <span>
-    <!-- {{ isshow + "" }}--{{ showBtn + "" }}--{{ order_type + "" }} -->
     <el-button
       v-show="isshow && showBtn && order_type && order_type !== '1'"
       type="primary"
@@ -46,6 +45,7 @@ export default {
     this.order_type = order_type;
     this.spuCode = spuCode;
     this.cgdNo = cgdNo;
+
     // this.queryId = this.$route.query.id;
     this.initData();
   },
@@ -54,7 +54,7 @@ export default {
     async initData() {
       // console.log("111111");
       let res = {};
-      if (this.order_type === "1" || this.order_type === "2"|| this.order_type === "5" || this.order_type === "6") {
+      if (this.order_type === "1" || this.order_type === "2") {
         res = await asyncRequest.cost_detail({ spuCode: this.spuCode });
       } else {
         res = await asyncRequest.re_detail({ spuCode: this.spuCode });
@@ -78,6 +78,10 @@ export default {
             weight: noble_weight,
           };
         }
+
+        console.log(this.isshow +'-'+this. showBtn +"-"+ this.order_type);
+
+
       } else if (code >= 100 && code <= 104) {
         await this.logout();
       } else {

+ 3 - 0
src/views/purchaseIn/purchaseOrder/components/work-diff-table.vue

@@ -193,6 +193,9 @@ export default {
     // async submitForm() {
     //   await this.$refs.ruleForm.validate(async (valid) => {
     //     if (valid) {
+    //    if (this.loading) {
+    //        return;
+    //      }
     //       this.loading = true;
     //       const { order_addr } = JSON.parse(JSON.stringify(this.addrForm));
     //       let model = {

+ 4 - 6
src/views/purchaseIn/purchaseOrder/detail.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="purchaseOrderDetail pagePadding">
+   
     <div
       style="width: 100%"
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
@@ -180,7 +181,7 @@
                       show-overflow-tooltip
                     >
                     </el-table-column>
-                     <el-table-column
+                    <el-table-column
                       prop="mobile"
                       label="联系电话"
                       show-overflow-tooltip
@@ -359,13 +360,9 @@ export default {
       }
     },
     async goldPrice() {
-      // console.log(this.sitem.order_type,"11111111111111111111111")
-      // if(this.sitem.order_type){}
-      // return;
       let res = {};
       let { order_type } = this.sitem;
-      console.log( order_type == "6")
-      if (order_type == "1" || order_type == "2" || order_type == "5"|| order_type == "6") {
+      if (order_type == "1" ||order_type == "2" ) {
         res = await asyncRequest.cost_detail({ spuCode: this.sitem.spuCode });
       } else {
         res = await asyncRequest.cove_detail({ spuCode: this.sitem.spuCode });
@@ -387,6 +384,7 @@ export default {
         this.goldPrice();
         const { status, can, cgdNo } = this.sitem;
         this.status = status;
+        console.log(this.status);
         if (can && can.length > 0) {
           this.sitem.class_cat = "";
           can.forEach((x, i) => {

+ 0 - 2
src/views/purchaseIn/purchaseReturn/components/columns.js

@@ -9,8 +9,6 @@ export default [
     label: "退货单编号",
     width: "160"
   },
-  // {确认单编号}
-  // {order_type类型}
   {
     prop: "apply_name",
     label: "申请人"

+ 9 - 10
src/views/purchaseIn/workbench/components/baseForm.vue

@@ -866,18 +866,14 @@ export default {
       let e = this.accAdd(pakge_fee, mark_fee); //包装费+加标费
       let f = this.accAdd(cert_fee, nake_fee); //证书费+产品裸价
       if (this.is_noble) {
-        this.newPrice = (
-          this.accAdd(
-            this.accAdd(this.accAdd(a, b), this.accAdd(c, d)),
-            this.accAdd(this.accAdd(e, f), delivery_fee)
-          ) 
+        this.newPrice = this.accAdd(
+          this.accAdd(this.accAdd(a, b), this.accAdd(c, d)),
+          this.accAdd(this.accAdd(e, f), delivery_fee)
         ).toFixed(2);
       } else {
-        this.newPrice = (
-          this.accAdd(
-            this.accAdd(this.accAdd(a, b), this.accAdd(e, f)),
-            delivery_fee
-          ) 
+        this.newPrice = this.accAdd(
+          this.accAdd(this.accAdd(a, b), this.accAdd(e, f)),
+          delivery_fee
         ).toFixed(2);
       }
       console.log(new Date().valueOf() + this.newPrice);
@@ -1004,6 +1000,9 @@ export default {
       }
     },
     async submitForm() {
+      if (this.loading) {
+        return;
+      }
       if (this.is_noble) {
         this.ruleForm.nake_fee = "0";
       }

+ 4 - 1
src/views/purchaseIn/wsmInOrder/components/wsm-in-order-check-form.vue

@@ -278,12 +278,15 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let item = JSON.parse(JSON.stringify(this.ruleForm));
           let rnum = parseInt(item.return_num),
             wnum = parseInt(item.wsm_num),
             anum = parseInt(item.send_num),
-          renum = parseInt(item.reissue_num);
+            renum = parseInt(item.reissue_num);
 
           if (rnum + wnum !== anum) {
             this.$message.warning(

+ 4 - 2
src/views/purchaseIn/wsmInOrder/components/wsm-in-order-model.vue

@@ -69,8 +69,7 @@
                     style="width: 100%"
                     :size="'mini'"
                     :disabled="
-                      (sitem && sitem.order_type === '3') ||
-                      (sitem && sitem.order_type === '4')
+                      (sitem && sitem.order_type === '3') 
                     "
                     placeholder="发货方式"
                     @change="sendtypeChange"
@@ -339,6 +338,9 @@ export default {
       console.log(this.rules);
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+           if (this.loading) {
+        return;
+      }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.post_company = model.post_company.toString();

+ 4 - 1
src/views/purchaseIn/wsmInOrder/components/wsm-in-order-record-form.vue

@@ -235,7 +235,7 @@ export default {
         if (index === -1) {
           this.tableForm.error_list.push(e);
         } else {
-           this.$set(this.tableForm.error_list, index, e);
+          this.$set(this.tableForm.error_list, index, e);
         }
       }
     },
@@ -281,6 +281,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const item = JSON.parse(JSON.stringify(this.ruleForm));
           let snum = parseInt(item.send_num),

+ 4 - 1
src/views/purchaseIn/wsmInOrder/components/wsm-in-order-return-form.vue

@@ -190,9 +190,12 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let item = JSON.parse(JSON.stringify(this.ruleForm));
-          item.post_company=item.post_company.toString()
+          item.post_company = item.post_company.toString();
           delete item["return_num"];
           const res = await asyncRequest.returnsend(item);
           this.loading = false;

+ 9 - 2
src/views/reportQuery/financeReport/addEdit.vue

@@ -56,7 +56,11 @@
           <el-alert
             style="width: 230px"
             :closable="false"
-            :title="type==='2'?'报表会在提交后开始执行!':'报表会在明天01:00开始生成'"
+            :title="
+              type === '2'
+                ? '报表会在提交后开始执行!'
+                : '报表会在明天01:00开始生成'
+            "
             type="warning"
           >
           </el-alert>
@@ -79,7 +83,7 @@ import resToken from "@/mixins/resToken";
 import PeriodDatePicker from "./components/PeriodDatePicker";
 export default {
   name: "financeReport",
-  props: ["showModel", "sitem",'type'],
+  props: ["showModel", "sitem", "type"],
   mixins: [resToken],
   components: {
     PeriodDatePicker,
@@ -188,6 +192,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const model = JSON.parse(JSON.stringify(this.ruleForm));
           let res = await asyncRequest.add(model);

+ 9 - 2
src/views/reportQuery/saleReportOrder/addEdit.vue

@@ -56,7 +56,11 @@
           <el-alert
             style="width: 230px"
             :closable="false"
-            :title="type==='2'?'报表会在提交后开始执行!':'报表会在明天01:00开始生成'"
+            :title="
+              type === '2'
+                ? '报表会在提交后开始执行!'
+                : '报表会在明天01:00开始生成'
+            "
             type="warning"
           >
           </el-alert>
@@ -79,7 +83,7 @@ import resToken from "@/mixins/resToken";
 import PeriodDatePicker from "./components/PeriodDatePicker";
 export default {
   name: "saleReportOrder",
-  props: ["showModel", "sitem",'type'],
+  props: ["showModel", "sitem", "type"],
   mixins: [resToken],
   components: {
     PeriodDatePicker,
@@ -188,6 +192,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const model = JSON.parse(JSON.stringify(this.ruleForm));
           let res = await asyncRequest.add(model);

+ 0 - 444
src/views/reportQuery/test/components/detail6/main.vue

@@ -1,444 +0,0 @@
-<template>
-  <div>
-    
-    <detailDatatable
-      :newTime="newTime"
-      v-if="newTime !== '' && sitem"
-      :sitem="sitem"
-      :columns="columns"
-    >
-      <template slot="company">
-        <span>{{ sitem.company }}</span>
-        <el-popover placement="top" width="300" trigger="hover">
-          <ul>
-            <li>
-              <span>销售方公司编号:</span><span>{{ sitem.companyNo }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
-      </template>
-      <template slot="khName">
-        <span>{{ sitem.khName }}</span>
-        <el-popover placement="top" width="300" trigger="hover">
-          <ul>
-            <li>
-              <span>购买方公司编号:</span><span>{{ sitem.khNo }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
-      </template>
-
-      <template slot="ladder">
-        <el-table
-                :data="sitem.ladder"
-                :size="'mini'"
-                border
-                stripe
-                style="width: 100%"
-              >
-                <el-table-column label="商品阶梯" width="70px">
-                  <template slot-scope="scope">
-                    {{ scope.$index + 1 }}</template
-                  >
-                </el-table-column>
-                <el-table-column prop="good_type" label="商品类型" width="80px">
-                  <template slot-scope="scope">
-                    <el-tag
-                      :size="'mini'"
-                      v-text="
-                        (
-                          statusOptions.find(
-                            (item) => item.value == scope.row.good_type
-                          ) || {}
-                        ).label || '--'
-                      "
-                    ></el-tag
-                  ></template>
-                </el-table-column>
-                <el-table-column
-                  prop="budget_price"
-                  label="预算单价"
-                  width="110"
-                />
-                <el-table-column prop="num" label="购买数量" width="110" />
-                <el-table-column prop="cat_name" label="商品分类" />
-                <el-table-column prop="good_img" label="图片" width="50">
-                  <template slot-scope="scope">
-                    <div
-                      v-if="scope.row.good_img"
-                      style="width: 20px; height: 20px"
-                      class="hover"
-                      v-viewer
-                    >
-                      <img
-                        :src="scope.row.good_img"
-                        style="display: inline-block; width: 100%; height: 100%"
-                        alt=""
-                      />
-                    </div>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="good_name" label="商品名称" />
-
-             
-              </el-table>
-      </template>
-   
-
-      <template slot="wsm">
-        <span>{{ sitem.wsm_supplier }}/{{ sitem.wsm_name }}</span>
-        <el-popover placement="top" width="300" trigger="hover">
-          <ul>
-            <li>
-              <span>仓库公司编号:</span><span>{{ sitem.wsm_supplierNo }}</span>
-            </li>
-            <li>
-              <span>仓库名称编号:</span><span>{{ sitem.wsm_code }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
-      </template>
-
-     
-    </detailDatatable>
-    <div class="project-setPlan-title">
-        销售业务项目方案
-        <span
-          style="margin: 0 0 0 50px; font-size: 13px; color: #e4393c"
-          v-if="total !== 0 && table_type === 'list'"
-          >{{ plan_show.status === "1" ? "已选定" : "" }}方案总金额:{{
-            plan_show.sale_total
-          }}元</span
-        >
-      
-      </div>
-    <div class="project-setPlan-backGood-table">
-        <el-table
-          :data="plan_show.feedback"
-          :size="'mini'"
-          border
-          stripe
-          :ref="'multipleTable' + index"
-          style="width: 100%"
-        >
-          <el-table-column
-            prop="pgNo"
-            label="要求编码"
-            width="155px"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            prop="origin_sale_price"
-            label="系统售价单价"
-            width="110"
-            show-overflow-tooltip
-          />
-
-          <el-table-column
-            prop="new_sale_price"
-            label="当前销售单价"
-            width="110"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              <digital-input
-                v-if="table_type === 'add'"
-                :values="scope.row.new_sale_price"
-                :placeholder="'售价'"
-                :min="scope.row.new_sale_price"
-                :max="100000000000"
-                :position="'right'"
-                :precision="2"
-                :size="'mini'"
-                :controls="false"
-                :append="''"
-                @reschange="
-                  moq_num_change($event, scope.$index, 'new_sale_price')
-                "
-              />
-              <span v-else>{{ scope.row.sale_price }}元</span>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="origin_num"
-            label="竞价数量"
-            width="110"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            prop="num"
-            label="购买数量"
-            width="110"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              <digital-input
-                v-if="table_type === 'add'"
-                :values="scope.row.origin_num"
-                :placeholder="'购买数量'"
-                :min="scope.row.origin_num"
-                :max="100000000000"
-                :position="'right'"
-                :precision="0"
-                :size="'mini'"
-                :controls="false"
-                :append="''"
-                @reschange="moq_num_change($event, scope.$index, 'num')"
-              />
-              <span v-else>{{ scope.row.num }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column prop="data_source" label="商品来源" width="85">
-            <template slot-scope="scope">
-              <el-tag
-                :size="'mini'"
-                :type="scope.row.data_source === '1' ? 'success' : ''"
-                >{{
-                  scope.row.data_source === "1" ? "平台商品" : "采反商品"
-                }}</el-tag
-              >
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="good_img"
-            label="商品图片"
-            min-width="242px"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              <div v-if="scope.row.good_img && scope.row.good_img.length > 0">
-                <img
-                  v-for="(si, sii) in scope.row.good_img"
-                  :key="si + sii"
-                  :src="si"
-                  class="hover fl"
-                  style="
-                    display: inline-block;
-                    width: 20px;
-                    height: 20px;
-                    margin: 0 2px 0 0;
-                  "
-                  alt=""
-                  v-viewer
-                />
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="good_name"
-            label="商品名称"
-            min-width="120"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              <span>{{ scope.row.good_name }}</span>
-              <span v-for="(si, sii) in scope.row.specinfo" :key="si.id + sii">
-                {{ sii === 0 ? "_" : "-" }}{{ si.spec_name }}[{{
-                  si.spec_value_name
-                }}]
-              </span>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="class_cat"
-            label="商品分类"
-            show-overflow-tooltip
-          />
-          <!-- <el-table-column
-            prop="expiry_day"
-            label="信息有效期"
-            width="85"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            prop="work_day"
-            label="制作工期"
-            width="70"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            prop="delivery_day"
-            label="物流时间"
-            width="70"
-            show-overflow-tooltip
-          /> -->
-        </el-table>
-      </div>
-  </div>
-</template>
-
-<script>
-import {columns, statusOptions,} from "./columns";
-import { cg_order_type_options } from "@/assets/js/statusList";
-
-//————————————————
-import mixinPage from "@/mixins/elPaginationHandle";
-import resToken from "@/mixins/resToken";
-import asyncRequest from "@/apis/service/sellOut/project";
-import { mapGetters } from "vuex";
-import detailDatatable from "../detail-data-table";
-
-
-export default {
-  components:{
-    detailDatatable
-  },
-  mixins: [mixinPage, resToken],
-  computed: {
-    ...mapGetters(["tablebtnSize", "searchSize", "size", "private_field"]),
-    powers() {
-      let tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "standingBookDetail"
-        ) || {};
-      if (tran && tran.action && tran.action.length > 0) {
-        return tran.action;
-      } else {
-        return [];
-      }
-    },
-  },
-  props:["queryId"],
-  data() {
-    return {
-      cg_order_type_options,
-      statusOptions,
-      cost_detailArr: [],
-      allPlanList: [],
-      index: 0,
-      total: 0,
-      table_type: "list",
-      ladder: [],
-
-      plan_show: {
-        sale_total: "0",
-        feedback: [],
-      },
-      projectNo: "",
-      status: "",
-
-      //——————————————————————
-      columns,
-      newTime: "",
-      sitem:null,
-      loading:false,
-    };
-  },
-  mounted(){
-    this.initData()
-    this.get_plan("1")
-  },
-  methods:{
-    getNewTime() {
-      this.newTime = new Date().valueOf();
-    },
-    async initData() {
-      this.loading = true;
-      const { code, message, data } = await asyncRequest.detail({
-        projectNo: this.queryId,
-      });
-      this.loading = false;
-      console.log(data);
-      if (code === 0) {
-        this.sitem = JSON.parse(JSON.stringify(data));
-        const { status } = this.sitem;
-        this.status = status;
-
-        this.sitem.ladder.forEach((e) => {
-            e.cat_name = "";
-            const { cat_info } = e;
-            if (cat_info && cat_info.length > 0) {
-              cat_info.forEach((b, bi) => {
-                e.cat_name += bi !== 0 ? "_" + b.name : b.name;
-              });
-            }
-          });
-        this.getNewTime();
-      } else if (code >= 100 && code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(message);
-      }
-    },
-
-    //获取全部方案
-    async get_plan(type) {
-      let model = {
-        projectNo: this.queryId,
-      };
-      const { code, data, message } = await asyncRequest.get_project_plan(
-        model
-      );
-      if (code === 0) {
-        this.allPlanList = JSON.parse(JSON.stringify(data));
-        this.total = this.allPlanList.length;
-        if (type && this.allPlanList.length > 0) {
-          await this.change_plan("1");
-        }
-      } else if (code >= 100 && code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(message);
-      }
-    },
-    //切换当前展示的方案
-    async change_plan(type) {
-      this.table_type = "list";
-      this.plan_show = {
-        sale_total: "0",
-        status: "0",
-        feedback: [],
-      };
-      if (type) {
-        this.index = 0;
-      }
-      if (this.status === "4") {
-        this.allPlanList.forEach((a, ai) => {
-          if (a.status === "1") {
-            this.index = ai;
-          }
-        });
-      }
-      const { sale_total, feedback, status } = JSON.parse(
-        JSON.stringify(this.allPlanList[this.index])
-      );
-      this.plan_show = {
-        sale_total: sale_total,
-        status: status,
-        feedback: JSON.parse(JSON.stringify(feedback)),
-      };
-      this.plan_show.feedback.map((v) => {
-        v.class_cat = "";
-        if (v.cat_info && v.cat_info.length > 0) {
-          v.cat_info.forEach((x, i) => {
-            v.class_cat += i === 0 ? x.name : "_" + x.name;
-          });
-        }
-        if (v.good_img) {
-          v.good_img =
-            Object.prototype.toString.call(v.good_img) === "[object Array]"
-              ? v.good_img
-              : (v.good_img || "").split(",");
-        }
-        return v;
-      });
-
-    
-      for (let i = 0; i < this.plan_show.feedback.length; i++) {
-        this.$set(this.plan_show.feedback[i], i, this.plan_show.feedback[i]);
-      }
-    },
-  }
-};
-</script>
-
-<style lang="scss" scoped>
-  .project-setPlan-title{
-    // margin:20px 0 !important;
-    padding:20px 50px !important;
-    background: #f3f3f3;
-  } 
-</style>

+ 0 - 195
src/views/reportQuery/test/components/detail8/main.vue

@@ -1,195 +0,0 @@
-<template>
-  <div>
-    <detailDatatable
-      style="padding: -5px 0 10px 0"
-      :newTime="newTime"
-      v-if="newTime !== ''"
-      :sitem="sitem"
-      :columns="columns"
-    >
-      <template slot="status">
-        <el-tag
-          :size="tablebtnSize"
-          :type="
-            (statusList.find((item) => item.id == sitem.status) || {}).type ||
-            ''
-          "
-          v-text="
-            (statusList.find((item) => item.id == sitem.status) || {}).label ||
-            '--'
-          "
-        ></el-tag>
-      </template>
-
-      <template slot="is_addrs">
-        <el-tag
-          :size="'mini'"
-          v-text="
-            (options12.find((item) => item.id == sitem.is_addrs) || {}).name ||
-            '--'
-          "
-        ></el-tag>
-      </template>
-      <template slot="is_custom">
-        <el-tag
-          :size="'mini'"
-          v-text="
-            (options1.find((item) => item.id == sitem.is_custom) || {}).name ||
-            '--'
-          "
-        ></el-tag>
-      </template>
-
-      <template slot="good_num">
-        <span>{{ sitem.good_num ? sitem.good_num : "0" }}{{ sitem.unit }}</span>
-      </template>
-      <template slot="rate_status">
-        <el-tag
-          :size="'mini'"
-          v-text="
-            (
-              rate_status_options.find(
-                (item) => item.id == sitem.rate_status + ''
-              ) || {}
-            ).label || '--'
-          "
-        ></el-tag>
-      </template>
-    </detailDatatable>
-  </div>
-</template>
-
-<script>
-import { columns, statusList ,options1,
-  options2,
-  options3,
-  options4,
-  options5,
-  options6,
-  options7,
-  options8,
-  options9,
-  options10,
-  options11,
-  options12,
-  rate_status_options,} from "./columns";
-
-//————————————————
-import mixinPage from "@/mixins/elPaginationHandle";
-import resToken from "@/mixins/resToken";
-import asyncRequest from "@/apis/service/sellOut/bargainList";
-import { mapGetters } from "vuex";
-import detailDatatable from "../detail-data-table";
-
-export default {
-  mixins: [mixinPage, resToken],
-  props: ["queryId"],
-  computed: {
-    ...mapGetters(["tablebtnSize", "searchSize", "size", "private_field"]),
-    powers() {
-      let tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "standingBookDetail"
-        ) || {};
-      if (tran && tran.action && tran.action.length > 0) {
-        return tran.action;
-      } else {
-        return [];
-      }
-    },
-  },
-   components:{
-    detailDatatable
-  },
-  data() {
-    return {
-      statusList,
-
-      orderItem: {},
-      moneyDirItem: {},
-      moneyItem: {},
-      BossItem: {},
-      eaxmList: [],
-      options1,
-  options2,
-  options3,
-  options4,
-  options5,
-  options6,
-  options7,
-  options8,
-  options9,
-  options10,
-  options11,
-  options12,
-rate_status_options,
-
-      //——————————————————————
-      columns,
-      status: "",
-      newTime: "",
-      sitem: null,
-      loading: false,
-    };
-  },
-  mounted() {
-    this.initData();
-  },
-  methods: {
-    getNewTime() {
-      this.newTime = new Date().valueOf();
-    },
-    async initData() {
-      this.loading = true;
-      const { code, message, data } = await asyncRequest.detail({
-        bargainNo: this.queryId,
-      });
-
-      this.eaxmList = [];
-      this.loading = false;
-      if (code === 0) {
-        this.sitem = JSON.parse(JSON.stringify(data));
-
-        const { status, exam_info } = this.sitem;
-        this.orderItem = {};
-        this.moneyDirItem = {};
-        this.moneyItem = {};
-        this.BossItem = {};
-        if (exam_info && exam_info.length > 0) {
-          exam_info.forEach((e) => {
-            console.log(e.status);
-            switch (e.info_status + "") {
-              case "0":
-                this.orderItem = JSON.parse(JSON.stringify(e));
-                break;
-              case "2":
-                this.moneyDirItem = JSON.parse(JSON.stringify(e));
-                break;
-              case "4":
-                this.moneyItem = JSON.parse(JSON.stringify(e));
-                break;
-              case "7":
-                this.BossItem = JSON.parse(JSON.stringify(e));
-                break;
-              default:
-                this.orderItem = JSON.parse(JSON.stringify(e));
-            }
-          });
-          this.eaxmList = JSON.parse(JSON.stringify(exam_info));
-        }
-
-        this.status = status;
-
-        this.getNewTime();
-      } else if (code >= 100 && code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(message);
-      }
-    },
-  },
-};
-</script>
-
-<style>
-</style>

+ 0 - 317
src/views/reportQuery/test/detail.vue

@@ -1,317 +0,0 @@
-<template>
-  <div >
-    <Anchor height="900px" :data="anchorArray">
-      <div style="width: 100%">
-        <el-collapse v-model="activeNames" style="margin: -8px 0 0 0">
-          <!-- <el-collapse-item title="商品信息" name="1">
-              <goodsDataTable
-                :newTime="newTime"
-                v-if="newTime !== ''"
-                :type="sitem.order_type"
-                :skucode="sitem.skuCode"
-                :spucode="sitem.spuCode"
-                :iscgd="true"
-              />
-
-              <editPrice
-                :newTime="newTime"
-                v-if="
-                  newTime !== '' &&
-                  sitem.status == '0' &&
-                  sitem.can[0].id == '6' &&
-                  cost_detailArr.is_gold_price == '1'
-                "
-                :sitem="sitem"
-                :cost_detailArr="cost_detailArr"
-                @refresh="refresh"
-              >
-              </editPrice>
-            </el-collapse-item> -->
-      
-          <div id="detail2">
-            <el-collapse-item 
-              title="采购——采购单"
-              name="2"
-              v-if="newTime !== ''"
-            >
-              <detail2 queryId="CG2206230923441071"> </detail2>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail3">
-            <el-collapse-item
-              title="采购——入库单"
-              name="3"
-              v-if="newTime !== ''"
-            >
-              <detail3 queryId="CF2206231840116680"> </detail3>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail4">
-            <el-collapse-item
-              title="采购——退货单"
-              name="4"
-              v-if="newTime !== ''"
-            >
-              <detail4 queryId="CR2206021737423153"> </detail4>
-            </el-collapse-item>
-          </div>
-
-          <!-- 编号id -->
-          <div id="detail5">
-            <el-collapse-item
-              title="采购——工差单"
-              name="5"
-              v-if="newTime !== ''"
-            >
-              <detail5 queryId="2"> </detail5>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail6">
-            <el-collapse-item title="销售——项目" name="6" v-if="newTime !== ''">
-              <detail6 queryId="PR2206011553402697"> </detail6>
-            </el-collapse-item>
-          </div>
-          <div id="detail7">
-            <el-collapse-item
-              title="销售——竞价单"
-              name="7"
-              v-if="newTime !== ''"
-            >
-              <detail7 queryId="IF2206230925561644"> </detail7>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail8">
-            <el-collapse-item
-              title="销售——议价单"
-              name="8"
-              v-if="newTime !== ''"
-            >
-              <detail8 queryId="BA2206221634379104"> </detail8>
-            </el-collapse-item>
-          </div>
-
-          <!-- 编号id -->
-          <div id="detail9">
-            <el-collapse-item
-              title="销售——备货申请单"
-              name="9"
-              v-if="newTime !== ''"
-            >
-              <detail9 queryId="149"> </detail9>
-            </el-collapse-item>
-          </div>
-          <!-- 编号id -->
-          <div id="detail10">
-            <el-collapse-item
-              title="销售——销售订单"
-              name="10"
-              v-if="newTime !== ''"
-            >
-              <detail10 queryId="4665"> </detail10>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail11">
-            <el-collapse-item
-              title="销售——发货申请单"
-              name="11"
-              v-if="newTime !== ''"
-            >
-              <detail11 queryId="DF2206271141163031"> </detail11>
-            </el-collapse-item>
-          </div>
-          <div id="detail12">
-            <el-collapse-item
-              title="销售——售后申请单"
-              name="12"
-              v-if="newTime !== ''"
-            >
-              <detail12 queryId="RS2206220942431237"> </detail12>
-            </el-collapse-item>
-          </div>
-          <div id="detail13">
-            <el-collapse-item
-              title="销售——售后退货单"
-              name="13"
-              v-if="newTime !== ''"
-            >
-              <detail13 queryId="ST2206221024403625"> </detail13>
-            </el-collapse-item>
-          </div>
-          <div id="detail14">
-            <el-collapse-item
-              title="销售——退货单"
-              name="14"
-              v-if="newTime !== ''"
-            >
-              <detail14 queryId="RS2206222215535938"> </detail14>
-            </el-collapse-item>
-          </div>
-
-          <!-- 编号id -->
-          <div id="detail15">
-            <el-collapse-item
-              title="销售——工差单"
-              name="15"
-              v-if="newTime !== ''"
-            >
-              <detail15 queryId="2"> </detail15>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail16">
-            <el-collapse-item
-              title="供应商详情"
-              name="16"
-              v-if="newTime !== ''"
-            >
-              <detail16 queryId="595"> </detail16>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail17">
-            <el-collapse-item
-              title="业务公司详情"
-              name="17"
-              v-if="newTime !== ''"
-            >
-              <detail17 queryId="3"> </detail17>
-            </el-collapse-item>
-          </div>
-
-          <div id="detail18">
-            <el-collapse-item
-              title="企业客户详情"
-              name="18"
-              v-if="newTime !== ''"
-            >
-              <detail18 queryId="2033"> </detail18>
-            </el-collapse-item>
-          </div>
-        </el-collapse>
-      </div>
-    </Anchor>
-  </div>
-</template>
-   <script>
-import mixinPage from "@/mixins/elPaginationHandle";
-import asyncRequest from "@/apis/service/reportQuery/standingBook";
-import resToken from "@/mixins/resToken";
-import { mapGetters } from "vuex";
-//锚点
-// import anchorItem from "./anch/anchorItem.vue"
-import Anchor from "./anchBook/anchor.vue";
-//商品
-import goodsDataTable from "./goodsDataTable";
-//详情组件
-import detail2 from "./components/detail2/main.vue";
-import detail3 from "./components/detail3/main.vue";
-import detail4 from "./components/detail4/main.vue";
-import detail5 from "./components/detail5/main.vue";
-import detail6 from "./components/detail6/main.vue";
-import detail7 from "./components/detail7/main.vue";
-import detail8 from "./components/detail8/main.vue";
-import detail9 from "./components/detail9/main.vue";
-import detail10 from "./components/detail10/main.vue";
-import detail11 from "./components/detail11/main.vue";
-import detail12 from "./components/detail12/main.vue";
-import detail13 from "./components/detail13/main.vue";
-import detail14 from "./components/detail14/main.vue";
-import detail15 from "./components/detail15/main.vue";
-import detail16 from "./components/detail16/main.vue";
-import detail17 from "./components/detail17/main.vue";
-import detail18 from "./components/detail18/main.vue";
-
-export default {
-  name: "test",
-  mixins: [mixinPage, resToken],
-  components: {
-    Anchor,
-    goodsDataTable,
-    detail2,
-    detail3,
-    detail4,
-    detail5,
-    detail6,
-    detail7,
-    detail8,
-    detail9,
-    detail10,
-    detail11,
-    detail12,
-    detail13,
-    detail14,
-    detail15,
-    detail16,
-    detail17,
-    detail18,
-  },
-
-  computed: {
-    ...mapGetters(["tablebtnSize", "searchSize", "size"]),
-    // powers() {
-    //   let tran =
-    //     this.$store.getters.btnList.find(
-    //       (item) => item.menu_route == "standingBookDetail"
-    //     ) || {};
-    //   if (tran && tran.action && tran.action.length > 0) {
-    //     return tran.action;
-    //   } else {
-    //     return [];
-    //   }
-    // },
-  },
-  data() {
-    return {
-      newTime: "",
-      activeNames: [],
-
-      anchorArray: [
-
-        { tar: "#detail2", title: "采购——采购单" },
-        { tar: "#detail3", title: "采购——入库单" },
-        { tar: "#detail4", title: "采购——退货单" },
-        { tar: "#detail5", title: "采购——工差单" },
-        { tar: "#detail6", title: "销售——项目" },
-        { tar: "#detail7", title: "销售——竞价单" },
-        { tar: "#detail8", title: "销售——议价单" },
-        { tar: "#detail9", title: "销售——备货申请单" },
-        { tar: "#detail10", title: "销售——销售订单" },
-        { tar: "#detail11", title: "销售——发货申请单" },
-        { tar: "#detail12", title: "销售——售后申请单" },
-        { tar: "#detail13", title: "销售——售后退货单" },
-        { tar: "#detail14", title: "销售——退货单" },
-        { tar: "#detail15", title: "销售——工差单" },
-        { tar: "#detail16", title: "供应商详情" },
-        { tar: "#detail17", title: "业务公司详情" },
-        { tar: "#detail18", title: "企业客户详情" },
-      ],
-    };
-  },
-  mounted() {
-    // console.log(11111,this.row)
-    this.activeNames = [];
-    for (let i = 1; i < 20; i++) {
-      this.activeNames.push(i + "");
-    }
-    this.initData();
-  },
-  methods: {
-    getNewTime() {
-      this.newTime = new Date().valueOf();
-    },
-    async initData() {
-      this.getNewTime();
-    },
-  },
-};
-</script>
-   <style lang="scss" scoped>
-.purchaseOrderDetail {
-}
-</style>
-

+ 3 - 0
src/views/sellOut/project/components/addForm.vue

@@ -539,6 +539,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           console.log(model);

+ 12 - 1
src/views/sellOut/project/components/buyGoodModal.vue

@@ -89,7 +89,12 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column prop="good_name" label="商品名称" show-overflow-tooltip min-width="120">
+            <el-table-column
+              prop="good_name"
+              label="商品名称"
+              show-overflow-tooltip
+              min-width="120"
+            >
               <template slot-scope="scope">
                 <span>{{ scope.row.good_name }}</span>
                 <span
@@ -588,6 +593,8 @@ export default {
         let list1 = this.project_list[index].order_good;
         this.order_good =
           list1.length > 0 ? JSON.parse(JSON.stringify(list1)) : [];
+
+        this.order_good[0].good_img = this.order_good[0].good_img.split(",");
         let list2 = this.project_list[index].order_addr;
         this.addrForm.order_addr =
           list2.length > 0 ? JSON.parse(JSON.stringify(list2)) : [];
@@ -658,6 +665,9 @@ export default {
       rows.splice(index, 1);
     },
     async submitForm() {
+      if (this.loading) {
+        return;
+      }
       this.loading = true;
       let model = {
         planNo: this.planNo,
@@ -666,6 +676,7 @@ export default {
       };
       this.project_list.forEach((e) => {
         const { order_good, order_addr } = e;
+
         const { id, sendtype } = JSON.parse(JSON.stringify(order_good[0]));
         let modelA = {
           feedback_id: id || "",

+ 7 - 2
src/views/sellOut/project/components/costFormAddEdit.vue

@@ -89,7 +89,7 @@
             <el-form-item label="商品图片" prop="good_img">
               <div v-if="ruleForm.good_img" class="clearfix">
                 <img
-                  style="width:50px; height:50px"
+                  style="width: 50px; height: 50px"
                   :src="ruleForm.good_img"
                   class="avatar fl"
                 />
@@ -331,13 +331,18 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           const { cat_id } = model;
           let cat_id_name = "";
           let length = cat_id.length;
           for (let i = 0; i < length; i++) {
-            const { code, data, message } = await asyncRequest.catinfo({id:cat_id[i]});
+            const { code, data, message } = await asyncRequest.catinfo({
+              id: cat_id[i],
+            });
             if (code === 0) {
               const { cat_name } = data;
               cat_id_name += i === 0 ? cat_name : `/${cat_name}`;

+ 5 - 2
src/views/sellOut/project/components/grossForm.vue

@@ -53,7 +53,7 @@ import resToken from "@/mixins/resToken";
 
 export default {
   name: "Account",
-  props: ["showModel", "sitem", "id", "type",'newTime'],
+  props: ["showModel", "sitem", "id", "type", "newTime"],
   mixins: [resToken],
   computed: {
     powers() {
@@ -75,7 +75,7 @@ export default {
     //     this.initForm();
     //   }
     // },
-       newTime: function (val) {
+    newTime: function (val) {
       if (val) {
         this.initForm();
       }
@@ -156,6 +156,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           let res = await asyncRequest.rateEdit(model);

+ 1 - 0
src/views/sellOut/project/components/setPlan.vue

@@ -531,6 +531,7 @@ export default {
     place_order() {
       const { company, khName, platform_name, arrtime, project_name } =
         this.sitem;
+        // console.log("aaaaaaaaaaaaaaa",this.sitem)
       this.bayGoodItem = JSON.parse(
         JSON.stringify(this.allPlanList[this.index])
       );

+ 3 - 0
src/views/sellOut/returnOrder/components/auditForm.vue

@@ -535,6 +535,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const {
             thNo,

+ 3 - 0
src/views/sellOut/returnOrder/components/return-record.vue

@@ -321,6 +321,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
 
           let model = JSON.parse(JSON.stringify(this.ruleForm));

+ 2 - 2
src/views/sellOut/returnOrder/index.vue

@@ -233,7 +233,7 @@ export default {
       isDetail: false,
       modelId: 0,
       parmValue: {
-        order_type: "", //订单类型1为销售 2为竞价
+        order_type: "", 
         order_code: "", //销售订单编号
         thNo: "", //退货编号
         out_code: "", //销售出库编号
@@ -336,7 +336,7 @@ export default {
         end: "", //
         status: "", //状态节点
         supplierName:'',
-        order_type: "", //订单类型1为销售 2为竞价
+        order_type: "", 
         page: 1, // 页码
         size: 15, // 每页显示条数
       };

+ 9 - 2
src/views/sellOut/salesOrder/columns.js

@@ -47,11 +47,18 @@ export default [
     _slot_: "status",
     width: "120px",
   },
+  
+  {
+    prop: "order_source",
+    label: "订单来源",
+    _slot_: "order_source",
+    width: "90px",
+  },
   {
     prop: "order_type",
-    label: "订单类型",
+    label: "商品来源",
     _slot_: "order_type",
-    width: "130px",
+    width: "90px",
   },
   {
     prop: "useage",

+ 9 - 3
src/views/sellOut/salesOrder/components/ShowDataTableColumns.js

@@ -92,15 +92,21 @@ const showColumns = [
     _slot_: "status",
     span: 6,
   },
+  {
+    prop: "order_source",
+    label: "订单来源",
+    _slot_: "order_source",
+    span: 4,
+  },
   {
     prop: "order_type",
-    label: "订单类型",
+    label: "商品来源",
     _slot_: "order_type",
-    span: 6,
+    span: 4,
   }, {
     prop: "apply_name",
     label: "创建人",
-    span: 6,
+    span: 4,
   },
 
   {

+ 6 - 7
src/views/sellOut/salesOrder/components/addEdit.vue

@@ -26,13 +26,9 @@
             class="demo-ruleForm"
           >
             <el-row>
-              
               <el-col :span="12">
                 <el-form-item label="商品分类" prop="goods_class">
-
-                  search-sort
-
-                  4444
+                  search-sort 4444
                   <!-- <good-class
                     :value="ruleForm.goods_class"
                     @handleChange="goods_class_change"
@@ -51,7 +47,7 @@
                   <el-input
                     v-model="ruleForm.good_name"
                     readonly
-                     maxlength="200"
+                    maxlength="200"
                     @focus="hand"
                   />
                 </el-form-item>
@@ -143,7 +139,7 @@
                   >
                     <el-input
                       v-model="scope.row.num"
-                       maxlength="10"
+                      maxlength="10"
                       :disabled="!scope.row.edit"
                     />
                   </el-form-item>
@@ -710,6 +706,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const { good_code, customer_code, sell_code } = JSON.parse(
             JSON.stringify(this.ruleForm)

+ 15 - 6
src/views/sellOut/salesOrder/components/addForm.vue

@@ -236,11 +236,17 @@
                             "
                           />
 
-                         <video width="250" controls class="fl">
-                        <source :src="ruleForm.proof_url" type="video/mp4" />
-                        <source :src="ruleForm.proof_url" type="video/avi" />
-                        您的浏览器不支持Video标签。
-                      </video> 
+                          <video width="250" controls class="fl">
+                            <source
+                              :src="ruleForm.proof_url"
+                              type="video/mp4"
+                            />
+                            <source
+                              :src="ruleForm.proof_url"
+                              type="video/avi"
+                            />
+                            您的浏览器不支持Video标签。
+                          </video>
                         </div>
                         <div
                           v-else-if="ruleForm.proof_type === '2'"
@@ -1308,6 +1314,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const { sendtype, good_num, goodtype } = JSON.parse(
             JSON.stringify(this.ruleForm)
@@ -1328,7 +1337,7 @@ export default {
           let a = this.accMul(good_price, "1"),
             b = this.accMul(new_good_price, "1");
           if (a !== b) {
-            model.good_price=model.new_good_price
+            model.good_price = model.new_good_price;
           }
           // if (model.new_good_price == model.good_price) {
           // model.good_price = model.new_good_price;

+ 5 - 3
src/views/sellOut/salesOrder/components/order-out-table.vue

@@ -277,7 +277,7 @@ export default {
       returnId: "",
       returnItem: null,
       returnModel: false,
-      wsend_num:"",
+      wsend_num: "",
     };
   },
   mounted() {
@@ -308,10 +308,9 @@ export default {
         this.wsend_num = true;
         const { addrs, status, wsend_num } = this.sitem;
         this.status = status;
-        this.wsend_num=wsend_num||""
+        this.wsend_num = wsend_num || "";
         // console.log(this.status);
         this.tableData = JSON.parse(JSON.stringify(addrs));
-      
       });
     },
     async addrRefresh(e) {
@@ -406,6 +405,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const { order_addr } = JSON.parse(JSON.stringify(this.addrForm));
           let model = {

+ 9 - 2
src/views/sellOut/salesOrder/components/out-order-add-model.vue

@@ -41,7 +41,7 @@
                   <el-input
                     v-model="ruleForm.send_num"
                     placeholder="收货数量"
-                     maxlength="10"
+                    maxlength="10"
                   />
                 </el-form-item>
               </el-col>
@@ -56,7 +56,11 @@
               </el-col>
               <el-col :span="12">
                 <el-form-item label="联系电话" prop="mobile">
-                  <el-input v-model="ruleForm.mobile"  maxlength="11" placeholder="联系电话" />
+                  <el-input
+                    v-model="ruleForm.mobile"
+                    maxlength="11"
+                    placeholder="联系电话"
+                  />
                 </el-form-item>
               </el-col>
               <el-col :span="24">
@@ -241,6 +245,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.addr_code = model.addr_code.toString();

+ 17 - 7
src/views/sellOut/salesOrder/detail.vue

@@ -59,6 +59,20 @@
                     "
                   ></el-tag>
                 </template>
+                <template slot="order_source">
+                  <el-tag
+                    :size="'mini'"
+                    v-text="
+                      (
+                        xs_order_source_options.find(
+                          (item) => item.id == sitem.order_source
+                        ) || {}
+                      ).label || '--'
+                    "
+                  ></el-tag>
+                </template>
+
+                
 
                 <template slot="supplierName">
                   <span>{{ sitem.supplierName }}</span>
@@ -86,12 +100,7 @@
                 </template>
                 <template slot="is_active">
                   <span
-                    v-if="
-                      sitem.order_type === '1' ||
-                      sitem.order_type === '2' ||
-                      sitem.order_type === '5' ||
-                      sitem.order_type === '6'
-                    "
+                    v-if="sitem.order_type === '1' || sitem.order_type === '2'"
                     ><span
                       >{{
                         sitem.is_activity === "1" ? "参与活动" : "不参与活动"
@@ -211,7 +220,7 @@ import orderOutTable from "./components/order-out-table";
 
 import { showColumns } from "./components/ShowDataTableColumns";
 import setPartial from "./setPartial";
-import { xs_order_type_options } from "@/assets/js/statusList";
+import {  xs_order_source_options,xs_order_type_options } from "@/assets/js/statusList";
 export default {
   name: "salesOrderDetail",
   mixins: [mixinPage, resToken],
@@ -255,6 +264,7 @@ export default {
         },
       ],
       xs_order_type_options,
+       xs_order_source_options,
       statusOptions: [
         { value: "0", label: "待发货" },
         { value: "1", label: "待发货完成" },

+ 54 - 35
src/views/sellOut/salesOrder/index.vue

@@ -98,7 +98,7 @@
                   :value="customerCode"
                   :size="searchSize"
                   :names="parmValue.supplierName"
-                    :is-detail="true"
+                  :is-detail="true"
                   :placeholder="'客户公司名称'"
                   @searchChange="customerChange"
                 />
@@ -110,7 +110,7 @@
                   v-model="parmValue.order_type"
                   filterable
                   clearable
-                  placeholder="订单类型"
+                  placeholder="商品来源"
                   style="width: 100%"
                   @change="
                     pageInfo.curr = 1;
@@ -158,7 +158,10 @@
                     ></el-option> -->
                     <el-option label="商品名称" value="good_name"></el-option>
                     <el-option label="创建人" value="apply_name"></el-option>
-                    <el-option label="创建人部门" value="company_name"></el-option>
+                    <el-option
+                      label="创建人部门"
+                      value="company_name"
+                    ></el-option>
                   </el-select>
                 </el-input>
               </el-col>
@@ -217,18 +220,31 @@
             :size="tablebtnSize"
             v-text="
               (
-                xs_order_type_options.find((item) => item.id == scope.row.order_type) ||
-                {}
+                xs_order_type_options.find(
+                  (item) => item.id == scope.row.order_type
+                ) || {}
               ).label || '--'
             "
           ></el-tag>
         </template>
+        <template #order_source="{ scope }">
+          <el-tag
+            :size="tablebtnSize"
+            v-text="
+              (
+                xs_order_source_options.find(
+                  (item) => item.id == scope.row.order_source
+                ) || {}
+              ).label || '--'
+            "
+          ></el-tag>
+        </template>
+
         <template #operation="{ scope }">
           <el-tooltip effect="dark" content="详情" placement="top">
             <i
               class="el-icon-view tb-icon"
-              
-               @click="getRouter('salesOrderDetail', scope.row.id )"
+              @click="getRouter('salesOrderDetail', scope.row.id)"
             ></i>
           </el-tooltip>
         </template>
@@ -263,7 +279,10 @@ import columns from "./columns"; //表格列参数
 import addEdit from "./components/addEdit";
 import userAddEdit from "./userAddEdit";
 import { mapGetters } from "vuex";
-import { xs_order_type_options } from "@/assets/js/statusList";
+import {
+  xs_order_type_options,
+  xs_order_source_options,
+} from "@/assets/js/statusList";
 export default {
   name: "salesOrder",
   mixins: [mixinPage, resToken],
@@ -272,7 +291,7 @@ export default {
     userAddEdit,
   },
   computed: {
-    ...mapGetters(["tablebtnSize", "searchSize", "size",]),
+    ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       let tran =
         this.$store.getters.btnList.find(
@@ -300,6 +319,7 @@ export default {
         { id: "3", label: "订单已取消" },
       ],
       xs_order_type_options,
+      xs_order_source_options,
       loading: false,
       showModel: false,
       isDetail: false,
@@ -317,8 +337,7 @@ export default {
         customer_code: "", //客户编号
         start: "", //新建起始时间
         end: "", // 新建结束时间
-        company_name:"", //创建人部门
-
+        company_name: "", //创建人部门
       },
       // 表格 - 数据
       tableData: [],
@@ -341,53 +360,52 @@ export default {
     };
   },
   mounted() {
-     const { back } = this.$route.query;
+    const { back } = this.$route.query;
     if (back) {
       this.parmValue = JSON.parse(back);
-      console.log(this.parmValue)
-      const {page,size}=this.parmValue;
+      console.log(this.parmValue);
+      const { page, size } = this.parmValue;
       // this.parmValue.start = start || last_start;
       // this.parmValue.end = end || last_end;
-      if(this.parmValue.customer_code.length>0){
-          this.customerCode = [this.parmValue.customer_code] ;
+      if (this.parmValue.customer_code.length > 0) {
+        this.customerCode = [this.parmValue.customer_code];
       }
-      
-       this.pageInfo= {
+
+      this.pageInfo = {
         size: size,
         curr: page,
         total: 0,
-      }
+      };
       //多选条件
-    this.select = this.parmValue.select;
-    // this.sselect = this.parmValue.sselect;
-    this.input = this.parmValue.input
-
-    }else{
-       this.select = "orderCode";
+      this.select = this.parmValue.select;
+      // this.sselect = this.parmValue.sselect;
+      this.input = this.parmValue.input;
+    } else {
+      this.select = "orderCode";
       //  this.sselect = "创建时间"
     }
     this.searchList();
   },
 
   methods: {
-    getRouter(toRouter, queryId){
+    getRouter(toRouter, queryId) {
       if (toRouter && queryId) {
         let model = {
           id: queryId,
-          type: 'view',
+          type: "view",
         };
 
         //有多选框的条件
-        this.parmValue.select = this.select ;
+        this.parmValue.select = this.select;
         // this.parmValue.sselect = this.sselect ;
-        this.parmValue.input= this.input;
+        this.parmValue.input = this.input;
         //
-         let routerModel = {
+        let routerModel = {
           options: JSON.parse(JSON.stringify(this.parmValue)),
           router: this.$route.path,
         };
         model.preModel = JSON.stringify(routerModel);
-        
+
         this.routeGoto(toRouter, model);
       } else {
         this.$message.warning("暂未找到相关流程!");
@@ -398,7 +416,7 @@ export default {
       this.input = "";
       this.customerCode = [];
       this.parmValue = {
-        order_type: "", //订单类型1为销售 2为竞价
+        order_type: "",
         orderCode: "", //销售订单code
         apply_name: "", // 申请人
         good_name: "", // 产品名称
@@ -410,7 +428,7 @@ export default {
         customer_code: "", //客户编号
         start: "", //新建起始时间
         end: "", // 新建结束时间
-        company_name:"", //部门
+        company_name: "", //部门
       };
       // 表格 - 分页
       this.pageInfo = {
@@ -461,7 +479,7 @@ export default {
         this.parmValue.customer_code = e.code;
       } else {
         this.customerCode = [];
-        this.parmValue.supplierName = '';
+        this.parmValue.supplierName = "";
         this.parmValue.customer_code = "";
       }
       this.parmValue.page = 1;
@@ -493,7 +511,8 @@ export default {
       this.parmValue.apply_name =
         this.select === "apply_name" ? this.input : "";
 
-      this.parmValue.company_name = this.select === "company_name" ? this.input : "";
+      this.parmValue.company_name =
+        this.select === "company_name" ? this.input : "";
 
       const res = await asyncRequest.list(this.parmValue);
       if (res && res.code === 0 && res.data) {

+ 4 - 1
src/views/sellOut/salesOrder/setPartial.vue

@@ -50,7 +50,7 @@
               <el-input
                 v-model="ruleForm.workNo"
                 placeholder="如:业管单号"
-                  type="textarea"
+                type="textarea"
                 :rows="4"
                 maxlength="2000"
               />
@@ -147,6 +147,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           let res = (res = await asyncRequest.saleaddother(model));

+ 3 - 0
src/views/sellOut/salesOrder/userAddEdit.vue

@@ -117,6 +117,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           let res = (res = await asyncRequest.saleuse(model));

+ 5 - 2
src/views/sellOut/sellAfterApply/components/express_feedback.vue

@@ -63,7 +63,7 @@
                 !(status === '3' && powers.some((item) => item == '083'))
               "
               v-model="ruleForm.contactor"
-               maxlength="20"
+              maxlength="20"
               placeholder="收件人"
             ></el-input>
           </el-form-item>
@@ -76,7 +76,7 @@
                 !(status === '3' && powers.some((item) => item == '083'))
               "
               v-model="ruleForm.mobile"
-               maxlength="11"
+              maxlength="11"
               placeholder="收件人电话"
             ></el-input>
           </el-form-item>
@@ -298,6 +298,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.addr_code = model.addr_code.toString();

+ 5 - 1
src/views/sellOut/sellAfterApply/components/purchase_exam.vue

@@ -252,6 +252,10 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
+          this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.status = model.status === "1" ? "3" : "6";
           model.is_th = this.is_receive === "0" ? "0" : model.is_th;
@@ -259,7 +263,7 @@ export default {
           model.is_post = "0";
           console.log(model);
           let res = await asyncRequest.status(model);
-
+          this.loading = false;
           if (res && res.code === 0) {
             this.$notify.success({
               title: "提交成功!",

+ 2 - 2
src/views/sellOut/sellAfterApply/detail.vue

@@ -99,7 +99,7 @@
             <el-collapse-item
               title="采购审核"
               name="4"
-              v-if="status && status != '1' && newTime != ''"
+              v-if=" (status == '2'||status == '3'||status == '4'||status == '5'||status == '7') && newTime != ''"
             >
               <purchase-exam
                 :sitem="sitem"
@@ -257,7 +257,7 @@ export default {
     async examForm(e) {
       console.log(e);
       if (!this.loading) {
-        let type = e.state === "1" ? "2" : "5";
+        let type = e.state === "1" ? "2" : "6";
         let message = e.state === "1" ? "提交业务审核" : "提交业务审核";
         await this.statusConfirm(type, message, e.remark);
       }

+ 1 - 1
src/views/sellOut/sellOutOrder/columns.js

@@ -143,7 +143,7 @@ const showColumns = [
   },
   {
     prop: "order_type",
-    label: "订单类别",
+    label: "商品来源",
     _slot_: "order_type",
     span: 6
   },

+ 7 - 2
src/views/sellOut/sellOutOrder/components/addEditFormA.vue

@@ -33,7 +33,7 @@
           <el-input
             disabled
             v-model="ruleForm.send_num"
-             maxlength="10"
+            maxlength="10"
             placeholder="发货总量"
           ></el-input>
         </el-form-item>
@@ -200,7 +200,7 @@ export default {
       ruleForm: {
         is_receive: "",
         send_num: "",
-        order_type: "", 
+        order_type: "",
         outCode: "", //
         stock_out_numbers: "", //发货申请单编号
         num: "", //异常数量
@@ -392,10 +392,15 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
+          this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.outCode = this.sitem.outCode;
           model.img = model.img.toString();
           const { code, data, message } = await asyncRequest.add(model);
+          this.loading = false;
           if (code === 0) {
             const title = this.id === "add" ? "添加成功!" : "修改成功!";
             this.$notify.success({

+ 12 - 7
src/views/sellOut/sellOutOrder/components/addEdit_sellForm.vue

@@ -18,7 +18,7 @@
             <el-input
               disabled
               v-model="ruleForm.send_num"
-               maxlength="10"
+              maxlength="10"
               placeholder="发货总量"
             ></el-input>
           </el-form-item>
@@ -29,7 +29,7 @@
               :disabled="disabled"
               v-model="ruleForm.error_num"
               placeholder="异常数量"
-               maxlength="10"
+              maxlength="10"
             ></el-input>
           </el-form-item>
         </el-col>
@@ -177,7 +177,7 @@ export default {
       hand_name: "", //交接人
       ruleForm: {
         send_num: "",
-        order_type: "", 
+        order_type: "",
         outCode: "", //发货申请单编号
         error_num: "", //异常数量
         error_img: [], //异常图片
@@ -322,6 +322,10 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
+          this.loading = true;
           const { error_num } = this.ruleForm;
           if (Number(this.sitem.send_num) < Number(error_num)) {
             this.$message.warning("异常数量不能大于发货数量");
@@ -339,8 +343,9 @@ export default {
           delete model["error_remark"];
           delete model["error_img"];
           delete model["error_code"];
-          this.$emit("refresh", { status: "4", close: false });
+          // this.$emit("refresh", { status: "4", close: false });
           const res = await asyncRequest.add(model);
+          this.loading = false;
           if (res && res.code === 0) {
             const title = this.id === "add" ? "添加成功!" : "修改成功!";
             this.$notify.success({
@@ -434,13 +439,13 @@ export default {
     },
     //图片上传失败
     UploadErrorEvent(res) {
-        if (res !== "break") {
+      if (res !== "break") {
         this.$message.error("图片上传失败!");
         this.$refs.ruleForm.validateField("error_img");
       }
     },
-        //图片上传成功
-  async  UploadSuccessEvent(data) {
+    //图片上传成功
+    async UploadSuccessEvent(data) {
       const { url } = data;
       if (url === "noToken") {
         await this.logout();

+ 3 - 0
src/views/sellOut/sellOutOrder/components/express_feedback.vue

@@ -199,6 +199,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = {
             returnCode: this.returnCode,

+ 6 - 3
src/views/sellOut/sellOutOrder/components/logisticsForm.vue

@@ -56,7 +56,9 @@
         style="text-align: right"
         v-if="powers.some((item) => item == '045')"
       >
-        <el-button type="primary" :size="'mini'"  @click="submitForm">保 存 </el-button>
+        <el-button type="primary" :size="'mini'" @click="submitForm"
+          >保 存
+        </el-button>
       </el-col>
     </el-row>
   </el-form>
@@ -149,8 +151,6 @@ export default {
     this.initForm();
   },
   methods: {
-    
-
     async initForm() {
       this.loading = true;
       await this.resetForm();
@@ -181,6 +181,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           // this.loading = true;
           // let model = JSON.parse(JSON.stringify(this.ruleForm));
           // model.post_name = model.post_name.toString();

+ 3 - 0
src/views/sellOut/sellOutOrder/components/purchase_check.vue

@@ -297,6 +297,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+           if (this.loading) {
+        return;
+      }
           this.loading = true;
           const model = {
             id: this.id,

+ 5 - 1
src/views/sellOut/sellOutOrder/components/returnExpress.vue

@@ -29,7 +29,7 @@
           <el-input
             placeholder="物流单号"
             v-model="ruleForm.express_numbres"
-             maxlength="100"
+            maxlength="100"
           ></el-input>
         </el-form-item>
       </el-col>
@@ -225,6 +225,10 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
+          this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           let _model = {
             returnCode: this.returnCode, //退货单号

+ 3 - 0
src/views/sellOut/sellOutOrder/components/supplier_feedback.vue

@@ -307,6 +307,9 @@ export default {
     },
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
+         if (this.loading) {
+        return;
+      }
         // if (valid) {
         //   const { resign_uid, hand_uid } = this.ruleForm;
         //   let rUid = resign_uid.toString(),

+ 3 - 0
src/views/sellOut/sellOutOrder/components/want-deliver.vue

@@ -186,6 +186,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           model.post_name = model.post_name.toString();

+ 12 - 3
src/views/sellOut/sellOutOrder/detail.vue

@@ -62,9 +62,16 @@
                   ></el-tag>
                 </template>
                 <template slot="order_type">
-                  <el-tag :size="'mini'" :type="''">{{
-                    sitem.status === "1" ? "发货申请单" : "竞价发货申请单"
-                  }}</el-tag>
+                  <el-tag
+                    :size="'mini'"
+                    v-text="
+                      (
+                        xs_order_type_options.find(
+                          (item) => item.id == sitem.order_type
+                        ) || {}
+                      ).label || '--'
+                    "
+                  ></el-tag>
                 </template>
                 <template slot="sale_price">
                   <span>{{
@@ -317,6 +324,7 @@ import { showColumns } from "./columns";
 import { sellshowColumns } from "@/views/sellOut/sellAfterApply/columns";
 import returnExpress from "./components/returnExpress";
 import wantDeliver from "./components/want-deliver.vue";
+import { xs_order_type_options } from "@/assets/js/statusList";
 import { mapGetters } from "vuex";
 export default {
   name: "sellOutOrderDetail",
@@ -343,6 +351,7 @@ export default {
   },
   data() {
     return {
+      xs_order_type_options,
       returnCode: "",
       returnCode_type: "",
       activeTabs: "1",

+ 3 - 14
src/views/sellOut/sellOutOrder/index.vue

@@ -179,18 +179,7 @@
             "
           ></el-tag>
         </template>
-        <template #order_type="{ scope }">
-          <el-tag
-            :size="'mini'"
-            v-text="
-              (
-                xs_order_type_options.find(
-                  (item) => item.id == scope.row.order_type
-                ) || {}
-              ).label || '--'
-            "
-          ></el-tag>
-        </template>
+      
         <template #operation="{ scope }">
           <el-tooltip
             v-if="powers.some((item) => item == '007')"
@@ -227,7 +216,7 @@ import urlConfig from "@/apis/url-config";
 import asyncRequest from "@/apis/service/sellOut/sellOutOrder";
 import addEdit from "./components/addEdit.vue";
 import { columns } from "./columns";
-import { xs_order_type_options } from "@/assets/js/statusList";
+
 export default {
   name: "sellOutOrder",
   mixins: [mixinPage, resToken],
@@ -255,7 +244,7 @@ export default {
       customerCode: [], //客户公司code
       fileUrl: urlConfig.baseURL,
       changeList: [],
-      xs_order_type_options,
+     
       // post_ownOptions: [
       //   { id: "1", label: "客户承担" },
       //   { id: "2", label: "公司承担" },

+ 3 - 0
src/views/sellOut/sellReturn/components/addForm.vue

@@ -215,6 +215,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           let arr1 = JSON.parse(JSON.stringify(this.tableForm.get_product_go));

+ 5 - 1
src/views/sellOut/sellReturn/components/addModel.vue

@@ -408,6 +408,10 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
+          this.loading = true;
           // this.loading = true;
           const { thnum, return_type, orderCode, remark, errorCode } =
             this.ruleForm;
@@ -448,7 +452,7 @@ export default {
               this.loading = false;
               return;
             }
-            console.log(addr_total)
+            console.log(addr_total);
             model.thnum = addr_total;
           }
           console.log(model);

+ 3 - 0
src/views/sellOut/sellReturn/components/comExamForm.vue

@@ -234,6 +234,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+           if (this.loading) {
+        return;
+      }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           if (model.is_th === "0") {

+ 4 - 13
src/views/sellOut/sellReturn/detail.vue

@@ -67,10 +67,7 @@
                   <span
                     v-if="
                       sitem.order_type === '1' ||
-                      sitem.order_type === '2' ||
-                      sitem.order_type === '5' ||
-                      sitem.order_type === '6'
-                    "
+                      sitem.order_type === '2'  "
                     ><span
                       >{{
                         sitem.is_activity === "1" ? "参与活动" : "不参与活动"
@@ -157,9 +154,7 @@
                 sitem &&
                 !(
                   (sitem.order_type === '1' ||
-                    sitem.order_type === '2' ||
-                    sitem.order_type === '5' ||
-                    sitem.order_type === '6') &&
+                    sitem.order_type === '2') &&
                   is_stock === '1'
                 ) &&
                 powers.some((item) => item == '041') &&
@@ -184,9 +179,7 @@
                 (status === '4' || status === '3' || status === '2') &&
                 !(
                   ((sitem && sitem.order_type === '1') ||
-                    sitem.order_type === '2' ||
-                    sitem.order_type === '5' ||
-                    sitem.order_type === '6') &&
+                    sitem.order_type === '2') &&
                   is_stock === '1'
                 )
               "
@@ -214,9 +207,7 @@
                 status === '3' &&
                 !(
                   (sitem.order_type === '1' ||
-                    sitem.order_type === '2' ||
-                    sitem.order_type === '5' ||
-                    sitem.order_type === '6') &&
+                    sitem.order_type === '2') &&
                   is_stock === '1'
                 )
               "

+ 4 - 1
src/views/sellOut/stockApply/components/addEdit.vue

@@ -21,7 +21,7 @@
               "
               v-model="ruleForm.good_name"
               readonly="true"
-               maxlength="100"
+              maxlength="100"
               :placeholder="'商品名称'"
               @focus="showGoodsModel = true"
             ></el-input>
@@ -360,6 +360,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let {
             id,

+ 3 - 0
src/views/sellOut/stockApply/components/purchaseBack.vue

@@ -160,6 +160,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let item = JSON.parse(JSON.stringify(this.ruleForm));
           item.wsm_code = item.wsm_code.toString();

+ 9 - 2
src/views/sellOut/zixunOrder/components/addEditBargain.vue

@@ -301,7 +301,7 @@ export default {
             bargain_price: origin_price || "0",
             bidNo: bidNo || "",
             bargain_remark: "",
-            cost_price: cost_fee|| "0",
+            cost_price: cost_fee || "0",
             result_info_id: "",
             result_info_id_name: "",
           };
@@ -317,7 +317,10 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          // this.loading = true;
+          if (this.loading) {
+            return;
+          }
+          this.loading = true;
           const { bidNo, origin_price, is_gold_price, can, cost_fee } =
             this.sitem;
           const { bargain_price, cost_price } = this.ruleForm;
@@ -325,6 +328,7 @@ export default {
           let b = add_sum(bargain_price + "", "0");
           if (b > a) {
             this.$message.warning("期望售价不能高于当前售价");
+            this.loading=false
             return;
           }
 
@@ -332,6 +336,7 @@ export default {
           let d = add_sum(cost_price + "", "0");
           if (d > c) {
             this.$message.warning("期望工艺费不能高于当前工艺费");
+            this.loading=false
             return;
           }
 
@@ -348,12 +353,14 @@ export default {
           ) {
             if (c === d) {
               this.$message.warning("期望工艺费不能等于当前工艺费!");
+              this.loading=false
               return;
             }
             model.bargain_price = "0";
           } else {
             if (a === b) {
               this.$message.warning("期望售价不能等于当前售价!");
+              this.loading=false
               return;
             }
             model.cost_price = "0";

+ 5 - 2
src/views/sellOut/zixunOrder/components/addEditForm.vue

@@ -369,7 +369,7 @@
 import asyncRequest from "@/apis/service/sellOut/zixunOrder";
 import resToken from "@/mixins/resToken";
 import addEditGoodModal from "./addEditGoodModal";
-import {mapGetters} from "vuex"
+import { mapGetters } from "vuex";
 export default {
   name: "handover",
   props: ["id", "sitem", "newTime"],
@@ -377,7 +377,7 @@ export default {
   components: {
     addEditGoodModal,
   },
-   computed: {
+  computed: {
     ...mapGetters(["business_companyNo"]),
   },
   data() {
@@ -625,6 +625,9 @@ export default {
       console.log(this.ruleForm);
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           if (this.tableData.length === 0) {
             this.$message.warning("至少提供一条商品要求!");

+ 23 - 14
src/views/sellOut/zixunOrder/components/addEditGoodModal.vue

@@ -427,7 +427,12 @@
                     </el-form-item>
                   </el-col>
                   <el-col :span="8" class="fr" style="padding: 18px 0 0 0">
-                     <div class="lsac">竞价单总额:{{accMul(this.ruleForm.budget_price,this.ruleForm.num)}} (元)</div>
+                    <div class="lsac">
+                      竞价单总额:{{
+                        accMul(this.ruleForm.budget_price, this.ruleForm.num)
+                      }}
+                      (元)
+                    </div>
                     <el-button
                       v-if="id !== '007'"
                       type="primary"
@@ -541,18 +546,19 @@ export default {
   methods: {
     //乘法精度问题
     accMul(arg1, arg2) {
-        var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
-        try {
-            m += s1.split(".")[1].length;
-        }
-        catch (e) {
-        }
-        try {
-            m += s2.split(".")[1].length;
-        }
-        catch (e) {
-        }
-        return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
+      var m = 0,
+        s1 = arg1.toString(),
+        s2 = arg2.toString();
+      try {
+        m += s1.split(".")[1].length;
+      } catch (e) {}
+      try {
+        m += s2.split(".")[1].length;
+      } catch (e) {}
+      return (
+        (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) /
+        Math.pow(10, m)
+      );
     },
     async initForm() {
       this.loading = true;
@@ -772,6 +778,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           if (this.spec_tableData.length === 0) {
             this.$message.warning("请选择商品规格!");
@@ -923,7 +932,7 @@ export default {
    <style lang="scss" scoped>
 .brand {
 }
-.lsac{
+.lsac {
   font-weight: bold;
   font-size: 14px;
   color: #777;

+ 54 - 51
src/views/sellOut/zixunOrder/components/buyGoodModal.vue

@@ -57,10 +57,11 @@
             <el-row>
               <el-col :span="5">
                 <el-form-item label="数量" prop="good_num">
+                  <!--:min="sitem.in_num"-->
                   <digital-input
                     :values="ruleForm.good_num"
                     :placeholder="'数量'"
-                    :min="sitem.in_num"
+                    :min="1"
                     :max="100000000000"
                     :position="'right'"
                     :precision="0"
@@ -955,60 +956,62 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          model.order_addr = [];
-          const { sendtype, good_num } = model;
-          const { order_addr } = JSON.parse(JSON.stringify(this.addrForm));
-          if (sendtype === "1" && order_addr && order_addr.length === 0) {
-            this.$message.warning("至少上传一个地址信息!");
-            this.loading = false;
-            return;
-          }
-          if (sendtype === "1") {
-            let addrT = 0,
-              isAEdit = false;
-            order_addr.forEach((v2) => {
-              if (v2.edit) {
-                isAEdit = true;
-              }
-              addrT += parseInt(v2.receipt_quantity + "");
-              let model2 = {
-                addr_code: v2.addr_code.toString(),
-                contactor: v2.contactor,
-                mobile: v2.mobile,
-                addr: v2.addr,
-                receipt_quantity: v2.receipt_quantity,
-              };
-              model.order_addr.push(model2);
-            });
-
-            if (isAEdit) {
-              this.$message.warning("请保存地址信息!");
+          if (!this.loading) {
+            this.loading = true;
+            let model = JSON.parse(JSON.stringify(this.ruleForm));
+            model.order_addr = [];
+            const { sendtype, good_num } = model;
+            const { order_addr } = JSON.parse(JSON.stringify(this.addrForm));
+            if (sendtype === "1" && order_addr && order_addr.length === 0) {
+              this.$message.warning("至少上传一个地址信息!");
               this.loading = false;
               return;
             }
-            if (parseInt(good_num + "") !== addrT) {
-              this.$message.warning("收货总数量与购买不一致!");
-              this.loading = false;
-              return;
+            if (sendtype === "1") {
+              let addrT = 0,
+                isAEdit = false;
+              order_addr.forEach((v2) => {
+                if (v2.edit) {
+                  isAEdit = true;
+                }
+                addrT += parseInt(v2.receipt_quantity + "");
+                let model2 = {
+                  addr_code: v2.addr_code.toString(),
+                  contactor: v2.contactor,
+                  mobile: v2.mobile,
+                  addr: v2.addr,
+                  receipt_quantity: v2.receipt_quantity,
+                };
+                model.order_addr.push(model2);
+              });
+
+              if (isAEdit) {
+                this.$message.warning("请保存地址信息!");
+                this.loading = false;
+                return;
+              }
+              if (parseInt(good_num + "") !== addrT) {
+                this.$message.warning("收货总数量与购买不一致!");
+                this.loading = false;
+                return;
+              }
+            }
+            this.loading = false;
+            let res = await asyncRequest.consultorder(model);
+            this.loading = false;
+            if (res && res.code === 0) {
+              this.$notify.success({
+                title: "下单成功!",
+                message: "",
+              });
+              this.showModelThis = false;
+              // 刷新
+              this.$emit("refresh");
+            } else if (res && res.code >= 100 && res.code <= 104) {
+              await this.logout();
+            } else {
+              this.$message.warning(res.message);
             }
-          }
-          this.loading = false;
-          let res = await asyncRequest.consultorder(model);
-          this.loading = false;
-          if (res && res.code === 0) {
-            this.$notify.success({
-              title: "下单成功!",
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
           }
         } else {
           console.log("error submit!!");

+ 3 - 0
src/views/sellOut/zixunOrder/components/editForm.vue

@@ -1029,6 +1029,9 @@ export default {
       this.sch_is_noble();
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let model = JSON.parse(JSON.stringify(this.ruleForm));
           const { pendtime, is_project, endtime } = model;

+ 3 - 0
src/views/sellOut/zxDiffOrder/components/addForm.vue

@@ -265,6 +265,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           const model = JSON.parse(JSON.stringify(this.ruleForm));
           model.status = "2";

+ 8 - 1
src/views/serviceParam/Invoicing/addEdit.vue

@@ -48,7 +48,11 @@
                 </el-form-item>
               </el-col>
               <el-col :span="24">
-                <el-form-item label="统一社会信用代码" prop="invoice_code" label-width="140px">
+                <el-form-item
+                  label="统一社会信用代码"
+                  prop="invoice_code"
+                  label-width="140px"
+                >
                   <el-input
                     placeholder="统一社会信用代码"
                     :disabled="isDetail"
@@ -383,6 +387,9 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
+          if (this.loading) {
+            return;
+          }
           this.loading = true;
           let obj = JSON.parse(JSON.stringify(this.ruleForm));
           obj.companyNo = obj.companyNo.toString();

Some files were not shown because too many files changed in this diff