Quellcode durchsuchen

收款条件设置修改

qymljy vor 2 Jahren
Ursprung
Commit
1094afb396

+ 0 - 1
src/HDrpManagement/collectionRule/index.vue

@@ -21,7 +21,6 @@
             </el-input>
           </div>
           <Table :tableData="list">
-
           </Table>
           <div style="margin-top:16px;text-align:right">
             <el-pagination

+ 3 - 2
src/HDrpManagement/collectionRule/modules/table.vue

@@ -1,7 +1,8 @@
 <!--  -->
 <template>
-  <div> 
+  <div>
     <el-table
+        height="calc(100vh - 330px)"
     :data="tableData"
     style="width: 100%">
       <el-table-column
@@ -101,7 +102,7 @@
         </template>
       </el-table-column>
       <el-table-column
-       prop="a" 
+       prop="a"
        label="操作"
        width="150px">
        <template slot-scope="scope">

+ 19 - 1
src/HDrpManagement/invoicePredictionManage/details/modules/custom.vue

@@ -1,6 +1,7 @@
 <template>
   <div>
-    <addCustom v-if="!isDisabled" ref="addOrder" :param="paramAdd" :tablecols="tablecolsAdd" :title="'添加客户'" class="inline-16" @add="addCustom" @adds="addCustoms"></addCustom>
+    <addCustom v-if="!isDisabled" ref="addOrder" :param="paramAdd" :tablecols="tablecolsAdd" :title="'添加客户'" class="inline-16" @add="addCustom"
+               @adds="addCustoms" @uploadData="uploadData" @onSuccess="onSuccess"></addCustom>
     <el-button v-if="!isDisabled" :type="items.length > 0?'primary':''" size="small" @click="delCustom" class="inline-16" :disabled="items.length === 0">删 除</el-button>
     <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
     </el-input>
@@ -139,6 +140,23 @@ export default {
         this.listData()
       })
     },
