Prechádzať zdrojové kódy

报价单、合同调整产品类别表

qymljy 3 rokov pred
rodič
commit
a3cfa21392
23 zmenil súbory, kde vykonal 317 pridanie a 111 odobranie
  1. 1 1
      src/Form/cashcoupon/edit.vue
  2. 41 10
      src/HDrpManagement/contractManage/components/itemClass/add.vue
  3. 31 3
      src/HDrpManagement/contractManage/components/itemClass/index.vue
  4. 76 31
      src/HDrpManagement/contractManage/components/productClassList/addProduct.vue
  5. 34 5
      src/HDrpManagement/contractManage/components/productClassList/productClassList.vue
  6. 1 1
      src/HDrpManagement/contractManage/components/productClassList/table.vue
  7. 1 1
      src/HDrpManagement/contractManage/components/productDetailList/productDetailList.vue
  8. 6 5
      src/HDrpManagement/contractManage/components/productList/productBillno.vue
  9. 5 5
      src/HDrpManagement/contractManage/components/toolList/toolList.vue
  10. 4 1
      src/HDrpManagement/contractManage/modules/detail.vue
  11. 6 5
      src/HDrpManagement/orderManage/details/index.vue
  12. 3 3
      src/HDrpManagement/projectChange/components/putPeople.vue
  13. 1 2
      src/HDrpManagement/projectChange/modules/detail.vue
  14. 1 1
      src/HDrpManagement/publicCustomer/index.vue
  15. 5 3
      src/HManagement/clueManage/clue_import/detailPage/modules/edit.vue
  16. 2 2
      src/HManagement/clueManage/clue_import/index.vue
  17. 1 1
      src/HManagement/marketing2/saler/area/detail/index.vue
  18. 31 13
      src/SDrpManagement/QuotedPrice/detail/modules/itemClass/add.vue
  19. 54 6
      src/SDrpManagement/QuotedPrice/detail/modules/itemClass/index.vue
  20. 5 7
      src/SDrpManagement/QuotedPrice/detail/modules/productInventory/index.vue
  21. 2 2
      src/SDrpManagement/invoiceapp_saler/detail/detail.vue
  22. 4 3
      src/SDrpManagement/salerOrder/details/index.vue
  23. 2 0
      src/components/table/index5.vue

+ 1 - 1
src/Form/cashcoupon/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" type="primary" @click="onShow" :disabled="data.status !== '新建'">编 辑</el-button>
+    <el-button size="mini" type="primary" @click="onShow" v-if="data.status === '新建'">编 辑</el-button>
     <el-drawer
         title="编辑返利代金券"
         :visible.sync="dialogFormVisible"

+ 41 - 10
src/HDrpManagement/contractManage/components/itemClass/add.vue

@@ -75,14 +75,17 @@
 <!--          <el-input readonly type="text" placeholder="选择报价单" style="width:200px" size="small"  v-model="billno" ></el-input>-->
         </div>
         <el-divider></el-divider>
-        <div class="flex-align-center flex-between ">
-          <slot name="operation"></slot>
-          <div class="flex-align-center">
-            <el-input size="small"  suffix-icon="el-icon-search" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>&nbsp;
-          </div>
-          <div style="margin-top:-10px;margin-bottom: 10px;float: right">
-            <el-button style="float: right" type="primary" size="mini" @click="itemClassSelect" :disabled="tableSelectData.length === 0 ">批量添加</el-button>
-          </div>
+        <div class="flex-between " style="margin-bottom: 10px">
+          <uploadAllData
+              style="display: inline-block !important;"
+              :total="total"
+              @handlePullApi="handlePullApi"
+              @handleUploadApi="handleUploadApi"
+              @onSuccess="onSuccess"
+          ></uploadAllData>
+          <el-button class="inline-16" type="primary" size="small" @click="itemClassSelect" :disabled="tableSelectData.length === 0 ">批量添加</el-button>
+          <el-input size="small" style="width: 200px"  suffix-icon="el-icon-search" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>&nbsp;
+
         </div>
         <div class="produtMag-panel">
           <el-table
@@ -127,7 +130,7 @@
             </el-table-column>-->
             <el-table-column
                 prop="discountrate"
-                label="折扣"
+                label="折扣(%)"
                 width="0">
               <template slot-scope="scope">
                 <span>{{Math.round((scope.row.discountrate * 100)*100)/100}}</span>
@@ -168,8 +171,10 @@
 </template>
 
 <script>
+import uploadAllData from '@/components/uploadAllData/index'
 export default {
   name: "add",
+  components:{uploadAllData},
   props:["data"],
   data(){
     return {
@@ -329,7 +334,9 @@ export default {
 
     },
     onColes(){
-
+      this.params2.content.where.condition = ''
+      this.params.content.where.condition = ''
+      this.$emit('closeDrawer')
     },
     /*已选产品数据*/
     async selectListData(){
@@ -395,6 +402,30 @@ export default {
         });
       });
     },
+    /*拉取数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.params.content))
+      pullApi.id = this.params.id
+      /*pullApi.content.sa_projectid = this.$route.query.id*/
+    },
+    /*上传数据*/
+    handleUploadApi (uploadApi,data) {
+      uploadApi.id = 20221124110202
+      uploadApi.content = {
+        "sa_contractid": this.$route.query.id, //订单ID
+        "items": data.map(e=>{
+          return {
+            "sa_contract_itemsaleclassid":0,
+            "itemclassid":e.itemclassid,
+            "discountrate":e.discountrate
+          }
+        })
+      }
+      this.listData()
+    },
+    onSuccess () {
+      this.listData()
+    },
   },
   mounted() {
   }

