codeMan 2 anni fa
parent
commit
ea897383a7
30 ha cambiato i file con 1902 aggiunte e 58 eliminazioni
  1. 13 1
      src/HDrpManagement/afterSalesmag/components/add.vue
  2. 9 3
      src/HDrpManagement/afterSalesmag/components/check.vue
  3. 13 1
      src/HDrpManagement/afterSalesmag/components/edit.vue
  4. 17 5
      src/HDrpManagement/afterSalesmag/index.vue
  5. 53 4
      src/HDrpManagement/afterSalesmag/modules/detail.vue
  6. 13 1
      src/HDrpManagement/aftersalesBill/components/add.vue
  7. 13 1
      src/HDrpManagement/aftersalesBill/components/edit.vue
  8. 17 4
      src/HDrpManagement/aftersalesBill/index.vue
  9. 48 4
      src/HDrpManagement/aftersalesBill/modules/detail.vue
  10. 39 2
      src/HDrpManagement/bankStatement/modules/detail.vue
  11. 112 0
      src/HDrpManagement/collectionRule/components/add.vue
  12. 117 0
      src/HDrpManagement/collectionRule/components/edit.vue
  13. 14 8
      src/HDrpManagement/collectionRule/index.vue
  14. 105 0
      src/HDrpManagement/collectionRule/modules/detail.vue
  15. 58 12
      src/HDrpManagement/collectionRule/modules/table.vue
  16. 1 1
      src/HDrpManagement/contractManage/components/editContract.vue
  17. 142 0
      src/HDrpManagement/numberManage/components/add.vue
  18. 147 0
      src/HDrpManagement/numberManage/components/edit.vue
  19. 212 0
      src/HDrpManagement/numberManage/components/importFile.vue
  20. 47 0
      src/HDrpManagement/numberManage/components/importNumber.vue
  21. 112 0
      src/HDrpManagement/numberManage/components/selectEnterprise.vue
  22. 87 0
      src/HDrpManagement/numberManage/index.vue
  23. 164 0
      src/HDrpManagement/numberManage/modules/detail.vue
  24. 22 10
      src/HDrpManagement/promotion/modules/detail.vue
  25. 1 1
      src/HDrpManagement/promotion/modules/productModel/calcPrice.vue
  26. 3 0
      src/components/normal-basic-layout/details/index.vue
  27. 21 0
      src/router/HDrpManagement.js
  28. 1 0
      src/template/selectAgent/index.vue
  29. 195 0
      src/template/selectProduct/index.vue
  30. 106 0
      src/template/selectStore/index.vue

+ 13 - 1
src/HDrpManagement/afterSalesmag/components/add.vue

@@ -19,6 +19,14 @@
                 </selectOrder>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="返退单类型:" prop="type">
+                <el-select style="width:100%" v-model="form.type" placeholder="请选择返退单类型">
+                  <el-option label="借用归还单" value="借用归还单"></el-option>
+                  <el-option label="退货单" value="退货单"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="单据日期:" prop="billdate">
                 <el-date-picker
@@ -69,7 +77,8 @@ export default {
         "isitemreturn":true,
         "billdate":"",
         "enterprisename":'',
-        "sonum":""
+        "sonum":"",
+        "type":''
       },
       rules:{
         enterprisename:[
@@ -81,6 +90,9 @@ export default {
         billdate:[
           { required: true, message: '请选择单据日期', trigger: 'change'}
         ],
+        type:[
+          { required: true, message: '请选择返退单类型', trigger: 'change'}
+        ],
       }
     }
   },

+ 9 - 3
src/HDrpManagement/afterSalesmag/components/check.vue

@@ -4,12 +4,17 @@
     <el-dialog :visible.sync="drawer" append-to-body width="50%">
       <el-row :gutter="20">
         <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
-          <el-col :span="20">
+          <el-col :span="24">
             <el-form-item label="退款金额" prop="returnamount">
               <el-input v-model="form.returnamount" placeholder="退款金额"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="20">
+          <el-col :span="24">
+            <el-form-item label="扣款金额" prop="payamount">
+              <el-input v-model="form.payamount" placeholder="退款金额"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
             <el-form-item label="物流单号" prop="logisticno">
               <el-input v-model="form.logisticno" placeholder="请填写物流单号"></el-input>
             </el-form-item>