+    /*一键全选*/
+    uploadData (uploadApi,data) {
+      console.log(data,2222)
+      uploadApi.id = 20230705145104
+      uploadApi.content = {
+        "sa_salesforecastbillid": this.id, //订单ID
+        "ownertable": "sa_customers",
+        "salesforecastproject": data.map(item=>{
+          return {
+            "sa_salesforecastprojectid": 0,
+            "ownerid": item.sa_customersid,
+            "discountrate": 0
+
+          }
+        })
+      }
+    },
     async delCustom(val){
       console.log(val)
       const res = await this.$api.requested({

+ 18 - 1
src/HDrpManagement/invoicePredictionManage/details/modules/order.vue

@@ -1,6 +1,7 @@
 <template>
   <div>
-    <addOrder v-if="!isDisabled" ref="addOrder" :param="paramAdd" :tablecols="tablecolsAdd" :title="'添加订单'" class="inline-16" @add="addOrder" @adds="addOrders"></addOrder>
+    <addOrder v-if="!isDisabled" ref="addOrder" :param="paramAdd" :tablecols="tablecolsAdd" :title="'添加订单'" class="inline-16" @add="addOrder"
+              @adds="addOrders" @uploadData="uploadData" @onSuccess="onSuccess"></addOrder>
     <el-button v-if="!isDisabled" :type="items.length > 0?'primary':''" size="small" @click="delOrders" class="inline-16" :disabled="items.length === 0">删 除</el-button>
     <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
     </el-input>
@@ -137,6 +138,22 @@ export default {
         this.listData()
       })
     },
+    /*一键全选*/
+    uploadData (uploadApi,data) {
+      uploadApi.id = 20230705145104
+      uploadApi.content = {
+        "sa_salesforecastbillid": this.id, //订单ID
+        "ownertable": "sa_order",
+        "salesforecastproject": data.map(item=>{
+          return {
+            "sa_salesforecastprojectid": 0,
+            "ownerid": item.sa_orderid,
+            "discountrate": 0
+
+          }
+        })
+      }
+    },
     async delOrders(){
       let items = []
       items = this.items.map(item=>item.sa_salesforecastprojectid)

+ 57 - 4
src/HDrpManagement/projectPredictionManage/details/modules/projectList.vue

@@ -35,6 +35,7 @@
     </div>
     <el-row>
       <el-col :span="19">
+        <el-button @click="delProductAll" type="primary" size="small">一键删除</el-button>
         <el-button v-if="!isDisabled" :type="itemsPro.length > 0?'primary':''" size="small" @click="delProducts" class="inline-16" :disabled="itemsPro.length === 0">删 除</el-button>
         <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="productParam.content.where.condition?productParam.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="productParam.content.where.condition" @keyup.native.enter="listData(productParam.content.pageNumber = 1)" @clear="listData(productParam.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
         </el-input>
@@ -94,7 +95,7 @@
         append-to-body
         >
       <addProduct ref="productRef" :params="paramProduct" :tablecolsAdd="tablecolsAdd" :querySa_brandid="brandid"
-                  :tradefield="tradefield"   @addProduct="addProduct" @addSuccess="addProducts"></addProduct>
+                  :tradefield="tradefield" @uploadData="uploadDataProduct" @onSuccess="onSuccess"  @addProduct="addProduct" @addSuccess="addProducts"></addProduct>
     </el-drawer>
   </div>
 </template>
@@ -132,6 +133,7 @@ export default {
       projectParam:{
         "id": 20230705144904,
         "content": {
+          "nocache":true,
           "sa_salesforecastbillid":this.id,
           "pageNumber": 1,
           "pageSize": 20,
@@ -143,6 +145,7 @@ export default {
       productParam:{
         "id": 20230705145004,
         "content": {
+          "nocache":true,
           "sa_salesforecastprojectid": '',
           "pageNumber": 1,
           "pageSize": 20,
@@ -331,8 +334,9 @@ export default {
         })
         this.tool.showMessage(res,()=>{
           this.items = []
-          this.projectParam.content.pageNumber = 1
-          this.listData()
+          /*this.projectParam.content.pageNumber = 1
+          this.listData()*/
+          this.onSuccess()
         })
       }).catch(() => {
         this.$message({
@@ -413,7 +417,53 @@ export default {
         this.onSuccess()
       })
     },
-
+    /*一键全选产品*/
+    uploadDataProduct(uploadApi,data){
+      console.log(data)
+      uploadApi.id = 20230705145204
+      uploadApi.content = {
+        "sa_salesforecastbillid": this.id, //订单ID
+        "sa_salesforecastprojectid": this.selectProject,
+        "salesforecast": data.map(item=>{
+          return {
+            "itemid": item.itemid,
+            "orderqty": item.qty,
+            "orderamount": (item.marketprice * (this.discountrate /100))*item.qty,
+            "price": item.marketprice * (this.discountrate /100),
+            "sa_salesforecastid":0
+          }
+        })
+      }
+    },
+    /*一键删除产品*/
+    delProductAll(){
+      this.$confirm('此操作将删除全部产品, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(async() => {
+        const res = await this.$api.requested({
+          "id": 20230705145404,
+          "content": {
+            "sa_salesforecastbillid":this.id,
+            "sa_salesforecastprojectid":this.selectProject,
+            "sa_salesforecastids":[],
+            "isAll":1,
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          this.items = []
+          /*this.projectParam.content.pageNumber = 1
+          this.listData()*/
+          this.onSuccess()
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
     /*删除商品*/
     async delProduct(val){
       console.log(val)
@@ -421,6 +471,7 @@ export default {
         "id": 20230705145404,
         "content": {
           "sa_salesforecastbillid":this.id,
+          "sa_salesforecastprojectid":this.selectProjectid,
           "sa_salesforecastids":[val.sa_salesforecastid]
         }
       })
@@ -438,6 +489,7 @@ export default {
         "id": 20230705145404,
         "content": {
           "sa_salesforecastbillid":this.id,
+          "sa_salesforecastprojectid":this.selectProjectid,
           "sa_salesforecastids":ids
         }
       })
@@ -448,6 +500,7 @@ export default {
       })
     },
     onSuccess(){
+      this.dialogVisible = false
       this.projectData()
       this.$emit('onSuccess')
     },

+ 3 - 2
src/template/prediction/addProductTemp.vue

@@ -27,6 +27,7 @@
         </div>
         <div class="top-margin">
           <uploadAllData
+              :dataType="'产品'"
               class="inline-16"
               :total="total"
               @handlePullApi="handlePullApi"
@@ -271,8 +272,8 @@ export default {
       this.$emit('addProduct',this.items.data)
     },
     onSuccess () {
-      console.log('成功')
-      this.listData()
+      this.dialogFormVisible = false
+      this.$emit('onSuccess')
     },
     onClose(){
       this.dialogFormVisible = false

+ 49 - 5
src/template/prediction/addTemp.vue

@@ -11,6 +11,14 @@
         >
       <div class="drawer__panel">
         <div style="margin-bottom: 20px">
+          <uploadAllData
+              :dataType="dataType"
+              class="inline-16"
+              :total="total"
+              @handlePullApi="handlePullApi"
+              @handleUploadApi="handleUploadApi"
+              @onSuccess="onSuccess"
+          ></uploadAllData>
           <el-button type="primary" size="small" class="inline-16" @click="adds">批量添加</el-button>
 
           <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
@@ -42,6 +50,18 @@
                 <el-button size="mini" type="text" @click="add(scope.data)">添 加</el-button>
               </template>
             </tableList>
+            <div  class="container normal-panel" style="text-align:right">
+              <el-pagination
+                  background
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                  :current-page="param.content.pageNumber"
+                  :page-sizes="[20, 50, 100, 200]"
+                  :page-size="20"
+                  layout="total,sizes, prev, pager, next, jumper"
+                  :total="total">
+              </el-pagination>
+            </div>
           </el-col>
         </el-row>
       </div>
@@ -54,13 +74,14 @@ import tableList from '@/components/table/index5'
 import uploadAllData from '@/components/uploadAllData/index'
 export default {
   name: "addProjectTemp",
-  props:['param','tablecols','title'],
+  props:['param','tablecols','title','dataType'],
   components:{tableList,uploadAllData},
   data() {
     return {
       dialogVisible:false,
       list:[],
-      items:[]
+      items:[],
+      total:0,
     }
   },
   methods:{
@@ -71,14 +92,13 @@ export default {
     async listData(){
       const res = await this.$api.requested(this.param)
       this.list = res.data
+      this.total = res.total
       console.log(this.list,'list')
     },
     add(val){
       console.log(val)
       this.dialogVisible = false
       this.$emit('add',val)
-
-
     },
     checkboxCallBack(val){
       console.log(val)
@@ -95,7 +115,31 @@ export default {
       })*/
       this.dialogVisible = false
       this.$emit('adds',this.items)
-    }
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    /*拉取数据*/
+    handlePullApi (pullApi) {
+      pullApi.content = JSON.parse(JSON.stringify(this.param.content))
+      pullApi.id = this.param.id
+      /*pullApi.content.sa_projectid = this.$route.query.id*/
+    },
+    /*上传数据*/
+    handleUploadApi (uploadApi,data) {
+      this.$emit('uploadData',uploadApi,data)
+    },
+    onSuccess () {
+      this.dialogVisible = false
+      this.$emit('onSuccess')
+    },
   },
   created() {