+ 31 - 3
src/HDrpManagement/contractManage/components/itemClass/index.vue

@@ -13,8 +13,18 @@
           clearable>
       </el-input>&nbsp;
       <!--      <product_table style="float: right" :data="data"  ref="quoterPrice" @productAdd="productInitialization" ></product_table>-->
-      <add v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" :data="data" class="inline-16" @itemClassAdd="listData"></add>
-      <el-button v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+      <uploadAllData
+          v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader"
+          style="display: inline-block !important;"
+          :total="total"
+          @onSuccess="listData()"
+          @handlePullApi="handlePullApi"
+          @handleDelApi="handleDelApi"
+          idName="sa_contract_itemsaleclassid"
+          type="del"
+      ></uploadAllData>
+      <el-button class="inline-16" v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+      <add v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" :data="data" class="inline-16" @itemClassAdd="listData" @closeDrawer="listData"></add>
     </div>
     <div class="produtMag-panel">
       <tableLayout :layout="tablecols" checkbox="true"  :data="list" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true" fixedName="offerPrice amount" @selectionChange="selectionChange">
@@ -49,10 +59,11 @@
 <script>
 import add from './add'
 import tableLayout from '@/components/table/index5'
+import uploadAllData from '@/components/uploadAllData/index'
 export default {
   name: "index",
   props:["data","isLeader"],
-  components:{add,tableLayout},
+  components:{add,tableLayout,uploadAllData},
   data(){
     return {
       tablecols:[],
@@ -170,6 +181,23 @@ export default {
         this.$emit("delSuccess")
       })
     },
+    /*获取要删除的数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.param.content))
+      pullApi.id = 20221124135602
+      pullApi.content.sa_contractid = this.$route.query.id
+    },
+    /*一键删除*/
+    handleDelApi (delApi,data) {
+      delApi.id = 20221124111202
+      delApi.content = {
+        "sa_contractid":this.$route.query.id,
+        "sa_contract_itemsaleclassids":data,
+        "pageNumber":0,
+        "pageSize":0
+      }
+      this.listData()
+    },
   },
   mounted() {
     this.listData()

+ 76 - 31
src/HDrpManagement/contractManage/components/productClassList/addProduct.vue

@@ -1,23 +1,31 @@
 <template>
   <div>
     <el-button type="primary" size="small" :disabled="disabled" @click="addBtn">添 加</el-button>
-    <el-drawer append-to-body size="80%" :with-header="false" :visible.sync="drawer">
-      <div class="container">
+    <el-drawer append-to-body size="80%" :with-header="false" :visible.sync="drawer" @close="onClose">
+      <div class="container ">
         <p class="normal-title normal-margin">产品类别</p>
-        <div style="display:flex;justify-content:space-between;align-items:center">
-          <el-input size="small" style="width:200px;margin-bottom:10px" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @clear="getProductList(params.content.pageNumber = 1)" @keyup.native.enter="getProductList(params.content.pageNumber = 1)" clearable></el-input>
-          <el-button type="primary" size="small" :disabled="selectProductLength == 0" @click="onSumit">批 量 添 加</el-button>
-        </div>
-          <Table @selectArr="selectArr" ref="table" id="itemclassid" v-model="itemno" :layout="tablecols" :data="productList" :custom="true" height="500px"  @upDateData="upDateData">
+        <div class="drawer__panel">
+          <div style="margin-bottom: 10px">
+            <uploadAllData
+                style="display: inline-block !important;"
+                :total="total"
+                @handlePullApi="handlePullApi"
+                @handleUploadApi="handleUploadApi"
+                @onSuccess="onSuccess"
+            ></uploadAllData>
+            <el-button type="primary" class="inline-16" size="small" :disabled="selectProductLength == 0" @click="onSumit">批 量 添 加</el-button>
+            <el-input size="small" style="width:200px;margin-bottom:10px" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @clear="getProductList(params.content.pageNumber = 1)" @keyup.native.enter="getProductList(params.content.pageNumber = 1)" clearable></el-input>
+          </div>
+          <Table :checkbox="true" @selectionChange="selectArr" ref="table" id="itemclassid" v-model="itemno" :layout="tablecols" :data="productList" :custom="true"   @upDateData="upDateData">
             <template v-slot:customcol="scope">
               <div v-if="scope.column.columnname == 'attinfos'">
-                <previewImage 
-                  v-if="scope.column.data.attinfos[0]" 
-                  style="width:38px;height:38px;margin:0px" 
-                  class="image" 
-                  :image="scope.column.data.attinfos[0]" 
-                  :list="scope.column.data.attinfos" 
-                  :deletebtn="false"
+                <previewImage
+                    v-if="scope.column.data.attinfos[0]"
+                    style="width:38px;height:38px;margin:0px"
+                    class="image"
+                    :image="scope.column.data.attinfos[0]"
+                    :list="scope.column.data.attinfos"
+                    :deletebtn="false"
                 ></previewImage>
               </div>
               <div v-else-if="scope.column.columnname == 'brand'">
@@ -30,23 +38,27 @@
               <el-button type="text" size="mini" @click="addProduct(scope.data)">添 加</el-button>
             </template>
           </Table>
-           <div style="display:flex;justify-content:space-between;align-items:center;margin-top:10px">
-<!--            <el-pagination
-                style="display:inline-block"
-                background
-                small
-                @size-change="handleSizeChange"
-                @current-change="handleCurrentChange"
-                :current-page="params.content.pageNumber"
-                :page-sizes="[20, 50, 100, 200]"
-                layout="total, prev, pager, next, jumper"
-                :total="total">
-            </el-pagination>-->
+          <div style="display:flex;justify-content:space-between;align-items:center;margin-top:10px">
+            <!--            <el-pagination
+                            style="display:inline-block"
+                            background
+                            small
+                            @size-change="handleSizeChange"
+                            @current-change="handleCurrentChange"
+                            :current-page="params.content.pageNumber"
+                            :page-sizes="[20, 50, 100, 200]"
+                            layout="total, prev, pager, next, jumper"
+                            :total="total">
+                        </el-pagination>-->
           </div>
+        </div>
+
+
+
       </div>
       
       <div class="fixed__btn__panel">
-        <el-button size="small" @click="drawer = false">取 消</el-button>
+        <el-button size="small" @click="onClose">取 消</el-button>
 <!--        <el-button type="primary" size="small" :disabled="selectProductLength == 0" @click="onSumit">批 量 添 加</el-button>-->
       </div>
     </el-drawer>
@@ -54,12 +66,14 @@
 </template>
 
 <script>
-import Table from './table'
+// import Table from './table'
+import Table from '@/components/table/index5'
 import previewImage from '@/components/previewImage/index'
+import uploadAllData from '@/components/uploadAllData/index'
 export default {
   props:['disabled'],
   name: '',
-  components:{Table,previewImage},
+  components:{Table,previewImage,uploadAllData},
   data() {
     return {
       drawer:false,
@@ -187,10 +201,10 @@ export default {
         },
       })
       this.tool.showMessage(res,() => {
-        this.drawer = false
+        // this.drawer = false
         this.$emit('onSuccess')
+        this.getProductList()
         this.$refs.table.allArr = []
-
       })
     },
     upDateData (data) {
@@ -206,6 +220,37 @@ export default {
       this.params.content.pageNumber = val
       this.getProductList()
     },
+    /*拉取数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.params.content))
+      pullApi.id = this.params.id
+      /*pullApi.content.sa_projectid = this.$route.query.id*/
+    },
+    /*上传数据*/
+    handleUploadApi (uploadApi,data) {
+      uploadApi.id = 20221124110202
+      uploadApi.content = {
+        "sa_contractid": this.$route.query.id, //订单ID
+        "items": data.map(e=>{
+          return {
+            "sa_contract_itemsaleclassid": 0,
+            "itemclassid": e.itemclassid,
+            "discountrate":  e.discountrate
+          }
+        })
+      }
+     this.getProductList()
+      this.$emit('onSuccess')
+    },
+    onClose(){
+      this.drawer = false
+      this.params.content.where.condition = ''
+      this.getProductList()
+      this.$emit('closeDrawer')
+    },
+    onSuccess () {
+      this.getProductList()
+    },
   },
 };
 </script>