@@ -34,7 +39,8 @@ export default {
       form:{
         "sa_aftersalesmagid":'',
         "logisticno":"",
-        "returnamount":''
+        "returnamount":'',
+        "payamount":''
       },
       rules:{
         // logisticno:[

+ 13 - 1
src/HDrpManagement/afterSalesmag/components/edit.vue

@@ -19,6 +19,14 @@
                 </selectOrder>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="返退单类型:" prop="type">
+                <el-select style="width:100%" v-model="form.type" placeholder="请选择返退单类型">
+                  <el-option label="借用归还单" value="借用归还单"></el-option>
+                  <el-option label="退货单" value="退货单"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="单据日期:" prop="billdate">
                 <el-date-picker
@@ -70,7 +78,8 @@ export default {
         "isitemreturn":true,
         "billdate":"",
         "enterprisename":'',
-        "sonum":""
+        "sonum":"",
+        "type":''
       },
       rules:{
         enterprisename:[
@@ -82,6 +91,9 @@ export default {
         billdate:[
           { required: true, message: '请选择单据日期', trigger: 'change'}
         ],
+        type:[
+          { required: true, message: '请选择返退单类型', trigger: 'change'}
+        ],
       }
     }
   },

+ 17 - 5
src/HDrpManagement/afterSalesmag/index.vue

@@ -11,10 +11,19 @@
       :apiId="{query:20230104160703,del:'20230104160803'}"
       :options="options"
       :detailPath="{
-        path:'/afterSalesmagDetail'
+        path:'/afterSalesmagDetail',
+        param:{type:this.type}
       }"
-      @listData="list">
-      <div slot="custom">
+      @listData="list"
+      @listCreate="listCreate">
+      <div slot="custom" style="display:flex">
+        <div class="label_center">
+          <p class="search__label">类型:</p>
+          <el-select @clear="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.type = '';$refs.list.listData()" v-model="type" clearable style="margin-right:10px" size="small" placeholder="请选择类型" @change="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.type = type;$refs.list.listData()">
+            <el-option label="退货单" value="退货单" />
+            <el-option label="借用归还单" value="借用归还单" />
+          </el-select>
+        </div>
         <div class="label_center">
           <p class="search__label">状态:</p>
           <el-select @clear="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.status = '';$refs.list.listData()" v-model="status" clearable style="margin-right:10px" size="small" placeholder="请选择状态" @change="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.status = status;$refs.list.listData()">
@@ -51,14 +60,17 @@ export default {
   data () {
     return {
       options:[],
-      status:''
-      
+      status:'',
+      type:'退货单'
     }
   },
   methods:{
     list(data) {
       console.log(data);
       
+    },
+    listCreate (param) {
+      param.content.type = this.type
     }
   }
 }

+ 53 - 4
src/HDrpManagement/afterSalesmag/modules/detail.vue

@@ -14,7 +14,8 @@
         tags=""
         :tabs="['商品明细','详细信息']"
         @pageChange="pageChange"
-        @onEditSuccess="queryMainData($route.query.id)">
+        @onEditSuccess="queryMainData($route.query.id)"
+        @updateParam="updateParam">
       <div slot="tags">
       </div>
       <div slot="customOperation" >
@@ -136,6 +137,7 @@ export default {
       
     },
     changeDataStructure() {
+      let that = this
       this.mainAreaData = [
         {
           label:'单号',
@@ -147,7 +149,29 @@ export default {
         },
         {
           label:'状态',
-          value:this.mainData.status
+          value:this.mainData.status,
+          style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+              case '新建':
+                style = {color:'#333333'}
+                break;
+              case '提交':
+                style = {color:'#3874f6'}
+                break;
+              case '审核':
+                style = {color:'#52C41A'}
+                break;
+              case '复核':
+                style = {color:'#52C41A'}
+                break;
+            }
+            return style
+          }
+        },
+        {
+          label:'类型',
+          value:this.mainData.type
         },
         {
           label:'经销商编号',
@@ -198,7 +222,29 @@ export default {
           },
           {
             label:'状态',
-            value:this.mainData.STATUS
+            value:this.mainData.status,
+            style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+                case '新建':
+                  style = {color:'#333333'}
+                  break;
+                case '提交':
+                  style = {color:'#3874f6'}
+                  break;
+                case '审核':
+                  style = {color:'#52C41A'}
+                  break;
+                case '复核':
+                  style = {color:'#52C41A'}
+                  break;
+              }
+              return style
+            }
+          },
+          {
+            label:'类型',
+            value:this.mainData.type
           },
           {
             label:'经销商编号',
@@ -253,13 +299,16 @@ export default {
     pageChange (id,rowindex,tabIndex) {
       this.flag = false
       tabIndex = this.$route.query.tabIndex
-      this.$router.replace({path:'/afterSalesmagDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
+      this.$router.replace({path:'/afterSalesmagDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex,type:this.$route.query.type}})
       this.queryMainData(id)
     },
     onSuccess(){
       this.visible = false
       this.queryMainData(this.$route.query.id)
       this.$emit('onSuccess')
+    },
+    updateParam (param) {
+      param.content.type = this.$route.query.type
     }
   },
   mounted () {

+ 13 - 1
src/HDrpManagement/aftersalesBill/components/add.vue

@@ -19,6 +19,14 @@
                 </selectOrder>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="返退单类型:" prop="type">
+                <el-select style="width:100%" v-model="form.type" placeholder="请选择返退单类型">
+                  <el-option label="借用归还单" value="借用归还单"></el-option>
+                  <el-option label="退货单" value="退货单"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="单据日期:" prop="billdate">
                 <el-date-picker
@@ -68,7 +76,8 @@ export default {
         "isitemreturn":true,
         "billdate":"",
         "enterprisename":'',
-        "sonum":""
+        "sonum":"",
+        "type":''
       },
       rules:{
         enterprisename:[
@@ -80,6 +89,9 @@ export default {
         billdate:[
           { required: true, message: '请选择单据日期', trigger: 'change'}
         ],
+        type:[
+          { required: true, message: '请选择返退单类型', trigger: 'change'}
+        ],
       }
     }
   },

+ 13 - 1
src/HDrpManagement/aftersalesBill/components/edit.vue

@@ -19,6 +19,14 @@
                 </selectOrder>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="返退单类型:" prop="type">
+                <el-select style="width:100%" v-model="form.type" placeholder="请选择返退单类型">
+                  <el-option label="借用归还单" value="借用归还单"></el-option>
+                  <el-option label="退货单" value="退货单"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="单据日期:" prop="billdate">
                 <el-date-picker
@@ -70,7 +78,8 @@ export default {
         "isitemreturn":true,
         "billdate":"",
         "enterprisename":'',
-        "sonum":""
+        "sonum":"",
+        "type":''
       },
       rules:{
         enterprisename:[
@@ -82,6 +91,9 @@ export default {
         billdate:[
           { required: true, message: '请选择单据日期', trigger: 'change'}
         ],
+        type:[
+          { required: true, message: '请选择返退单类型', trigger: 'change'}
+        ],
       }
     }
   },

+ 17 - 4
src/HDrpManagement/aftersalesBill/index.vue

@@ -11,9 +11,18 @@
       :apiId="{query:20230105161503,del:''}"
       :options="options"
       :detailPath="{
-        path:'/aftersalesBillDetail'
-      }">
-      <div slot="custom">
+        path:'/aftersalesBillDetail',
+        param:{type:this.type}
+      }"
+      @listCreate="listCreate">
+      <div slot="custom" style="display:flex">
+        <div class="label_center">
+          <p class="search__label">类型:</p>
+          <el-select @clear="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.type = '';$refs.list.listData()" v-model="type" clearable style="margin-right:10px" size="small" placeholder="请选择类型" @change="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.type = type;$refs.list.listData()">
+            <el-option label="退货单" value="退货单" />
+            <el-option label="借用归还单" value="借用归还单" />
+          </el-select>
+        </div>
         <div class="label_center">
           <p class="search__label">状态:</p>
           <el-select @clear="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.status = '';$refs.list.listData()" v-model="status" clearable style="margin-right:10px" size="small" placeholder="请选择状态" @change="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.status = status;$refs.list.listData()">
@@ -49,11 +58,15 @@ export default {
   data () {
     return {
       options:[],
-      status:''
+      status:'',
+      type:'退货单'
       
     }
   },
   methods:{
+    listCreate (param) {
+      param.content.type = this.type
+    }
   }
 }
 

+ 48 - 4
src/HDrpManagement/aftersalesBill/modules/detail.vue

@@ -14,7 +14,8 @@
         tags=""
         :tabs="['商品明细','详细信息']"
         @pageChange="pageChange"
-        @onEditSuccess="queryMainData($route.query.id)">
+        @onEditSuccess="queryMainData($route.query.id)"
+        @updateParam="updateParam">
       <div slot="tags">
       </div>
       <div slot="customOperation" >
@@ -118,7 +119,29 @@ export default {
         },
         {
           label:'状态',
-          value:this.mainData.status
+          value:this.mainData.status,
+          style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+              case '新建':
+                style = {color:'#333333'}
+                break;
+              case '提交':
+                style = {color:'#3874f6'}
+                break;
+              case '审核':
+                style = {color:'#52C41A'}
+                break;
+              case '复核':
+                style = {color:'#52C41A'}
+                break;
+            }
+            return style
+          }
+        },
+        {
+          label:'类型',
+          value:this.mainData.type
         },
         {
           label:'经销商编号',
@@ -169,7 +192,25 @@ export default {
           },
           {
             label:'状态',
-            value:this.mainData.STATUS
+            value:this.mainData.status,
+            style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+              case '新建':
+                style = {color:'#333333'}
+                break;
+              case '提交':
+                style = {color:'#3874f6'}
+                break;
+              case '审核':
+                style = {color:'#52C41A'}
+                break;
+              case '复核':
+                style = {color:'#52C41A'}
+                break;
+            }
+            return style
+          }
           },
           {
             label:'经销商编号',
@@ -224,13 +265,16 @@ export default {
     pageChange (id,rowindex,tabIndex) {
       this.flag = false
       tabIndex = this.$route.query.tabIndex
-      this.$router.replace({path:'/aftersalesBillDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
+      this.$router.replace({path:'/aftersalesBillDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex,type:this.$route.query.type}})
       this.queryMainData(id)
     },
     onSuccess(){
       this.visible = false
       this.queryMainData(this.$route.query.id)
       this.$emit('onSuccess')
+    },
+    updateParam (param) {
+      param.content.type = this.$route.query.type
     }
   },
   mounted () {

+ 39 - 2
src/HDrpManagement/bankStatement/modules/detail.vue

@@ -57,10 +57,29 @@ export default {
       
     },
     changeDataStructure() {
+      let that = this
       this.mainAreaData = [
         {
           label:'状态',
-          value:this.mainData.status
+          value:this.mainData.status,
+          style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+              case '已入账(人工)':
+                style = {color:'#52C41A'}
+                break;
+              case '已入账(系统)':
+                style = {color:'#3874f6'}
+                break;
+              case '已确认(非贷货)':
+                style = {color:'#52C41A'}
+                break;
+              case '未入账':
+                style = {color:'#333333'}
+                break;
+            }
+            return style
+          }
         },
         {
           label:'经销商编号',
@@ -98,7 +117,25 @@ export default {
       this.detailInfo = [
         {
           label:'状态',
-          value:this.mainData.status
+          value:this.mainData.status,
+          style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+              case '已入账(人工)':
+                style = {color:'#52C41A'}
+                break;
+              case '已入账(系统)':
+                style = {color:'#3874f6'}
+                break;
+              case '已确认(非贷货)':
+                style = {color:'#52C41A'}
+                break;
+              case '未入账':
+                style = {color:'#333333'}
+                break;
+            }
+            return style
+          }
         },
         {
           label:'经销商编号',

+ 112 - 0
src/HDrpManagement/collectionRule/components/add.vue

@@ -0,0 +1,112 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 建</el-button>
+    <el-dialog title="新建收款条件" append-to-body :visible.sync="dialogFormVisible" width="40%">
+      <el-row :gutter="20">
+        <el-form :model="form" :rules="rules" ref="form" label-width="110px" label-position="right" size="mini">
+          <el-col :span="24">
+            <el-form-item label="账期依据" prop="point">
+              <el-select class="width-240" v-model="form.point" placeholder="请选择账期依据">
+                <el-option label="订单" value="订单审核"></el-option>
+                <el-option label="销售出库" value="销售出库审核"></el-option>
+                <el-option label="发票" value="发票审核"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-if="form.point == '订单审核'">
+            <el-form-item label="立账额度比例" prop="amountrate">
+              <el-input v-model="form.amountrate" placeholder="请输入立账额度比例"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="后置天数" prop="days">
+              <el-input v-model="form.days" placeholder="请输入后置天数"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remarks">
+              <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="是否默认条件" prop="isdefault">
+              <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault"></el-checkbox>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "add",
+  data(){
+    var NumberSize = (rule, value, callback) => {
+      if (+value >= 0.1 && +value <= 1) {
+        callback()
+      } else {
+        return callback(new Error('额度比率范围(0.1-1)'));
+      }
+    }
+    return {
+      dialogFormVisible:false,
+      form:{
+        "sa_receivableruleid":0,
+        "days":"",
+        "amountrate":'',
+        "point":"",
+        "remarks":"",
+        "isdefault":1
+      },
+      rules:{
+        point:[
+          { required: true, message: '请选择账期依据', trigger: 'change'},
+        ],
+        amountrate:[
+          { required: true, message: '请输入立账额度比率', trigger: 'blur'},
+          { validator: NumberSize , trigger:'blur'}
+        ],
+        days:[
+          { required: true, message: '请输入后置天数', trigger: 'blur'}
+        ],
+        isdefault:[
+          { required: true, message: '请选择是否默认条件', trigger: 'blur'}
+        ]
+      }
+    }
+  },
+  methods:{
+    onSubmit(){
+      console.log(this.form)
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20230110095903",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.$refs['form'].resetFields();
+          this.dialogFormVisible = false
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-select {
+  width: 100% !important;
+}
+</style>

+ 117 - 0
src/HDrpManagement/collectionRule/components/edit.vue

@@ -0,0 +1,117 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="editBtn">编 辑</el-button>
+    <el-dialog title="编辑收款条件" append-to-body :visible.sync="dialogFormVisible" width="40%">
+      <el-row :gutter="20">
+        <el-form :model="form" :rules="rules" ref="form" label-width="110px" label-position="right" size="mini">
+          <el-col :span="24">
+            <el-form-item label="账期依据" prop="point">
+              <el-select class="width-240" v-model="form.point" placeholder="请选择账期依据">
+                <el-option label="订单" value="订单审核"></el-option>
+                <el-option label="销售出库" value="销售出库审核"></el-option>
+                <el-option label="发票" value="发票审核"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-if="form.point == '订单审核'">
+            <el-form-item label="立账额度比例" prop="amountrate">
+              <el-input v-model="form.amountrate" placeholder="请输入立账额度比例"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="后置天数" prop="days">
+              <el-input v-model="form.days" placeholder="请输入后置天数"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remarks">
+              <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="是否默认条件" prop="isdefault">
+              <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault"></el-checkbox>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "add",
+  props:['data'],
+  data(){
+    var NumberSize = (rule, value, callback) => {
+      if (+value >= 0.1 && +value <= 1) {
+        callback()
+      } else {
+        return callback(new Error('额度比率范围(0.1-1)'));
+      }
+    }
+    return {
+      dialogFormVisible:false,
+      form:{
+        "sa_receivableruleid":0,
+        "days":"10",
+        "amountrate":'',
+        "point":"",
+        "remarks":"",
+        "isdefault":1
+      },
+      rules:{
+        point:[
+          { required: true, message: '请选择账期依据', trigger: 'change'},
+        ],
+        amountrate:[
+          { required: true, message: '请输入立账额度比率', trigger: 'blur'},
+          { validator: NumberSize , trigger:'blur'}
+        ],
+        days:[
+          { required: true, message: '请输入后置天数', trigger: 'blur'}
+        ],
+        isdefault:[
+          { required: true, message: '请选择是否默认条件', trigger: 'blur'}
+        ]
+      }
+    }
+  },
+  methods:{
+    editBtn () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+    },
+    onSubmit(){
+      console.log(this.form)
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20230110095903",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.$refs['form'].resetFields();
+          this.dialogFormVisible = false
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-select {
+  width: 100% !important;
+}
+</style>

+ 14 - 8
src/HDrpManagement/collectionRule/index.vue

@@ -3,6 +3,7 @@
   <div>
     <normalLayout  @onRefresh="inputChange">
       <div slot="titleRight">
+        <Add v-if="tool.checkAuth($route.name,'insert')" @onSuccess="listData()"/>
       </div>
       <div slot="content">
         <div class="normal-card">
@@ -19,7 +20,7 @@
               clearable>
             </el-input>
           </div>
-          <Table>
+          <Table :tableData="list">
             
           </Table>
           <div style="margin-top:16px;text-align:right">
@@ -35,7 +36,6 @@
             </el-pagination>
           </div>
         </div>
-        <Detail v-if="currentData" :data="currentData" ref="detail"></Detail>
       </div>
     </normalLayout>
   </div>
@@ -43,23 +43,29 @@
 
 <script>
 import Table from './modules/table'
+import Add from './components/add'
 export default {
   data () {
     return {
       params: {
-        content: {
-          where: {
-            condition:''
+        "id": "20230110100103",
+        "version":1,
+        "content": {
+          "where":{
+              "condition":""
           }
         }
       },
-      total:0
+      total:0,
+      list:[]
     }
   },
-  components:{Table},
+  components:{Table,Add},
+  created () {
+    this.listData()
+  },
   methods: {
     async listData(){
-      this.params.content.sa_promotionid = this.data.sa_promotionid
       const res = await this.$api.requested(this.params)
       this.list = res.data
       this.total = res.total

+ 105 - 0
src/HDrpManagement/collectionRule/modules/detail.vue

@@ -0,0 +1,105 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.ruleno"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        turnPageId="20230110100103"
+        idname="sa_receivableruleid"
+        ownertable="sa_receivablerule"
+        delApiId="20230110100203"
+        tags=""
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="tags">
+      </div>
+      <div slot="customOperation" >
+        <Edit v-if="tool.checkAuth($route.name,'update')" class="inline-16" :data="mainData" @onSuccess="queryMainData()"/>
+      </div>
+      <div slot="slot0" >
+      </div>
+      <div slot="slot1" >
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import Edit from '../components/edit'
+export default {
+  name: "detail",
+  data() {
+    return {
+      mainData:{},
+      mainAreaData:{}
+    }
+  },
+  components:{
+    Edit
+  },
+  methods:{
+    async queryMainData(id) {
+      const res = await this.$api.requested({
+        "id":20230110100003,
+        "content": {
+          "sa_receivableruleid": this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+      
+      this.changeDataStructure()
+    },
+    changeDataStructure() {
+      this.mainAreaData = [
+        {
+          label:'账期依据',
+          value:this.mainData.point
+        },
+        {
+          label:'编号',
+          value:this.mainData.ruleno
+        },
+        {
+          label:'立账额度比率',
+          value:this.mainData.amountrate * 100 + '%'
+        },
+        {
+          label:'后置天数',
+          value:this.mainData.days
+        },
+        {
+          label:'是否默认条件',
+          value:this.mainData.isdefault ? '是' : '否'
+        },
+        {
+          label:'备注',
+          value:this.mainData.remarks
+        },
+      ]
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex,tabIndex) {
+      this.flag = false
+      tabIndex = this.$route.query.tabIndex
+      this.$router.replace({path:'/collectionRuleDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      this.visible = false
+      this.queryMainData(this.$route.query.id)
+      this.$emit('onSuccess')
+    }
+  },
+  mounted () {
+    this.queryMainData(this.$route.query.id)
+  },
+  created() {
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 58 - 12
src/HDrpManagement/collectionRule/modules/table.vue

@@ -5,7 +5,7 @@
     :data="tableData"
     style="width: 100%">
       <el-table-column
-        prop="date"
+        prop="ruleno"
         label="收款条件编号"
         width="200">
       </el-table-column>
@@ -14,51 +14,90 @@
           prop="name"
           label="订单">
           <el-table-column
-            prop="a"
+            prop="point"
             label="订单审核"
             width="120">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '订单审核'">√</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
           <el-table-column
-            prop="a"
+            prop="amountrate"
             label="立账额度"
             width="120">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '订单审核'">{{scope.row.amountrate * 100}}%</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
           <el-table-column
-            prop="a"
+            prop="days"
             label="后置天数">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '订单审核'">{{scope.row.days}}%</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
         </el-table-column>
         <el-table-column
           prop="name"
           label="发货">
           <el-table-column
-            prop="a"
+            prop="point"
             label="销售出库审核"
             width="120">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '销售出库审核'">√</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
           <el-table-column
-            prop="a"
+            prop="days"
             label="后置天数">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '销售出库审核'">{{scope.row.days}}</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
         </el-table-column>
         <el-table-column
           prop="name"
           label="发票">
           <el-table-column
-            prop="a"
+            prop="point"
             label="发票审核">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '发票审核'">√</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
           <el-table-column
-            prop="a"
+            prop="days"
             label="后置天数">
+            <template slot-scope="scope">
+              <div v-if="scope.row.point == '发票审核'">{{scope.row.days}}</div>
+              <div v-else>--</div>
+            </template>
           </el-table-column>
         </el-table-column>
       </el-table-column>
       <el-table-column
-       prop="a"
+        prop="isdefault"
+        label="是否默认条件"
+        width="120">
+        <template slot-scope="scope">
+          <span v-if="scope.row.isdefault">是</span>
+          <span v-else>否</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+       prop="a" 
        label="操作"
-       width="100px">
-
+       width="150px">
+       <template slot-scope="scope">
+         <el-button type="text" size="mini" @click="goDetail(scope.row)">详 情</el-button>
+       </template>
       </el-table-column>
   </el-table>
   </div>
@@ -66,9 +105,16 @@
 
 <script>
 export default {
+  props:['tableData'],
   data () {
     return {
-      tableData:[]
+    }
+  },
+  methods: {
+    goDetail (data) {
+      let query = {id:data.sa_receivableruleid,rowindex:data.rowindex}
+      this.$router.push({path:'/collectionRuleDetail',query:query})
+      this.$store.dispatch('changeDetailDrawer',true)
     }
   }
 }

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

@@ -378,7 +378,7 @@ export default {
       callback()
     }
     var NumberSize = (rule, value, callback) => {
-      if (+value > 100 || +value < 1 && value) {
+      if (+value > 100 || +value <= 1 && value) {
         return callback(new Error('折扣范围(1-100)'));
       }
       callback()

+ 142 - 0
src/HDrpManagement/numberManage/components/add.vue

@@ -0,0 +1,142 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 建</el-button>
+    <el-drawer title="新建序列号" append-to-body :visible.sync="dialogFormVisible" size="40%" :show-close="false">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="100px" label-position="right" size="mini">
+            <el-col :span="24">
+              <el-form-item label="所在企业:" prop="enterprisename">
+                  <selectAgent ref="agent" @selectRow="agentChange">
+                    <el-input readonly type="text" slot="input" size="small" @focus="$refs.agent.visible=true" v-model="form.enterprisename"></el-input>
+                  </selectAgent>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="产品:" prop="itemname">
+                <selectProduct ref="product" @selectRow="productChange">
+                  <el-input readonly type="text" slot="input" size="small" @focus="$refs.product.listData(),$refs.product.visible=true" v-model="form.itemname"></el-input>
+                </selectProduct>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="所在仓库:" prop="stockname">
+                <selectStore ref="store" @selectRow="storeChange">
+                  <el-input readonly type="text" slot="input" size="small" @focus="$refs.store.listData(),$refs.store.visible=true" v-model="form.stockname"></el-input>
+                </selectStore>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="序列号:" prop="sku">
+                <el-input type="text" size="small" v-model="form.sku"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="限制使用" prop="islimit">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.islimit"></el-checkbox>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import selectAgent from './selectEnterprise'
+import selectProduct from '@/template/selectProduct/index'
+import selectStore from '@/template/selectStore/index'
+export default {
+  name: "add",
+  components:{selectAgent,selectProduct,selectStore},
+  data(){
+    return {
+      visible:false,
+      dialogFormVisible:false,
+      form:{
+        "sa_itemskuid":0,     //sa_brandid<=0时 为新增
+        "sys_enterpriseid":"",
+        "enterprisename":'',
+        "itemid":"",
+        "itemname":'',
+        "sku":"",
+        "stockid":1,
+        "islimit":1,
+        "stockname":''
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择经企业', trigger: 'change'},
+        ],
+        itemname:[
+          { required: true, message: '请选择商品', trigger: 'change'}
+        ],
+        sku:[
+          { required: true, message: '请填写序列号', trigger: 'blur'}
+        ],
+        islimit:[
+          { required: true, message: '请选择', trigger: 'blur'}
+        ],
+      }
+    }
+  },
+  watch: {
+    dialogFormVisible (val) {
+      if (!val) {
+        this.$refs['form'].resetFields()
+      }
+    }
+  },
+  created () {
+  },
+  methods:{
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20221215100803",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      })
+    },
+    agentChange (data) {
+      console.log(data);
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.form.enterprisename = data.enterprisename
+      this.$refs.agent.visible = false
+
+      this.form.sa_orderid = ''
+      this.form.sonum = ''
+    },
+    productChange (data) {
+      this.form.itemid = data.itemid
+      this.form.itemname = data.itemname
+      this.$refs.product.visible = false
+    },
+    storeChange (data) {
+      this.form.stockid = data.stockid
+      this.form.stockname = data.stockname
+      this.$refs.store.visible = false
+    }
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-input {
+  width: 100% !important;
+}
+</style>

+ 147 - 0
src/HDrpManagement/numberManage/components/edit.vue

@@ -0,0 +1,147 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="editBtn">编 辑</el-button>
+    <el-drawer title="编辑序列号" append-to-body :visible.sync="dialogFormVisible" size="40%" :show-close="false">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="100px" label-position="right" size="mini">
+            <el-col :span="24">
+              <el-form-item label="所在企业:" prop="enterprisename">
+                  <selectAgent ref="agent" @selectRow="agentChange">
+                    <el-input readonly type="text" slot="input" size="small" @focus="$refs.agent.visible=true" v-model="form.enterprisename"></el-input>
+                  </selectAgent>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="产品:" prop="itemname">
+                <selectProduct ref="product" @selectRow="productChange">
+                  <el-input readonly type="text" slot="input" size="small" @focus="$refs.product.listData(),$refs.product.visible=true" v-model="form.itemname"></el-input>
+                </selectProduct>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="所在仓库:" prop="stockname">
+                <selectStore ref="store" @selectRow="storeChange">
+                  <el-input readonly type="text" slot="input" size="small" @focus="$refs.store.listData(),$refs.store.visible=true" v-model="form.stockname"></el-input>
+                </selectStore>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="序列号:" prop="sku">
+                <el-input type="text" size="small" v-model="form.sku"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="限制使用" prop="islimit">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.islimit"></el-checkbox>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import selectAgent from './selectEnterprise'
+import selectProduct from '@/template/selectProduct/index'
+import selectStore from '@/template/selectStore/index'
+export default {
+  name: "add",
+  components:{selectAgent,selectProduct,selectStore},
+  props:['data'],
+  data(){
+    return {
+      visible:false,
+      dialogFormVisible:false,
+      form:{
+        "sa_itemskuid":0,     //sa_brandid<=0时 为新增
+        "sys_enterpriseid":"",
+        "enterprisename":'',
+        "itemid":"",
+        "itemname":'',
+        "sku":"",
+        "stockid":1,
+        "islimit":1,
+        "stockname":''
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择经企业', trigger: 'change'},
+        ],
+        itemname:[
+          { required: true, message: '请选择商品', trigger: 'change'}
+        ],
+        sku:[
+          { required: true, message: '请填写序列号', trigger: 'blur'}
+        ],
+        islimit:[
+          { required: true, message: '请选择', trigger: 'blur'}
+        ],
+      }
+    }
+  },
+  watch: {
+    dialogFormVisible (val) {
+      if (!val) {
+        this.$refs['form'].resetFields()
+      }
+    }
+  },
+  created () {
+  },
+  methods:{
+    editBtn () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20221215100803",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      })
+    },
+    agentChange (data) {
+      console.log(data);
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.form.enterprisename = data.enterprisename
+      this.$refs.agent.visible = false
+
+      this.form.sa_orderid = ''
+      this.form.sonum = ''
+    },
+    productChange (data) {
+      this.form.itemid = data.itemid
+      this.form.itemname = data.itemname
+      this.$refs.product.visible = false
+    },
+    storeChange (data) {
+      this.form.stockid = data.stockid
+      this.form.stockname = data.stockname
+      this.$refs.store.visible = false
+    }
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-input {
+  width: 100% !important;
+}
+</style>

+ 212 - 0
src/HDrpManagement/numberManage/components/importFile.vue

@@ -0,0 +1,212 @@
+<template>
+  <div>
+    <!-- 按钮类型 -->
+    <el-button type="success" size="small" @click="dialogUploadVisible = true" icon="el-icon-upload">导 入</el-button>
+    <el-dialog title="文件上传" class="import-panel" :visible.sync="dialogUploadVisible" width="500px" append-to-body :close-on-click-modal="false" :show-close="false" :before-close="clearFiles">
+      <div slot="title"></div>
+      <div style="background:#f1f2f3" class="my-tabs" >
+        <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+          <!-- <el-tab-pane label="导入经销商线索" name="first"></el-tab-pane> -->
+          <el-tab-pane label="导入序列号模板" name="second"></el-tab-pane>
+        </el-tabs>
+      </div>
+      <div style="padding:20px">
+        <el-upload
+          style="width:100%"
+          ref="my-upload"
+          class="upload-demo normal-margin"
+          :accept="accept"
+          action="#"
+          :auto-upload="false"
+          :show-file-list="false"
+          :on-change="handleChange"
+          drag
+          multiple>
+          <i class="el-icon-upload"></i>
+          <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+        </el-upload>
+        <div class="progress_panel" v-for="file in filelist" :key="file.uid">
+          <img v-if="file.type === 'DOC' || file.type === 'DOCX'" width="30" src="../../../assets/file_icons/word.png"
+            alt="">
+          <img v-else-if="file.type === 'PDF'" width="30" src="../../../assets/file_icons/PDF.png" alt="">
+          <img v-else-if="file.type === 'MP4' || file.type === 'AVI'" width="30" src="../../../assets/file_icons/video.png"
+            alt="">
+          <img v-else-if="file.type === 'XLS' || file.type === 'XLSX'" width="30" src="../../../assets/file_icons/excel.png"
+            alt="">
+          <img v-else-if="file.type === 'PNG' || file.type === 'JPG'|| file.type === 'JPEG'" width="30"
+            src="../../../assets/file_icons/image.png" alt="">
+          <img v-else-if="file.type === 'PPT' || file.type === 'PPTX'" width="30" src="../../../assets/file_icons/PPT.png"
+            alt="">
+          <img v-else width="30" src="../../../assets/file_icons/unknow.png" alt="">
+          <div>
+            <p v-if="file.progress === 100" style="float:right"><span style="color:#67C23A">●</span>上传成功</p>
+            <p>{{file.raw?file.raw.name:'暂无上传文件'}}</p>
+            <el-progress :percentage="file.progress" :show-text="false"></el-progress>
+          </div>
+        </div>
+        <slot name="errorFile"></slot>
+        <p class="tips">• 为保证数据导入顺利,推荐您下载并使用<a :href="modelurl">《Excel序列号标准模板》</a></p>
+        <p class="tips">• 文件中数据不能超过5000行</p>
+        <div class="dialog-footer">
+          <el-button size="small" @click="cancel" class="normal-btn-width">取 消</el-button>
+          <el-button size="small" type="warning" @click="dialogUploadVisible = false" class="normal-btn-width btn-warning">确 定</el-button>
+        </div>
+      </div>
+      
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+
+export default {
+  /*
+    folderid:文件夹id; 必填
+    btntype:展示上传按钮的类型;
+    accept:限制上传文件类型;
+    bindData:附件上传成功后对应需要绑定的数据信息
+  */
+  props:['folderid','btntype','accept','bindData'],
+  data () {
+    return {
+      dialogUploadVisible: false,
+      params: {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "getFileName",
+        "content": {
+          "filename": '',
+          "filetype": '',
+          "parentid": ""//归属文件夹ID
+        }
+      },
+      file: {},
+      filelist: [],
+      CampaignList:[],
+      activeName:'last',
+      modelurl:'',
+      campaignid:''
+
+    }
+  },
+  mounted () {
+    this.getModelUrl()
+  },
+  methods: {
+    cancel () {
+      this.dialogUploadVisible = false
+      this.campaignid = ''
+      this.$refs['my-upload'].clearFiles()
+      this.filelist = []
+    },
+    handleChange (file, filelist) {
+      this.filelist = filelist
+      var index = file.raw.name.lastIndexOf(".");
+      var ext = file.name.substr(index + 1);
+      this.params.content.filename = file.raw.name
+      this.params.content.filetype = ext
+      this.getUploadUrl(file, ext)
+    },
+    handleClick () {
+      this.getModelUrl()
+    },
+    // 获取导入模板
+    async getModelUrl () {
+      const res = await this.$api.requested({
+        "id": 20230114142403,
+        "version":1,
+        "content": {
+        }
+      })
+      this.modelurl = res.data
+      console.log(this.modelurl);
+      
+    },
+    // 获取华为云上传地址
+    async getUploadUrl (file, ext) {
+      this.params.content.parentid = this.folderid
+      const res = await this.$api.requested(this.params)
+      let url = res.data.uploadurl
+      let obsfilename = res.data.serialfilename
+
+      this.upoladFileToServer(url, file, ext, obsfilename)
+    },
+    // 上传到华为云
+    async upoladFileToServer (url, file, ext, obsfilename) {      
+      let THIS = this
+      let config = {
+        headers: ext === 'pdf' ? { 'Content-Type': 'application/pdf' } : { 'Content-Type': 'application/octet-stream' },
+        onUploadProgress: function (progressEvent) {
+          let percent = progressEvent.loaded / progressEvent.total * 100
+          THIS.filelist.forEach(e => {
+            if (e.uid === file.uid) {
+              THIS.$set(e, 'type', ext.toUpperCase());
+              THIS.$set(e, 'progress', percent);
+            }
+          })
+        },
+      }
+      const res = await this.$upload.hw_upload(url, file.raw, config)
+      this.createFileRecord(obsfilename)
+    },
+
+    // 上传成功以后生成附件记录
+    async createFileRecord (obsfilename) {
+      let obj = {
+         "serialfilename": obsfilename
+      }
+      obj = Object.assign({},obj,this.bindData)
+      let param = {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "uploadSuccess",
+        "content":obj
+      }
+      
+      const res = await this.$api.requested(param)
+      console.log(res,'结果')
+      this.$emit('onSuccess',res.data.attachmentids)
+    },
+
+    clearFiles () {
+      this.$refs['my-upload'].clearFiles()
+      this.filelist = []
+      this.dialogUploadVisible = false
+    },
+  }
+}
+
+</script>
+<style>
+.import-panel .el-dialog__header,.import-panel .el-dialog__body{
+  padding: 0 !important;
+}
+.upload-demo > div {
+  width: 100% !important;
+}
+.upload-demo .el-upload-dragger {
+  width: 100% !important;
+}
+</style>
+<style scoped>
+.progress_panel {
+  display: flex;
+  align-items: center;
+  padding: 10px;
+  margin: 10px 0;
+  border-radius: 5px;
+  transition: linear 0.2s all;
+}
+.progress_panel:hover {
+  box-shadow: 0px 0px 5px #ccc;
+}
+.progress_panel > div {
+  flex: 1;
+  padding: 0 10px;
+}
+.progress_panel > div > p {
+  line-height: 30px;
+}
+.tips{
+  line-height: 30px;
+}
+</style>
+

+ 47 - 0
src/HDrpManagement/numberManage/components/importNumber.vue

@@ -0,0 +1,47 @@
+<template>
+  <div>
+    <!-- <el-button type="success" size="small">导 入</el-button> -->
+    <importFile ref="file" accept=".xlsx" :folderid="folderid" :bindData="{ownertable:'sat_orderclueuploadbill',ownerid:'',usetype:'default'}" @onSuccess="uploadOrderclueuploadbillByExcel">
+      <a class="error-link" v-if="errorurl" :href="errorurl" slot="errorFile">下载错误数据</a>
+    </importFile>
+  </div>
+</template>
+
+<script>
+import importFile from './importFile'
+export default {
+  components:{
+    importFile
+  },
+  data () {
+    return {
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+      errorurl:null
+    }
+  },
+  methods:{
+    async uploadOrderclueuploadbillByExcel (id) {
+      let res = await this.$api.requested({
+        "id": 20230114142503,
+        "content": {
+          "attachmentid":id[0]
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.$refs.file.dialogUploadVisible = false
+        this.$refs.file.clearFiles()
+        this.$emit('onSuccess')
+      })
+    },
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.error-link{
+  display: block;
+  line-height: 30px;
+}
+</style>

+ 112 - 0
src/HDrpManagement/numberManage/components/selectEnterprise.vue

@@ -0,0 +1,112 @@
+<template>
+  <div> 
+    <el-dialog :visible.sync="visible" append-to-body width="50%">
+      <div class="flex-align-center flex-between mt-10">
+        <el-input style="width:200px" size="small"  suffix-icon="el-icon-search" v-model="param.content.where.condition" placeholder="搜索" @keyup.enter.native="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" clearable></el-input>
+      </div>
+      <div>
+        <el-table
+          ref="multipleTable"
+          :data="tableData"
+          style="width: 100%"
+          size="mini"
+          height="50vh"
+          border>
+          <el-table-column
+            prop="enterprisename"
+            label="经销商名称"
+            width="180">
+          </el-table-column>
+          <el-table-column
+            prop="agentnum"
+            label="经销商编号"
+            width="180">
+          </el-table-column>
+          <el-table-column
+            prop="contact"
+            label="联系人"
+            width="90">
+          </el-table-column>
+          <el-table-column
+            label="地址"
+            width="180">
+            <template slot-scope="scope">
+              {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="操作"
+            width="90">
+            <template slot-scope="scope">
+              <el-button type="text" size="small" @click="selectRow(scope.row)">选 择</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div style="margin-top:16px;text-align:right">
+          <el-pagination
+            background
+            small
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-size="param.content.pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="total">
+          </el-pagination>
+        </div>
+      </div>
+    </el-dialog>
+    <slot name="input"></slot>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      visible:false,
+      param:{
+        "id": "20221008164103",
+        "version":1,
+        "content": {
+           "where":{
+               "condition":""
+           }
+        }
+      },
+      tableData: [],
+      total:0,
+      currentPage:0
+    }
+  },
+  methods:{
+    async listData () {
+      const res = await this.$api.requested(this.param)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+      console.log(this.tableData);
+      
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    selectRow (row) {
+      this.$emit('selectRow',row)
+    }
+  },
+  created () {
+    this.listData()
+  },
+}
+
+</script>
+<style>
+</style>

+ 87 - 0
src/HDrpManagement/numberManage/index.vue

@@ -0,0 +1,87 @@
+
+<template>
+  <div>
+    <basicLayout 
+      ref="list" 
+      :oldFormPath="{
+        add:'HDrpManagement/numberManage/components'
+      }"
+      tableName="numberTable" 
+      idName="sa_itemskuid" 
+      :apiId="{query:20221215101003,del:20221215101103}"
+      :options="options"
+      :detailPath="{
+        path:'/numberManageDetail'
+      }"
+      @listData="list"
+      @listCreate="listCreate">
+      <div slot="titleRight">
+        <ImportNumber style="margin-left:10px" ref="number" @onSuccess="$refs.list.listData()" />
+      </div>
+      <div slot="custom" style="display:flex">
+        <div class="label_center">
+          <p class="search__label">状态:</p>
+          <el-select clearable @clear="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.status = '';$refs.list.listData()" v-model="status" style="margin-right:10px" size="small" placeholder="请选择状态" @change="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.status = status;$refs.list.listData()">
+            <el-option label="在库" value="在库" />
+            <el-option label="借出" value="借出" />
+            <el-option label="售出" value="售出" />
+            <el-option label="报废" value="报废" />
+          </el-select>
+        </div>
+        <div class="label_center">
+          <p class="search__label">是否已使用:</p>
+          <el-select clearable @clear="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.isused = '';$refs.list.listData()" v-model="isused" style="margin-right:10px" size="small" placeholder="请选择状态" @change="$refs.list.param.content.pageNumber = 1 ;$refs.list.param.content.where.isused = isused;$refs.list.listData()">
+            <el-option label="已使用" value="已使用" />
+            <el-option label="未使用" value="未使用" />
+          </el-select>
+        </div>
+      </div>
+      <template v-slot:tbList="scope">
+        <span v-if="scope.data.column.columnname == 'status'">
+          <span style="color:#333333" v-if="scope.data.column.data[[scope.data.column.columnname]] == '在库'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#3874f6" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '售出'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#BBBBBB" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '报废'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#52C41A" v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+        </span>
+        <div v-else-if="scope.data.column.columnname == 'islimit'">
+          <span>{{scope.data.column.data[[scope.data.column.columnname]] ? '是' : '否'}}</span>
+        </div>
+        <div v-else-if="scope.data.column.columnname == 'isused'">
+          <span>{{scope.data.column.data[[scope.data.column.columnname]] ? '是' : '否'}}</span>
+        </div>
+        <span v-else>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </span>
+        <div v-if="scope.data.column.columnname != 'operation' && !scope.data.column.data[[scope.data.column.columnname]] && scope.data.column.data[[scope.data.column.columnname]] !== 0">--</div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+import ImportNumber from './components/importNumber'
+export default {
+  data () {
+    return {
+      options:[],
+      status:'',
+      isused:''
+      
+    }
+  },
+  components:{ImportNumber},
+  methods:{
+    list (data) {
+      console.log(data);
+      
+    },
+    listCreate (param) {
+    }
+  }
+}
+
+</script>
+<style>
+</style>

+ 164 - 0
src/HDrpManagement/numberManage/modules/detail.vue

@@ -0,0 +1,164 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.sku"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        turnPageId="20221215101003"
+        idname="sa_itemskuid"
+        ownertable="sa_itemsku"
+        delApiId="20221215101103"
+        tags=""
+        :tabs="['详细信息']"
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="tags">
+      </div>
+      <div slot="customOperation" >
+        <Edit class="inline-16" v-if="tool.checkAuth($route.name,'update')" :data="mainData" @onSuccess="queryMainData"></Edit>
+      </div>
+      <div slot="slot0" >
+        <base-info v-if="detailInfo" :detailInfo="detailInfo"></base-info>
+      </div>
+      <div slot="slot1" >
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
+import Edit from '../components/edit'
+export default {
+  name: "detail",
+  data() {
+    return {
+      mainData:{},
+      mainAreaData:{},
+      detailInfo:'',
+    }
+  },
+  components:{
+    BaseInfo,
+    Edit
+  },
+  methods:{
+    async queryMainData(id) {
+      const res = await this.$api.requested({
+        "id":20221215100903,
+        "content": {
+          "sa_itemskuid": this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+      
+      this.changeDataStructure()
+    },
+    changeDataStructure() {
+      this.mainAreaData = [
+        {
+          label:'序列号',
+          value:this.mainData.sku
+        },
+        {
+          label:'产品编号',
+          value:this.mainData.itemno
+        },
+        {
+          label:'产品名称',
+          value:this.mainData.itemname
+        },
+        {
+          label:'型号',
+          value:this.mainData.model
+        },
+        {
+          label:'是否限制使用',
+          value:this.mainData.islimit ? '是':'否'
+        },
+        {
+          label:'状态',
+          value:this.mainData.status
+        },
+        {
+          label:'客户',
+          value:this.mainData.enterprisename
+        },
+        {
+          label:'是否使用',
+          value:this.mainData.isused ? '是':'否'
+        },
+      ]
+      this.detailInfo = {
+        baseInfo:[
+          {
+            label:'产品编号',
+            value:this.mainData.itemno
+          },
+          {
+            label:'产品名称',
+            value:this.mainData.itemname
+          },
+          {
+            label:'型号',
+            value:this.mainData.model
+          },
+          {
+            label:'是否限制使用',
+            value:this.mainData.islimit ? '是':'否'
+          },
+          {
+            label:'序列号',
+            value:this.mainData.sku
+          },
+          // {
+          //   label:'出库时间',
+          //   value:this.mainData.time
+          // },
+          {
+            label:'状态',
+            value:this.mainData.status
+          },
+          {
+            label:'客户',
+            value:this.mainData.enterprisename
+          },
+          {
+            label:'是否使用',
+            value:this.mainData.isused ? '是':'否'
+          },
+        ],
+        systemInfo: [
+          {label:'录入人',value:this.mainData.createby},
+          {label:'录入时间',value:this.mainData.createdate},
+          {label:'修改人',value:this.mainData.changeby},
+          {label:'修改时间',value:this.mainData.changedate},
+        ]
+      }
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex,tabIndex) {
+      this.flag = false
+      tabIndex = this.$route.query.tabIndex
+      this.$router.replace({path:'/numberManageDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      this.visible = false
+      this.queryMainData(this.$route.query.id)
+      this.$emit('onSuccess')
+    }
+  },
+  mounted () {
+    this.queryMainData(this.$route.query.id)
+  },
+  created() {
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 22 - 10
src/HDrpManagement/promotion/modules/detail.vue

@@ -197,6 +197,12 @@ export default {
                 case '审核':
                   style = {color:'#3874f6'}
                   break;
+                case '发布':
+                  style = {color:'#52C41A'}
+                  break;
+                case '关闭':
+                  style = {color:'#999999'}
+                  break;
               }
               return style
             }
@@ -256,17 +262,23 @@ export default {
             label:'状态',
             value:this.mainData.status,
             style:function () {
-                let style = {}
-                switch (that.mainData.status) {
-                  case '新建':
-                    style = {color:'#333333'}
-                    break;
-                  case '审核':
-                    style = {color:'#3874f6'}
-                    break;
-                }
-                return style
+              let style = {}
+              switch (that.mainData.status) {
+                case '新建':
+                  style = {color:'#333333'}
+                  break;
+                case '审核':
+                  style = {color:'#3874f6'}
+                  break;
+                case '发布':
+                  style = {color:'#52C41A'}
+                  break;
+                case '关闭':
+                  style = {color:'#999999'}
+                  break;
               }
+              return style
+            }
           },
         ],
         systemInfo: [

+ 1 - 1
src/HDrpManagement/promotion/modules/productModel/calcPrice.vue

@@ -23,7 +23,7 @@ export default {
   inject:['isEdit'],
   data() {
     var NumberSize = (rule, value, callback) => {
-      if (+value >= 0.1 && +value < 1) {
+      if (+value >= 0.1 && +value <= 1) {
         callback()
       } else {
         return callback(new Error('折扣范围(0.1-1)'));

+ 3 - 0
src/components/normal-basic-layout/details/index.vue

@@ -106,6 +106,9 @@ export default {
   },
   methods:{
     async queryData (pageNumber) {
+      /* 暴露请求配置 进行修改 */
+      this.$emit('updateParam',this.param)
+      
       this.param.id = this.turnPageId
       this.param.content.pageNumber = pageNumber
       const res = await this.$api.requested(this.param)

+ 21 - 0
src/router/HDrpManagement.js

@@ -669,6 +669,27 @@ const HDrpManagement = [
         component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/collectionRule/modules/detail')
       },
     ]
+  },{
+    path: '/numbeManage',
+    name:'numbeManage',
+    meta: {
+      title: '序列号管理',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/numberManage/index'),
+    children: [
+      {
+        path: '/numberManageDetail',
+        name:'collectionRule',
+        meta: {
+          title: '序列号管理详情',
+          ast_nav: true,
+          keeproute: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/numberManage/modules/detail')
+      },
+    ]
   },
   
   

+ 1 - 0
src/template/selectAgent/index.vue

@@ -10,6 +10,7 @@
           :data="tableData"
           style="width: 100%"
           size="mini"
+          height="50vh"
           border>
           <el-table-column
             prop="enterprisename"

+ 195 - 0
src/template/selectProduct/index.vue

@@ -0,0 +1,195 @@
+<template>
+<div> 
+  <el-dialog :visible.sync="visible" append-to-body width="70%">
+    <div class="flex-align-center flex-between normal-margin">
+      <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>
+    <div class="produtMag-panel">
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        style="width: 100%"
+        height="50vh">
+        <el-table-column
+            align="center"
+            label="产品图"
+            width="80">
+          <template slot-scope="scope">
+            <div v-if="scope.row.attinfos[0]">
+              <previewImage style="height:38px;width:38px" :image="scope.row.attinfos[0]" :list="scope.row.attinfos" :deletebtn="false"></previewImage>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+            prop="itemno"
+            label="产品编号"
+            width="180">
+        </el-table-column>
+        <el-table-column
+            prop="itemname"
+            label="产品名称"
+            width="180">
+        </el-table-column>
+        <el-table-column
+            label="型号/规格"
+            width="180">
+          <template slot-scope="scope">
+            <p><span>{{scope.row.model}}</span>&nbsp;/&nbsp;<span>{{scope.row.spec}}</span></p>
+          </template>
+        </el-table-column>
+        <el-table-column
+            prop="caliber"
+            label="口径"
+            width="180">
+        </el-table-column>
+        <el-table-column
+            prop="pressure"
+            label="压力"
+            width="180">
+        </el-table-column>
+        <el-table-column
+            prop="material"
+            label="材质"
+            width="180">
+        </el-table-column>
+        <el-table-column
+            prop="brand"
+            label="品牌"
+            width="180">
+          <template slot-scope="scope">
+            <p v-for="(item,index) in scope.row.brand" :key="index">
+              <span style="float: left" v-if="index === scope.row.brand.length -1">{{item?item.brandname+'':'--'}}</span>
+              <span style="float: left" v-else>{{item?item.brandname+',':'--'}}</span>
+            </p>
+          </template>
+        </el-table-column>
+        <el-table-column
+            prop="itemclass"
+            label="类别"
+            width="180">
+          <template slot-scope="scope">
+            <span v-for="(item,index) in scope.row.itemclass" :key="index">
+              {{item?item.itemclassname+',':'--'}}
+            </span>
+          </template>
+        </el-table-column>
+        <el-table-column
+            prop="unitid"
+            label="计量单位"
+            width="100">
+          <template slot-scope="scope">
+            <el-tag size="mini" type="info" effect="plain">{{scope.row.unitname}}/{{scope.row.axunitname}}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column
+            prop="marketprice"
+            label="牌价"
+            width="100">
+        </el-table-column>
+        <el-table-column
+            label="操作"
+            fixed="right">
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click="addProduct(scope.row)">选 择</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div style="margin-top:16px;float:right">
+        <el-pagination
+          background
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="params.content.pageSize"
+          layout="total,sizes, prev, pager, next, jumper"
+          :total="total">
+        </el-pagination>
+      </div>
+    </div>
+  </el-dialog>
+  <slot name="input"></slot>
+</div>
+</template>
+
+<script>
+import uploadFile from '@/components/upload/hw_obs_upload'
+import previewImage from '@/components/previewImage/index'
+
+export default {
+  data () {
+    return {
+      params:{
+        "id": 20220923112503,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+            "sa_itemgroupid":0,
+            "where": {
+              "condition": ''
+            }
+        }
+      },
+      tableSelectData:[],
+      tableData: [],
+      total:0,
+      currentPage:0,
+      visible:false
+    }
+  },
+  components:{
+    uploadFile,
+    previewImage
+  },
+  methods:{
+    async listData () {
+      const res = await this.$api.requested(this.params)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    selectionChange (val) {
+      this.tableSelectData = val
+      this.$emit('selectionChange',val)
+    },
+    clearSelection () {
+      this.$refs.multipleTable.clearSelection();
+    },
+    addProduct (row) {
+      this.$emit('selectRow',row)
+    }
+  },
+  mounted () {
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.produtMag-panel{
+  /* margin: 30px; */
+  padding:0 10px 10px 10px;
+  background: #fff;
+  border-radius:5px;
+  overflow: hidden;
+  border:1px solid rgb(0 0 0 / 5%)
+  /* box-shadow: 0 5px 5px rgb(0 0 0 / 10%);
+  transform: translate3d(0,-2px,0); */
+}
+.image {
+  width:40px;height:40px;margin:0px auto;
+}
+</style>

+ 106 - 0
src/template/selectStore/index.vue

@@ -0,0 +1,106 @@
+<template>
+  <div> 
+    <el-dialog :visible.sync="visible" append-to-body width="50%">
+      <div class="flex-align-center flex-between mt-10">
+        <el-input style="width:200px" size="small"  suffix-icon="el-icon-search" v-model="param.content.where.condition" placeholder="搜索" @keyup.enter.native="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" clearable></el-input>
+      </div>
+      <div>
+        <el-table
+          ref="multipleTable"
+          :data="tableData"
+          style="width: 100%"
+          size="mini"
+          height="50vh"
+          border>
+          <el-table-column
+            prop="stockname"
+            label="仓库名称"
+            width="180">
+          </el-table-column>
+          <el-table-column
+            prop="issalestock"
+            label="是否销售仓"
+            width="180">
+            <template slot-scope="scope">
+                <span>{{scope.row.issalestock ? '是' : '否'}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="isused"
+            label="是否使用"
+            width="90">
+          </el-table-column>
+          <el-table-column
+            label="操作">
+            <template slot-scope="scope">
+              <el-button type="text" size="small" @click="selectRow(scope.row)">选 择</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div style="margin-top:16px;text-align:right">
+          <el-pagination
+            background
+            small
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-size="param.content.pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="total">
+          </el-pagination>
+        </div>
+      </div>
+    </el-dialog>
+    <slot name="input"></slot>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      visible:false,
+      param:{
+        "id": 20230104094604,
+        "content": {
+            "where": {
+                "condition": ""
+            }
+        }
+      },
+      tableData: [],
+      total:0,
+      currentPage:0
+    }
+  },
+  methods:{
+    async listData () {
+      const res = await this.$api.requested(this.param)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+      console.log(this.tableData);
+      
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    selectRow (row) {
+      this.$emit('selectRow',row)
+    }
+  },
+  created () {
+    this.listData()
+  },
+}
+
+</script>
+<style>
+</style>