+ 34 - 5
src/HDrpManagement/contractManage/components/productClassList/productClassList.vue

@@ -3,12 +3,22 @@
     <div>
       <div class="flex-align-center" style="margin-bottom:10px">
         <el-input size="small" style="width:200px;margin-right:10px" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @clear="listData(params.content.pageNumber = 1)" @keyup.native.enter="listData(params.content.pageNumber = 1)" clearable></el-input>
+        <uploadAllData
+            v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader"
+            style="display: inline-block !important;"
+            :total="total"
+            @onSuccess="listData()"
+            @handlePullApi="handlePullApi"
+            @handleDelApi="handleDelApi"
+            idName="sa_contract_itemsaleclassid"
+            type="del"
+        ></uploadAllData>
+        <el-button class="inline-16" v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
         <slot name="addProduct"/>
-        <el-button v-if="tool.checkAuth($route.name,'productClassManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+
       </div>
-      <tableLayout checkbox="true" :layout="tablecols" :data="list" :opwidth="200" :width="false"  :custom="true" fixedName="operation discountrate" height="calc(100vh - 500px)" @selectionChange="selectionChange"
-                   :header-cell-style="{height:'50px',color:'#606266',fontWeight:'400'}"
-                   :cell-style="{height:'50px',color:'#666666',fontWeight:'400'}">
+      <tableLayout checkbox="true" :layout="tablecols" :data="list" :opwidth="200" :width="false"  :custom="true" height="calc(100vh - 500px)" @selectionChange="selectionChange"
+                   >
         <template v-slot:customcol="scope">
           <div v-if="scope.column.columnname == 'discountrate'">
             <el-input v-model="scope.column.data.discountrate" size="mini" placeholder="请输入折扣" @change="discountrateChange(scope.column.data.discountrate,scope.column.data,scope.$index)"
@@ -46,8 +56,10 @@
 // import edit from './editProduct'
 import addProduct from './addProduct'
 import previewImage from '@/components/previewImage/index'
+import tableLayout from '@/components/table/index5'
+import uploadAllData from '@/components/uploadAllData/index'
 export default {
-  components: {addProduct,previewImage},
+  components: {addProduct,previewImage,tableLayout,uploadAllData},
   props:["data","isLeader"],
   name: '',
   data() {
@@ -184,6 +196,23 @@ export default {
         this.$emit("delSuccess")
       })
     },
+    /*获取要删除的数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.params.content))
+      pullApi.id = 20221124135602
+      pullApi.content.sa_contractid = this.$route.query.id
+    },
+    /*一键删除*/
+    handleDelApi (delApi,data) {
+      delApi.id = 20221124111202
+      delApi.content = {
+        "sa_contractid":this.$route.query.id,
+        "sa_contract_itemsaleclassids":data,
+        "pageNumber":0,
+        "pageSize":0
+      }
+      this.listData()
+    },
   },
 };
 </script>

+ 1 - 1
src/HDrpManagement/contractManage/components/productClassList/table.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-table ref="tables"  @select="aaaa" @select-all="selectAll" v-loading="loading" highlight-current-row :data="data" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini" :height="height" style="width:100%"  border>
+    <el-table ref="tables"  @select="aaaa" @select-all="selectAll" v-loading="loading" highlight-current-row :data="data"  size="mini" :height="height" style="width:100%"  >
         <el-table-column
         type="selection"
         width="45"

+ 1 - 1
src/HDrpManagement/contractManage/components/productDetailList/productDetailList.vue

@@ -13,12 +13,12 @@
             idName="sa_contract_itemsid"
             type="del"
         ></uploadAllData>
+        <el-button class="inline-16" size="small" v-if="tool.checkAuth($route.name,'productDetailManage') && data.status === '新建' && isLeader" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
         <addProduct v-if="tool.checkAuth($route.name,'productDetailManage') && data.status === '新建' && isLeader"
                     class="inline-16"  :params="paramsAdd" :tablecolsAdd="tablecolsAdd" title="添加"
                     @addSuccess="addProducts" @addProduct="addProduct" @uploadData="uploadData"
                      ref="addProduct"
         ></addProduct>
-        <el-button size="small" v-if="tool.checkAuth($route.name,'productDetailManage') && data.status === '新建' && isLeader" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
       </div>
       <div class="produtMag-panel">
       </div>

+ 6 - 5
src/HDrpManagement/contractManage/components/productList/productBillno.vue

@@ -4,10 +4,7 @@
       <div class="flex-align-center" style="margin-bottom:10px">
         <el-input size="small" style="width:200px;margin-right:10px" v-model="params.content.where.condition" placeholder="输入搜索内容" @clear="listData(params.content.pageNumber = 1)" @keyup.native.enter="listData(params.content.pageNumber = 1)" clearable></el-input>
         <slot name="addProduct"/>
-        <addProductContract class="inline-16"  title="添 加" :tablecolsAdd="tablecolsAdd" :tradefield="data.tradefield" :data="data"
-                             @addSuccess="queryProuctAdds" ref="addProduct" @addProduct="queryProuctAdd" @uploadData="queryUploadData" v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader"
-        >
-        </addProductContract>
+
         <uploadAllData
             v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader"
             :total="total"
@@ -17,7 +14,11 @@
             idName="sa_contract_itemsid"
             type="del"
         ></uploadAllData>
-        <el-button v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+        <el-button class="inline-16" v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+        <addProductContract class="inline-16"  title="添 加" :tablecolsAdd="tablecolsAdd" :tradefield="data.tradefield" :data="data"
+                            @addSuccess="queryProuctAdds" ref="addProduct" @addProduct="queryProuctAdd" @uploadData="queryUploadData" v-if="tool.checkAuth($route.name,'productBillManage') && data.status === '新建' && isLeader"
+        >
+        </addProductContract>
       </div>
       <tableLayout checkbox="true" :layout="tablecols" :data="list" :width="true" :opwidth="200" height="calc(100vh - 550px)" :custom="true" fixedName="operation countPrice" @selectionChange="selectionChange">
         <template v-slot:customcol="scope">

+ 5 - 5
src/HDrpManagement/contractManage/components/toolList/toolList.vue

@@ -4,10 +4,6 @@
       <div class="flex-align-center" style="margin-bottom:10px">
         <el-input size="small" style="width:200px;margin-right:10px" v-model="params.content.where.condition" placeholder="产品编号、产品名称、材质、品牌" @clear="listData(params.content.pageNumber = 1)" @keyup.native.enter="listData(params.content.pageNumber = 1)" clearable></el-input>
         <slot name="addProduct"/>
-        <addTool ref="addTool" :params="paramsAdd" :tablecolsAdd="tablecolsAdd" title="添加" @addSuccess="addTools"
-                 @addProduct="addTool" @uploadData="uploadData" @closeDrawer="listData();$emit('onSuccess')"
-                 v-if="tool.checkAuth($route.name,'toolListManage') && data.status == '新建' && isLeader" class="inline-16"
-        ></addTool>
         <uploadAllData
             v-if="tool.checkAuth($route.name,'toolListManage') && data.status == '新建' && isLeader"
             :total="total"
@@ -17,7 +13,11 @@
             idName="sa_contract_itemsid"
             type="del"
         ></uploadAllData>
-        <el-button size="small" v-if="tool.checkAuth($route.name,'toolListManage') && data.status == '新建' && isLeader" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+        <el-button class="inline-16" size="small" v-if="tool.checkAuth($route.name,'toolListManage') && data.status == '新建' && isLeader" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+        <addTool ref="addTool" :params="paramsAdd" :tablecolsAdd="tablecolsAdd" title="添加" @addSuccess="addTools"
+                 @addProduct="addTool" @uploadData="uploadData" @closeDrawer="listData();$emit('onSuccess')"
+                 v-if="tool.checkAuth($route.name,'toolListManage') && data.status == '新建' && isLeader" class="inline-16"
+        ></addTool>
       </div>
       <tableLayout checkbox="true" :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 550px)" :custom="true" fixedName="operation  countPrice" @selectionChange="selectionChange">
         <template v-slot:customcol="scope">

+ 4 - 1
src/HDrpManagement/contractManage/modules/detail.vue

@@ -83,7 +83,7 @@
       <div slot="slot1" >
         <!--产品类别折扣表-->
         <productClassList :data="mainData" :isLeader="isLeader" ref="classList" @priceChange="queryMainData" v-if="mainData.type == '框架'">
-          <addClass class="inline-16" v-if="tool.checkAuth($route.name,'productClassManage')" :disabled="mainData.status != '新建' || !isLeader" slot="addProduct" @onSuccess="$refs.classList.listData()"/>
+          <addClass class="inline-16" v-if="tool.checkAuth($route.name,'productClassManage')" :disabled="mainData.status != '新建' || !isLeader" slot="addProduct" @onSuccess="$refs.classList.listData()"   ref="addProduct" @closeDrawer="closeDrawer"/>
           <template v-slot:edit="scope">
 <!--            <el-button
               v-if="tool.checkAuth($route.name,'productClassManage')"
@@ -1296,6 +1296,9 @@ export default {
     successYear(year){
       this.$refs.taskTarget.year = year
       this.$refs.taskTarget.queryData()
+    },
+    closeDrawer(){
+      this.$refs.classList.listData()
     }
     // async getModelList () {
     //   let res = await this.$api.requested({

+ 6 - 5
src/HDrpManagement/orderManage/details/index.vue

@@ -14,11 +14,12 @@
         :tabs="['订单明细','基本信息','订单进度','居间费明细','发货单','物流单','发票记录','收支明细','核销记录','erp对接记录','变更记录']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
-        <div slot="customOperation" class="inline-16" v-if="Object.keys(mainData).length > 0">
+        <div slot="customOperation"  v-if="Object.keys(mainData).length > 0">
           <!-- <Edit class="inline-16" v-if="tool.checkAuth($route.name,'update') && (mainData.status == '新建')" :data="mainData" @onSuccess="queryMainData();$refs.prod && $refs.prod.listData()" /> -->
-          <Edit class="inline-16" :data="mainData" @onSuccess="queryMainData();$refs.prod && $refs.prod.listData()" />
-          <EditRemark :data="mainData" @onSuccess="queryMainData"></EditRemark>
-          <changeSaler class="inline-16" ref="saler" @selectRow="salerChange">
+          <Edit style="display: inline-block !important;"   v-if="mainData.status === '新建' || mainData.status === '关闭'" :data="mainData" @onSuccess="queryMainData();$refs.prod && $refs.prod.listData()" />
+          <Edit class="inline-16" v-if="mainData.status !== '新建' && mainData.status !== '关闭'" :data="mainData" @onSuccess="queryMainData();$refs.prod && $refs.prod.listData()" />
+          <EditRemark style="margin-right: 20px !important;"  :data="mainData" @onSuccess="queryMainData"></EditRemark>
+          <changeSaler class="inline-16" style="margin-left: -10px" ref="saler" @selectRow="salerChange">
             <el-button v-if="tool.checkAuth($route.name,'changeSaler')" type="primary" slot="input" size="mini" @click="$refs.saler.visible=true;$refs.saler.listData()">变更业务员</el-button>
           </changeSaler>
           <el-button v-if="tool.checkAuth($route.name,'confirmDate') && mainData.status === '交期待确认'"  class="inline-16"  type="primary" size="mini" @click="confirmdate">确认交期</el-button>
@@ -47,7 +48,7 @@
           <el-button v-if="tool.checkAuth($route.name,'reback') && mainData.status === '提交'"  type="primary" size="mini" @click="dialogVisible = true">退 回</el-button>
           <el-button v-if="tool.checkAuth($route.name,'submit') && mainData.status === '新建'" type="primary" size="mini" @click="onSubmit('提交')">提 交</el-button>
           <el-button v-if="tool.checkAuth($route.name,'finishOrder') && mainData.status === '审核'"  type="primary" size="mini" @click="closeOrder">结 案</el-button>
-          <el-button v-if="tool.checkAuth($route.name,'insert')"  type="primary" size="mini" @click="onCopy">复 制</el-button>
+          <el-button v-if="tool.checkAuth($route.name,'insert')" class="inline-16"  type="primary" size="mini" @click="onCopy">复 制</el-button>
         </div>
         <template #headerBottom>
           <div style="display:flex" v-if="Object.keys(mainData).length > 0">

+ 3 - 3
src/HDrpManagement/projectChange/components/putPeople.vue

@@ -1,8 +1,8 @@
 <template>
   <div>
-    <el-button v-if="flag === 0 && tool.checkAuth($route.name,'putSubmit')" size="mini" :type="!disabled || rowData.status === '已失败' ?'':'primary'" slot="reference" @click="onSubmit" :disabled="!disabled || rowData.status === '已失败'">提交报备</el-button>
-    <el-button v-if="flag === 1 && tool.checkAuth($route.name,'putCheck')" size="mini" type="primary" slot="reference" @click="onCheck" >报备审核</el-button>
-    <el-button v-if="flag !== 0 && tool.checkAuth($route.name,'putBack') " size="mini" type="primary" slot="reference"  @click="onUnCheck" >报备驳回(退回)</el-button>
+    <el-button class="inline-16" v-if="flag === 0 && tool.checkAuth($route.name,'putSubmit')" size="mini" :type="!disabled || rowData.status === '已失败' ?'':'primary'" slot="reference" @click="onSubmit" :disabled="!disabled || rowData.status === '已失败'">提交报备</el-button>
+    <el-button  v-if="flag === 1 && tool.checkAuth($route.name,'putCheck')" size="mini" type="primary" slot="reference" @click="onCheck" >报备审核</el-button>
+    <el-button class="inline-16" v-if="flag !== 0 && tool.checkAuth($route.name,'putBack') " size="mini" type="primary" slot="reference"  @click="onUnCheck" >报备驳回(退回)</el-button>
   </div>
 </template>
 

+ 1 - 2
src/HDrpManagement/projectChange/modules/detail.vue

@@ -17,8 +17,7 @@
 <!--    <tagPanl slot="tags" :data="tagObj" ownertable="sa_project" :id="mainData.sa_projectid" @onSuccess="queryMainData"/>-->
     <div slot="customOperation">
       <!-- 此区域提供了自定义操作按钮 -->
-      <putPeople class="inline-16" @putSuccess="putSuccess" v-if="flagTag !== ''" :rowData="mainData" :flagTag="flagTag" :disabled="mainData.disabled"/>
-<!--      <recovery class="inline-16" v-if="tool.checkAuth($route.name,'recovery')  && mainData.status === '已失败'" :rowData="mainData" :disabled="mainData.disabled" @onRecovery="onSuccess"></recovery>-->
+      <putPeople style=" display: inline-block !important;" @putSuccess="putSuccess" v-if="flagTag !== ''" :rowData="mainData" :flagTag="flagTag" :disabled="mainData.disabled"/>
       <projectRecovery class="inline-16" :data="mainData" v-if="tool.checkAuth($route.name,'recovery')  && mainData.status === '已失败'" :disabled="mainData.disabled" @onRecovery="onSuccess"></projectRecovery>
       <duplicatesProject class="inline-16" :data="mainData" v-if="tool.checkAuth($route.name,'queryDuplicates') " :disabled="mainData.disabled" @dialogClose="dialogClose"></duplicatesProject>
       <finish class="inline-16" v-if="tool.checkAuth($route.name,'finish')  && mainData.status === '跟进中'" :disabled="mainData.disabled" @onFinish="onSuccess"></finish>

+ 1 - 1
src/HDrpManagement/publicCustomer/index.vue

@@ -18,7 +18,7 @@
         <el-button :type="selectCustomer.length === 0?'':'primary'" :disabled="selectCustomer.length === 0"  size="small" v-if="tool.checkAuth($route.name,'deletePublic')" @click="deleteData" class="inline-16">删 除</el-button>
       </template>
       <template #titleRight>
-        <importCustomer style="margin-left:10px" @onSuccess="onSuccess" v-if="tool.checkAuth($route.name,'import')"></importCustomer>
+        <importCustomer  @onSuccess="onSuccess" v-if="tool.checkAuth($route.name,'import')"></importCustomer>
       </template>
       <template #custom>
       <div class="mt-10">

+ 5 - 3
src/HManagement/clueManage/clue_import/detailPage/modules/edit.vue

@@ -128,7 +128,7 @@ export default {
   components: {businessMessage},
   data () {
     var begdateTime = (rule,value,callback) =>{
-      console.log(value,this.form.enddate_due)
+      this.$refs.form.validateField('enddate_due')
       if (this.form.enddate_due !== ''){
         if (value > this.form.enddate_due){
           callback(new Error('预计开工时间不能晚于预计完工时间'))
@@ -140,13 +140,15 @@ export default {
       }
     }
     var enddateTime = (rule,value,callback) =>{
-      if (this.form.begdate_due !== ''){
+      if (value && this.form.begdate_due !== ''){
         if (value < this.form.begdate_due){
           callback(new Error('预计完工时间不能早于预计开工时间'))
         }else {
           callback();
         }
-      }  else {
+      }  else if (value && this.param.content.begdate_due === '') {
+        callback(new Error('预计完工时间不能早于预计开工时间'))
+      }else {
         callback();
       }
     }

+ 2 - 2
src/HManagement/clueManage/clue_import/index.vue

@@ -31,8 +31,8 @@
           </el-select>
         </div>
       </div>
-      <div slot="titleRight" style="display:flex;margin-left:10px">
-        <importClue v-if="tool.checkAuth($route.name,'import')" @onSuccess="$refs.basicLayout.listData()"></importClue>
+      <div slot="titleRight" >
+        <importClue  v-if="tool.checkAuth($route.name,'import')" @onSuccess="$refs.basicLayout.listData()"></importClue>
       </div>
       <template v-slot:tbList="scope">
         <div v-if="scope.data.column.columnname == 'status'">

+ 1 - 1
src/HManagement/marketing2/saler/area/detail/index.vue

@@ -16,7 +16,7 @@
       <div slot="tags">
       </div>
       <div slot="customOperation" >
-        <el-button v-if="tool.checkAuth($route.name,'delete')" type="primary" size="mini" @click="deleteSaler">删 除</el-button>
+        <el-button class="inline-16" v-if="tool.checkAuth($route.name,'delete')" type="primary" size="mini" @click="deleteSaler">删 除</el-button>
       </div>
       <div slot="slot0" >
         <detailed :detailData="mainData"></detailed>

+ 31 - 13
src/SDrpManagement/QuotedPrice/detail/modules/itemClass/add.vue

@@ -10,14 +10,16 @@
         direction="rtl"
         @close="onColes">
       <div class="drawer__panel">
-        <div class="flex-align-center flex-between ">
-          <slot name="operation"></slot>
-          <div class="flex-align-center">
-            <el-input size="small"  suffix-icon="el-icon-search" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>&nbsp;
-          </div>
-          <div style="margin-top:-10px;margin-bottom: 10px;float: right">
-            <el-button style="float: right" type="primary" size="mini" @click="batchSelect" :disabled="tableSelectData.length === 0 ">批量添加</el-button>
-          </div>
+        <div class=" flex-between " style="margin-bottom: 10px">
+          <uploadAllData
+              style="display: inline-block !important;"
+              :total="total"
+              @handlePullApi="handlePullApi"
+              @handleUploadApi="handleUploadApi"
+              @onSuccess="onSuccess"
+          ></uploadAllData>
+          <el-button class="inline-16"  type="primary" size="small" @click="batchSelect" :disabled="tableSelectData.length === 0 ">批量添加</el-button>
+          <el-input size="small" style="width: 200px"  suffix-icon="el-icon-search" v-model="params.content.where.condition" placeholder="编号、类别名称、品牌" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>&nbsp;
         </div>
         <div class="produtMag-panel">
           <el-table
@@ -55,14 +57,14 @@
                 <p><span>{{scope.row.brandname}}</span></p>
               </template>
             </el-table-column>
-            <el-table-column
+<!--            <el-table-column
                 prop="discountrate"
                 label="折扣(%)"
                 width="150">
               <template slot-scope="scope">
-                <span>{{scope.row.discountrate || '--'}}</span>
+                <span>{{scope.row.discountrate || '&#45;&#45;'}}</span>
               </template>
-            </el-table-column>
+            </el-table-column>-->
             <el-table-column
                 fixed="right"
                 label="操作"
@@ -98,8 +100,10 @@
 </template>
 
 <script>
+import uploadAllData from '@/components/uploadAllData/index'
 export default {
   name: "add",
+  components:{uploadAllData},
   props:["disabled"],
   data(){
     return {
@@ -201,7 +205,9 @@ export default {
       this.selectData = obj
     },
     onColes(){
-
+      this.dialogProductVisible = false
+      this.params.content.where.condition = ''
+      this.$emit("closeDrawer")
     },
     /*已选产品数据*/
     async selectListData(){
@@ -213,7 +219,19 @@ export default {
       })
       this.selectTotal = res.total
     },
-
+    /*拉取数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.params.content))
+      pullApi.id = this.params.id
+      /*pullApi.content.sa_projectid = this.$route.query.id*/
+    },
+    /*上传数据*/
+    handleUploadApi (uploadApi,data) {
+      this.$emit('uploadData',uploadApi,data)
+    },
+    onSuccess () {
+      this.listData()
+    },
   },
   mounted() {
   }

+ 54 - 6
src/SDrpManagement/QuotedPrice/detail/modules/itemClass/index.vue

@@ -4,7 +4,6 @@
       <el-input
           size="small"
           style="width: 230px;"
-          class="inline-16"
           suffix-icon="el-icon-search"
           v-model="param.content.where.condition"
           placeholder="编号、类别名称、品牌"
@@ -13,8 +12,21 @@
           clearable>
       </el-input>&nbsp;
       <!--      <product_table style="float: right" :data="data"  ref="quoterPrice" @productAdd="productInitialization" ></product_table>-->
-      <add v-if="tool.checkAuth($route.name,'itemClassDetails') && data.status === '新建' && disabled" class="inline-16" @itemClassAdd="listData" ></add>
-      <el-button v-if="tool.checkAuth($route.name,'itemClassDetails') && data.status === '新建' && disabled" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+      <uploadAllData
+          v-if="tool.checkAuth($route.name,'itemClassDetails') && data.status === '新建' && disabled"
+          style="display: inline-block !important;"
+          :total="total"
+          @onSuccess="listData()"
+          @handlePullApi="handlePullApi"
+          @handleDelApi="handleDelApi"
+          idName="sa_quotedprice_itemclassid"
+          type="del"
+      ></uploadAllData>
+      <el-button class="inline-16" v-if="tool.checkAuth($route.name,'itemClassDetails') && data.status === '新建' && disabled" size="small" :type="delProductData.length === 0?'':'primary'" @click="onDelProduct" :disabled="delProductData.length === 0">删 除</el-button>
+      <add v-if="tool.checkAuth($route.name,'itemClassDetails') && data.status === '新建' && disabled" class="inline-16" @itemClassAdd="listData"
+           @uploadData="uploadData" ref="addProduct" @closeDrawer="closeDrawer"
+      ></add>
+
     </div>
     <div class="produtMag-panel">
       <tableLayout :layout="tablecols" checkbox="true"  :data="list" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true" fixedName="offerPrice amount" @selectionChange="selectionChange">
@@ -48,10 +60,11 @@
 <script>
 import add from './add'
 import tableLayout from '@/components/table/index5'
+import uploadAllData from '@/components/uploadAllData/index'
 export default {
   name: "index",
   props:["data","disabled"],
-  components:{add,tableLayout},
+  components:{add,tableLayout,uploadAllData},
   data(){
     return {
       tablecols:[],
@@ -98,12 +111,12 @@ export default {
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
       this.param.content.pageSize = val
-      this.productData()
+      this.listData()
     },
     handleCurrentChange(val) {
       // console.log(`当前页: ${val}`);
       this.param.content.pageNumber = val
-      this.productData()
+      this.listData()
     },
     onChangeDiscountrate(val,data,index){
       if (val > 100){
@@ -179,6 +192,41 @@ export default {
         this.$emit("delSuccess")
       })
     },
+    /*获取要删除的数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.param.content))
+      pullApi.id = 20230219161403
+      pullApi.content.sa_quotedpriceid = this.$route.query.id
+    },
+    /*一键删除*/
+    handleDelApi (delApi,data) {
+      delApi.id = 20230219161503
+      delApi.content = {
+        "sa_quotedprice_itemclassids":data,
+        "pageNumber":0,
+        "pageSize":0
+      }
+      this.listData()
+    },
+    /*一键全选*/
+    uploadData(uploadApi,data){
+      uploadApi.id = 20230219161303
+      uploadApi.content = {
+        "sa_quotedpriceid": this.$route.query.id, //订单ID
+        "items": data.map(e=>{
+          return {
+            "sa_quotedprice_itemclassid":0,
+            "itemclassid":e.itemclassid,
+            "discountrate":e.discountrate
+          }
+        })
+      }
+      this.listData()
+      this.$refs.addProduct.listData()
+    },
+    closeDrawer(){
+      this.listData()
+    }
   },
   mounted() {
     this.listData()

+ 5 - 7
src/SDrpManagement/QuotedPrice/detail/modules/productInventory/index.vue

@@ -8,15 +8,14 @@
           suffix-icon="el-icon-search"
           v-model="param.content.where.condition"
           placeholder="产品名称,产品编号,品号"
-          @keyup.enter.native="productData(param.content.pageNumber = 1)"
-          @clear="productData(param.content.pageNumber = 1)"
+          @keyup.enter.native="productData(param.content.pageNumber= 1)"
+          @clear="productData(param.content.pageNumber= 1)"
           clearable
-          border>
-      </el-input>&nbsp;
-<!--      <product_table style="float: right" :data="data"  ref="quoterPrice" @productAdd="productInitialization" ></product_table>-->
+          >
+      </el-input>
       <uploadAllData
           v-if="tool.checkAuth($route.name,'productDetails') && data.status === '新建' && disabled"
-          class="inline-16"
+          style="display: inline-block !important;"
           :total="total"
           @onSuccess="productData()"
           @handlePullApi="handlePullApi"
@@ -30,7 +29,6 @@
                          @addSuccess="addProducts" @addProduct="addProduct" @uploadData="uploadData" @closeDrawer="productData"
                          :tradefield="data.tradefield" ref="addProductProject"
       ></addProductProject>
-<!--      <productTable v-if="tool.checkAuth($route.name,'productDetails') && data.status === '新建' && disabled"  class="inline-16" @productAdd="productData"></productTable>-->
       <addProduct v-if="tool.checkAuth($route.name,'productDetails') && data.status === '新建' && disabled"
                   class="inline-16" @productAdd="productData" :params="paramsAdd" :tablecolsAdd="tablecolsAdd" title="自产品档案添加"
                   @addSuccess="addProducts" @addProduct="addProduct" @uploadData="uploadData" @closeDrawer="productData"

+ 2 - 2
src/SDrpManagement/invoiceapp_saler/detail/detail.vue

@@ -17,8 +17,8 @@
       <div slot="tags">
       </div>
       <div slot="customOperation" >
-        <el-button v-if="tool.checkAuth($route.name,'submit')" type="primary" size="mini" @click="submitInvoice" :disabled="mainData.status !== '新建' && mainData.status !== '提交'">{{mainData.status ==='新建'?'提交':'撤回'}}</el-button>
-        <el-button v-if="tool.checkAuth($route.name,'check')" type="primary" size="mini" @click="checkInvoice" :disabled="mainData.status !== '提交' && mainData.status !== '审核'">{{mainData.status === '审核'?'反审核':'审核'}}</el-button>
+        <el-button class="inline-16" v-if="tool.checkAuth($route.name,'submit')" type="primary" size="mini" @click="submitInvoice" :disabled="mainData.status !== '新建' && mainData.status !== '提交'">{{mainData.status ==='新建'?'提交':'撤回'}}</el-button>
+        <el-button class="inline-16" v-if="tool.checkAuth($route.name,'check')" type="primary" size="mini" @click="checkInvoice" :disabled="mainData.status !== '提交' && mainData.status !== '审核'">{{mainData.status === '审核'?'反审核':'审核'}}</el-button>
         <el-button v-if="tool.checkAuth($route.name,'toManual')" type="primary" size="mini" class="inline-16" :disabled="mainData.byhand === 1 || mainData.status !== '新建'" @click="toManual">转手工</el-button>
       </div>
       <div slot="slot0" >

+ 4 - 3
src/SDrpManagement/salerOrder/details/index.vue

@@ -16,7 +16,7 @@
         <div slot="customOperation" class="inline-16">
           <Edit class="inline-16" v-if="tool.checkAuth($route.name,'update') && mainData.status == '新建'" :data="mainData" @onSuccess="queryMainData();$refs.prod && $refs.prod.listData()" />
           <el-button :disabled="mainData.status !== '交期待确认'"  type="primary" size="mini" @click="confirmdate">确认交期</el-button>
-          <el-button class="inline-16" v-if="tool.checkAuth($route.name,'submit')" :disabled="mainData.status !== '新建'"  type="primary" size="mini" @click="onSubmit('提交')">提 交</el-button>
+          <el-button  v-if="tool.checkAuth($route.name,'submit')" :disabled="mainData.status !== '新建'"  type="primary" size="mini" @click="onSubmit('提交')">提 交</el-button>
           <customBtn 
             btnName="撤回"
             message="确认撤回当前订单吗?"
@@ -25,9 +25,10 @@
             :id="$route.query.id"
             @onSuccess="queryMainData"
             class="inline-16"
+            style="margin-left: 10px"
             v-if="mainData.status == '提交' && tool.checkAuth($route.name,'reback')"
           />
-          <el-button class="inline-16" v-if="tool.checkAuth($route.name,'insert')"  type="primary" size="mini" @click="onCopy">复 制</el-button>
+          <el-button  v-if="tool.checkAuth($route.name,'insert')"  type="primary" size="mini" @click="onCopy">复 制</el-button>
           <customBtn 
             btnName="删 除"
             message="确认删除当前订单吗?"
@@ -35,7 +36,7 @@
             keyName="sa_orderids"
             :id="[$route.query.id]"
             @onSuccess="$router.back()"
-            class="inline-16"
+            style="display: inline-block !important;margin-left: 10px !important;"
             v-if="mainData.status == '新建' && tool.checkAuth($route.name,'delete')"
           />
         </div>

+ 2 - 0
src/components/table/index5.vue

@@ -36,6 +36,7 @@ export default {
   data () {
     return {
       list:[],
+      allArr:[]
     }
   },
   computed:{
@@ -51,6 +52,7 @@ export default {
       row.index = rowIndex
     },
     selectionChange(row){
+      this.allArr = row
       this.$emit('selectionChange',row)
     }
   },