Browse Source

Merge branch 'mergeBranch' into greenUrgent

qymljy 1 year ago
parent
commit
ab53652988

+ 37 - 14
src/HDrpManagement/customerPortrait/modules/detail.vue

@@ -67,7 +67,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">跟进记录</span>
-              <myRadio :value1="param1.content" key1="isAll" @clickBtn="refreshTable('param1','fllow')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param1.content" :value2="param1.content.where" key1="isAll"  @clickBtn="refreshTable('param1','fllow')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -126,7 +126,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">项目</span>
-              <myRadio :value1="param2.content" key1="isAll" @clickBtn="refreshTable('param2','project')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param2.content" :value2="param2.content.where" key1="isAll" @clickBtn="refreshTable('param2','project')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -173,7 +173,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">报价单</span>
-              <myRadio :value1="param3.content" key1="isAll" @clickBtn="refreshTable('param3','baojiadan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param3.content" :value2="param3.content.where" key1="isAll" @clickBtn="refreshTable('param3','baojiadan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -215,7 +215,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">合同</span>
-              <myRadio :value1="param4.content" key1="isAll" @clickBtn="refreshTable('param4','hetong')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param4.content" :value2="param4.content.where" key1="isAll" @clickBtn="refreshTable('param4','hetong')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
               <el-select style="margin-left:24px" v-model="param4.content.where.type" clearable size="mini" placeholder="请选择合同类型" @change="typeChange('param4','hetong')">
                 <el-option label="全部" value=""></el-option>
@@ -246,6 +246,9 @@
                 <div v-if="scope.data.columnname == 'signAmount'">
                   {{scope.data.data.signAmount && tool.formatAmount(scope.data.data.signAmount || 0,2,'¥')  }}
                 </div>
+                <div v-else-if="scope.data.columnname == 'enddate'">
+                  {{scope.data.data.begdate + '至' + scope.data.data.enddate }}
+                </div>
                 <div v-else>
                   {{ scope.data.data[scope.data.columnname] }}
                 </div>
@@ -260,7 +263,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">订单</span>
-              <myRadio :value1="param5.content" key1="isAll" @clickBtn="refreshTable('param5','dingdan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param5.content" :value2="param5.content.where" key1="isAll" @clickBtn="refreshTable('param5','dingdan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
               <el-select style="margin-left:24px" v-model="param5.content.where.type" clearable size="mini" placeholder="请选择订单类型" @change="typeChange('param5','dingdan')">
                 <el-option label="全部" value=""></el-option>
@@ -316,7 +319,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">服务</span>
-              <myRadio :value1="param6.content" key1="isAll" @clickBtn="refreshTable('param6','fuwu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param6.content" :value2="param6.content.where" key1="isAll" @clickBtn="refreshTable('param6','fuwu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -443,7 +446,11 @@ export default {
             "pageNumber": 1,
             "pageSize": 20,
             "isAll":1,
-            "sa_customersid":this.$route.query.id
+            "sa_customersid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //关联项目
@@ -455,7 +462,9 @@ export default {
           "isAll":1,
           "sa_customersid":this.$route.query.id,
           "where":{
-              "stagename":""
+            "stagename":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -466,8 +475,13 @@ export default {
             "pageNumber": 1,
             "pageSize": 20,
             "isAll":1,
-            "sa_customersid":this.$route.query.id
-        }
+            "sa_customersid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
+        },
+
       },
       //关联合同
       param4: {
@@ -478,7 +492,9 @@ export default {
           "isAll":1,
           "sa_customersid":this.$route.query.id,
           "where":{
-              "type":""
+            "type":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -491,7 +507,9 @@ export default {
           "isAll":1,
           "sa_customersid":this.$route.query.id,
           "where":{
-              "type":""
+            "type":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -502,8 +520,13 @@ export default {
             "pageNumber": 1,
             "pageSize": 20,
             "isAll":1,
-            "sa_customersid":this.$route.query.id
-        }
+            "sa_customersid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
+        },
+
       },
       contractTypeList:[],
       orderTypeList:[],

+ 88 - 4
src/HDrpManagement/customerPortrait/modules/myRadio.vue

@@ -1,7 +1,23 @@
 <template>
   <div class="btn-wrapper">
     <div class="btn-box">
-      <div :class="['btn-item',active == item.label ? 'active' : '']" v-for="item in btnOptions" @click="itemClick($event,item)" :key="item.value + 'a'">{{ item.label }}</div>
+      <div class="btn-box">
+        <div :class="['btn-item',active == item.label ? 'active' : '']" v-for="item in btnOptions" @click="itemClick($event,item)" :key="item.value + 'a'">{{ item.label }}</div>
+      </div>
+      <div style="float: left;">
+        <el-date-picker
+            style="margin-left: 10px;width: 200px"
+            v-model="dateData"
+            @change="dateClick"
+            size="mini"
+            format="yyyy-MM"
+            value-format="yyyy-MM"
+            type="monthrange"
+            range-separator="至"
+            start-placeholder="开始月份"
+            end-placeholder="结束月份">
+        </el-date-picker>
+      </div>
     </div>
   </div>
 </template>
@@ -12,7 +28,8 @@ export default {
   data () {
     return {
       active:this.activeNormal ? this.btnOptions[0].label : '',
-      value:1
+      value:1,
+      dateData:[]
     }
   },
   props: {
@@ -24,6 +41,9 @@ export default {
     value1: {
       type:[Number,String,Object]
     },
+    value2: {
+      type:[Number,String,Object]
+    },
     key1: {
       type:String
     }
@@ -33,9 +53,72 @@ export default {
       this.value = data.value
       this.active = data.label
       this.value1[this.key1] = data.value
+      if (this.key1 === 'isAll'){
+        if (this.value === 1){
+          this.dateData = []
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }else if(this.value === 0) {
+          let year = new Date().getFullYear()
+          let begdate = year + '-01'
+          let enddate = year + '-12'
+          this.dateData = [begdate,enddate]
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }
+      }else if (this.key1 === 'type'){
+        if (this.value === 0){
+          this.dateData = []
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }else if(this.value === 1) {
+          let year = new Date().getFullYear()
+          let begdate = year + '-01'
+          let enddate = year + '-12'
+          this.dateData = [begdate,enddate]
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }else if (this.value === 2){
+          const now = new Date();
+          const quarterStartMonth = Math.floor(now.getMonth() / 3) * 3;
+          const quarterStartDate = new Date(now.getFullYear(), quarterStartMonth);
+          const quarterEndDate = new Date(now.getFullYear(), quarterStartMonth + 3);
+          this.dateData = [quarterStartDate,quarterEndDate]
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }else if (this.value === 3){
+          const now = new Date();
+          const monthStartDate = new Date(now.getFullYear(), now.getMonth());
+          this.dateData = [monthStartDate,monthStartDate]
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }
+      }
+
       this.$emit('clickBtn',data)
+    },
+    dateClick(){
+      if (this.dateData){
+        this.active = ''
+        this.value2.begdate = this.dateData[0]
+        this.value2.enddate = this.dateData[1]
+        this.value1[this.key1] = 99
+      }else {
+        if (this.key1 === 'isAll'){
+          this.value1[this.key1] = 1
+          this.active = '全部'
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }else if (this.key1 === 'type'){
+          this.value1[this.key1] = 0
+          this.active = '全部'
+          this.value2.begdate = ''
+          this.value2.enddate = ''
+        }
+      }
+      this.$emit('clickBtn')
     }
-  }
+  },
 }
 </script>
 
@@ -53,7 +136,7 @@ export default {
   color: #000000;
 }
 .btn-item {
-  padding: 5px 8px;
+  padding: 8px 8px;
   background: #eeeeee;
   cursor: pointer;
   transition: all .3s ease-in-out;
@@ -63,6 +146,7 @@ export default {
 .btn-item:first-child {
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;
+  border-left: none;
 }
 .btn-item:last-child {
   border-top-right-radius: 5px;

+ 3 - 0
src/HDrpManagement/orderManage/modules/add.vue

@@ -234,6 +234,9 @@ export default {
       console.log(this.form)
       this.$refs['form'].validate(async valid => {
         if (!valid) return
+        if (this.form.type === '工具订单') {
+          this.form.tradefield = ''
+        }
         this.$store.commit('setLoading',true)
         const res = await this.$api.requested({
           "id":this.form.type ==='项目订单'?20230103141402: 20221108111402,

+ 14 - 12
src/HDrpManagement/payvoucher/components/enterprise.vue

@@ -9,13 +9,13 @@
       <div slot="title" style="font-size: 15px">
         选择企业
       </div>
-      <div class="flex-align-center flex-between mt-10">
-        <el-input 
-          style="width:200px" 
-          size="small"  
-          suffix-icon="el-icon-search" 
-          v-model="params.content.where.condition" 
-          placeholder="搜索" 
+      <div class="flex-align-center flex-between mt-10" style="margin-top: -20px !important;">
+        <el-input
+          style="width:200px"
+          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>
       </div>
       <layout_table
@@ -23,9 +23,9 @@
           :layout="tablecols"
           :data="list"
           :opwidth="200"
-          :custom="false"
+          :custom="true"
           :height="320"
-          :checkbox="true"
+          :checkbox="false"
           :onRow="row"
           @rowClick="rowClick"
           @onRow="onRow"
@@ -43,10 +43,10 @@
             :total="total">
         </el-pagination>
       </div>
-      <div class="dialog-footer">
+<!--      <div class="dialog-footer">
         <el-button size="small" @click="onColes" class="normal-btn-width">取 消</el-button>
         <el-button size="small" type="warning" class="normal-btn-width btn-warning"  @click="onSubmit">确 定</el-button>
-      </div>
+      </div>-->
     </el-dialog>
   </div>
 </template>
@@ -134,6 +134,8 @@ export default {
     rowClick(row){
       console.log("选中")
       console.log(row)
+      this.row = row
+      this.onSubmit()
     }
 
   },
@@ -146,4 +148,4 @@ export default {
 
 <style scoped>
 
-</style>
+</style>

+ 1 - 1
src/HDrpManagement/payvoucher/details/index.vue

@@ -120,7 +120,7 @@ export default {
         },
         {
           label:'凭证来源',
-          value:this.mainData.sourse
+          value:this.mainData.sourse?this.mainData.sourse:'--'
         },
         {
           label:'凭证来源说明',

+ 17 - 11
src/HDrpManagement/productMoneyOdd/index.vue

@@ -1,11 +1,11 @@
 <template>
   <div>
-    <basicLayout 
-      ref="basicLayout" 
-      formPath="productMoneyOdd" 
-      tableName="productMoneyOdddTable" 
-      idName="sa_itempriceadjustid" 
-      :apiId="{query:20221024163504,del:20221025092904}" 
+    <basicLayout
+      ref="basicLayout"
+      formPath="productMoneyOdd"
+      tableName="productMoneyOdddTable"
+      idName="sa_itempriceadjustid"
+      :apiId="{query:20221024163504,del:20221025092904}"
       :options="options"
       :detailPath="{path:'/productMoneyOddDetail'}">
       <div slot="custom"></div>
@@ -85,11 +85,17 @@ export default {
           "attachmentid": data.data.attachmentids[0],
           "remarks": ""
         }
-      })     
-      this.tool.showMessage(res,() => {
-        this.$refs.basicLayout.listData()
-        this.$refs.import.dialogUploadVisible = false
       })
+      if (res.data !== '成功' ){
+        this.errorurl = res.data
+        this.$refs.basicLayout.listData()
+      }else {
+        this.tool.showMessage(res,() => {
+          this.$refs.basicLayout.listData()
+          this.$refs.import.dialogUploadVisible = false
+        })
+      }
+
     }
   }
 }
@@ -97,4 +103,4 @@ export default {
 
 <style scoped>
 
-</style>
+</style>

+ 31 - 14
src/HDrpManagement/projectPortrait/modules/detail.vue

@@ -53,7 +53,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">项目评估</span>
-              <myRadio :value1="param1.content" key1="isAll" @clickBtn="refreshTable('param1','pinggu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param1.content" :value2="param1.content.where" key1="isAll" @clickBtn="refreshTable('param1','pinggu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -96,7 +96,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">跟进记录</span>
-              <myRadio :value1="param2.content" key1="isAll" @clickBtn="refreshTable('param2','fllow')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param2.content" :value2="param2.content.where" key1="isAll" @clickBtn="refreshTable('param2','fllow')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -262,7 +262,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">报价单</span>
-              <myRadio :value1="param6.content" key1="isAll" @clickBtn="refreshTable('param6','baojiadan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param6.content" :value2="param6.content.where" key1="isAll" @clickBtn="refreshTable('param6','baojiadan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -304,7 +304,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">合同</span>
-              <myRadio :value1="param7.content" key1="isAll" @clickBtn="refreshTable('param7','hetong')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param7.content" :value2="param7.content.where" key1="isAll" @clickBtn="refreshTable('param7','hetong')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
               <el-select style="margin-left:24px" v-model="param7.content.where.type" clearable size="mini" placeholder="请选择合同类型" @change="typeChange('param7','hetong')">
                 <el-option label="全部" value=""></el-option>
@@ -335,6 +335,9 @@
                 <div v-if="scope.data.columnname == 'signAmount'">
                   {{scope.data.data.signAmount && tool.formatAmount(scope.data.data.signAmount || 0,2,'¥')  }}
                 </div>
+                <div v-else-if="scope.data.columnname == 'enddate'">
+                  {{scope.data.data.begdate + '至' + scope.data.data.enddate }}
+                </div>
                 <div v-else>
                   {{ scope.data.data[scope.data.columnname] }}
                 </div>
@@ -349,7 +352,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">订单</span>
-              <myRadio :value1="param8.content" key1="isAll" @clickBtn="refreshTable('param8','dingdan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param8.content" :value2="param8.content.where" key1="isAll" @clickBtn="refreshTable('param8','dingdan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -400,7 +403,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">服务</span>
-              <myRadio :value1="param9.content" key1="isAll" @clickBtn="refreshTable('param9','fuwu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param9.content" :value2="param9.content.where" key1="isAll" @clickBtn="refreshTable('param9','fuwu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
               </myRadio>
             </div>
             <myCard
@@ -525,8 +528,12 @@ export default {
             "pageNumber": 1,
             "pageSize": 20,
             "isAll":1,
-            "sa_projectid":this.$route.query.id
-        }
+            "sa_projectid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
+        },
       },
       //跟进记录
       param2: {
@@ -535,8 +542,12 @@ export default {
             "pageNumber": 1,
             "pageSize": 20,
             "isAll":1,
-            "sa_projectid":this.$route.query.id
-        }
+            "sa_projectid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
+        },
       },
       //关联客户
       param3: {
@@ -574,7 +585,9 @@ export default {
           "isAll":1,
           "sa_projectid":this.$route.query.id,
           "where":{
-              "type":""
+            "type":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -587,7 +600,9 @@ export default {
           "isAll":1,
           "sa_projectid":this.$route.query.id,
           "where":{
-              "type":""
+            "type":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -600,7 +615,8 @@ export default {
             "isAll":1,
             "sa_projectid":this.$route.query.id,
             "where": {
-
+              "begdate":'',
+              "enddate":''
             }
         }
       },
@@ -613,7 +629,8 @@ export default {
             "isAll":1,
             "sa_projectid":this.$route.query.id,
             "where": {
-
+              "begdate":'',
+              "enddate":''
             }
         }
       },

+ 1 - 1
src/HDrpManagement/recvoucher/details/index.vue

@@ -182,7 +182,7 @@ export default {
         },
         {
           label:'凭证来源',
-          value:this.mainData.sourse
+          value:this.mainData.sourse?this.mainData.sourse:'--'
         },
         {
           label:'凭证来源说明',

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

@@ -10,7 +10,7 @@
       idName="userid"
       :apiId="{query:20221213094401,del:20221031141202}"
       :options="options"
-      :hideSearch="true"
+      :hideSearch="false"
       @listCreate="listCreate"
       @listData="listData">
       <div slot="custom"></div>

+ 74 - 26
src/HDrpManagement/salerPortrait/modules/detail.vue

@@ -39,7 +39,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">业绩</span>
-              <myRadio :value1="param1.content" key1="type" @clickBtn="getPerformance" :btnOptions="[{label:'本年',value:3},{label:'本季',value:2},{label:'本月',value:1}]">
+              <myRadio :value1="param1.content" :value2="param1.content.where" key1="type"  @clickBtn="getPerformance" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
             </div>
             <myNewCard
@@ -84,7 +84,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">订单</span>
-              <myRadio :value1="param2.content" key1="isAll" @clickBtn="refreshTable('param2','dingdan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param2.content" :value2="param2.content.where" key1="type" @clickBtn="refreshTable('param2','dingdan')" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
               <el-select style="margin-left:24px" v-model="param2.content.where.type" clearable size="mini" placeholder="请选择订单类型" @change="typeChange('param2','dingdan')">
                 <el-option label="全部" value=""></el-option>
@@ -94,7 +94,7 @@
             <myCard
               :list="
               [
-                {title:'订单数量',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allOrderQty,bg:'#F3F9FC',color:'#3874F6'},
+                {title:'订单数量',value:$refs.dingdan  &&  $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allOrderQty,bg:'#F3F9FC',color:'#3874F6'},
                 {title:'订单总金额',value:unitCompile($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allAmount || 0),bg:'#E8F7EC',color:'#78B32B'},
                 {title:'订单回款金额',value:unitCompile($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].cashbillAmount || 0),bg:'#F9F2E5',color:'#FF7603'},
                 {title:'订单未出货金额',value:unitCompile($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allunAmount || 0),bg:'#FDF3F3',color:'#E85B5B'},
@@ -153,7 +153,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">销售线索</span>
-              <myRadio :value1="param3.content" key1="type" @clickBtn="refreshTable('param3','xiansuo');param8.content.type=param3.content.type;refreshTable('param8','fllow')" :btnOptions="[{label:'本年',value:3},{label:'本季',value:2},{label:'本月',value:1}]">
+              <myRadio :value1="param3.content" :value2="param3.content.where" key1="type" @clickBtn="refreshTable('param3','xiansuo');param8.content.type=param3.content.type;refreshTable('param8','fllow')" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
             </div>
             <myCard
@@ -210,13 +210,13 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">客户</span>
-              <myRadio :value1="param4.content" key1="type" @clickBtn="refreshTable('param4','kehu');param9.content.type=param4.content.type;refreshTable('param9','fllowkehu')" :btnOptions="[{label:'本年',value:3},{label:'本季',value:2},{label:'本月',value:1}]">
+              <myRadio :value1="param4.content" :value2="param4.content.where" key1="type" @clickBtn="refreshTable('param4','kehu');param9.content.type=param4.content.type;refreshTable('param9','fllowkehu')" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
             </div>
             <myCard
               :list="
               [
-                {title:'客户数',value:$refs.kehu && $refs.kehu.list.length,bg:'#F3F9FC',color:'#3874F6'},
+                {title:'客户数',value:$refs.kehu &&  $refs.kehu.list[0].isEmpty === 0 && $refs.kehu.list.length,bg:'#F3F9FC',color:'#3874F6'},
                 {title:'新增客户数',value:$refs.kehu && $refs.kehu.list[0] && $refs.kehu.list[0].customersSize,bg:'#E8F7EC',color:'#78B32B'},
                 {title:'跟进次数',value:$refs.fllowkehu && $refs.fllowkehu.list && $refs.fllowkehu.list[0] && $refs.fllowkehu.list[0].followSize,bg:'#F9F2E5',color:'#FF7603'},
                 // {title:'跟进频率',value:$refs.fllowkehu && $refs.fllowkehu.list && $refs.fllowkehu.list[0] && $refs.fllowkehu.list[0].followfrequency,descript:'平均跟进天数,跟进频率=(总跟进天数-节假日)÷总跟进次数',bg:'#FDF3F3',color:'#E85B5B'},
@@ -279,7 +279,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">项目</span>
-              <myRadio :value1="param5.content" key1="type" @clickBtn="refreshTable('param5','project');param10.content.type=param5.content.type;refreshTable('param10','projectfllow')" :btnOptions="[{label:'本年',value:3},{label:'本季',value:2},{label:'本月',value:1}]">
+              <myRadio :value1="param5.content" :value2="param5.content.where"  key1="type" @clickBtn="refreshTable('param5','project');param10.content.type=param5.content.type;refreshTable('param10','projectfllow')" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
             </div>
             <myCard
@@ -353,7 +353,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">报价单</span>
-              <myRadio :value1="param6.content" key1="isAll" @clickBtn="refreshTable('param6','baojiadan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param6.content" :value2="param6.content.where" key1="type" @clickBtn="refreshTable('param6','baojiadan')" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
             </div>
             <myCard
@@ -396,7 +396,7 @@
           <el-card class="box-card">
             <div slot="header">
               <span class="myTitle">合同</span>
-              <myRadio :value1="param7.content" key1="isAll" @clickBtn="refreshTable('param7','hetong')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
+              <myRadio :value1="param7.content" :value2="param7.content.where" key1="type" @clickBtn="refreshTable('param7','hetong')" :btnOptions="[{label:'全部',value:0},{label:'本年',value:1},{label:'本季',value:2},{label:'本月',value:3}]">
               </myRadio>
               <el-select style="margin-left:24px" v-model="param7.content.where.type" clearable size="mini" placeholder="请选择合同类型" @change="typeChange('param7','hetong')">
                 <el-option label="全部" value=""></el-option>
@@ -427,6 +427,9 @@
                 <div v-if="scope.data.columnname == 'signAmount'">
                   {{scope.data.data.signAmount && tool.formatAmount(scope.data.data.signAmount || 0,2,'¥')  }}
                 </div>
+                <div v-else-if="scope.data.columnname == 'enddate'">
+                  {{scope.data.data.begdate + '至' + scope.data.data.enddate }}
+                </div>
                 <div v-else>
                   {{ scope.data.data[scope.data.columnname] }}
                 </div>
@@ -462,8 +465,12 @@ export default {
       param1: {
         "id": 20230717100404,
         "content": {
-            "type":3,
-            "hrid":this.$route.query.id
+            "type":0,
+            "hrid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //订单
@@ -472,10 +479,12 @@ export default {
         "content": {
             "pageNumber": 1,
             "pageSize": 20,
-            "isAll":1,
+            "type":0,
             "hrid":this.$route.query.id,
             "where": {
-              "type":''
+              "type":'',
+              "begdate":'',
+              "enddate":''
             },
           "sort":[{
             "reversed": 1,//1降序,0升序
@@ -490,8 +499,12 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "type":3,
+          "type":0,
           "hrid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //线索跟进
@@ -500,9 +513,14 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "type":3,
+          "type":0,
           "hrid":this.$route.query.id,
-        }
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
+        },
+
       },
       //客户
       param4: {
@@ -510,8 +528,12 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "type":3,
+          "type":0,
           "hrid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //客户跟进
@@ -520,8 +542,12 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "type":3,
+          "type":0,
           "hrid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //项目
@@ -530,8 +556,12 @@ export default {
         "content": {
             "pageNumber": 1,
             "pageSize": 20,
-            "type":3,
-            "hrid":this.$route.query.id
+            "type":0,
+            "hrid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //项目跟进
@@ -540,8 +570,12 @@ export default {
         "content": {
             "pageNumber": 1,
             "pageSize": 20,
-            "type":3,
-            "hrid":this.$route.query.id
+            "type":0,
+            "hrid":this.$route.query.id,
+          "where":{
+            "begdate":'',
+            "enddate":''
+          }
         }
       },
       //报价单
@@ -550,10 +584,12 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "isAll":1,
+          "type":0,
           "hrid":this.$route.query.id,
           "where":{
-              "type":""
+            "type":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -563,10 +599,12 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "isAll":1,
+          "type":0,
           "hrid":this.$route.query.id,
           "where":{
-              "type":""
+            "type":"",
+            "begdate":'',
+            "enddate":''
           }
         }
       },
@@ -617,6 +655,16 @@ export default {
       this.stageList = res3.data
     },
     refreshTable (param,el) {
+      if (param === 'param8'){
+        this.param8.content.where.begdate = this.param3.content.where.begdate
+        this.param8.content.where.enddate = this.param3.content.where.enddate
+      }else if (param === 'param9'){
+        this.param9.content.where.begdate = this.param4.content.where.begdate
+        this.param9.content.where.enddate = this.param4.content.where.enddate
+      }else if (param === 'param10'){
+        this.param10.content.where.begdate = this.param5.content.where.begdate
+        this.param10.content.where.enddate = this.param5.content.where.enddate
+      }
       this[param].content.pageNumber = 1
       this.$refs[el] && this.$refs[el].listData()
     },

+ 2 - 1
src/HDrpManagement/writeoffbill/components/add.vue

@@ -57,7 +57,7 @@
                     v-model="params.content.where.condition" placeholder="搜索"
                     @keyup.enter.native="getOrderList(params.content.pageNumber = 1)" @clear="getOrderList(params.content.pageNumber = 1)" clearable></el-input>
                 </div>
-                <selectOrder v-if="dialogFormVisible" ref="table" idName="sa_orderitemsid" :layout="tablecols" :data="orderList" :custom="true" height="500px">
+                <selectOrder v-if="dialogFormVisible" ref="table" idName="sa_orderitemsid" :layout="tablecols" :data="orderList" :custom="true" height="calc(100vh - 480px)">
                   <template v-slot:customcol="scope">
                       <div>{{scope.column.data[scope.column.columnname]}}</div>
                   </template>
@@ -230,6 +230,7 @@ export default {
     },
     voucherRowClick (data) {
       this.form.sa_cashbillid = data.sa_cashbillid
+      this.$refs.form.validateField('sa_cashbillid')
     },
     async getAccountType () {
       let res = await this.$api.requested({

+ 2 - 1
src/HDrpManagement/writeoffbill/components/edit.vue

@@ -40,7 +40,7 @@
                 <el-date-picker
                   v-model="form.billnodate"
                   type="date"
-                  value-format="yy-mm-dd"
+                  value-format="yyyy-MM-dd"
                   placeholder="选择日期">
                 </el-date-picker>
               </el-form-item>
@@ -150,6 +150,7 @@ export default {
     },
     voucherRowClick (data) {
       this.form.sa_cashbillid = data.sa_cashbillid
+      this.$refs.form.validateField('sa_cashbillid')
     },
     async getAccountType () {
       let res = await this.$api.requested({

+ 13 - 5
src/HDrpManagement/writeoffbill/components/selectVoucher.vue

@@ -6,7 +6,7 @@
       v-model="visible">
       <div>
         <div class="flex-align-center flex-between" style="margin-bottom:10px">
-          <el-input style="width:200px" suffix-icon="el-icon-search" size="small" v-model="params.content.where.condition" placeholder="输入凭证信息" @keyup.enter.native="queryEnterpriseArchives(params.content.pageNumber = 1)" @clear="queryEnterpriseArchives(params.content.pageNumber = 1)" clearable></el-input>
+          <el-input style="width:200px" suffix-icon="el-icon-search" size="small" v-model="params.content.where.condition" placeholder="输入凭证信息" @keyup.enter.native="queryEnterpriseArchives(params.content.pageNumber = 1)" @clear="queryEnterpriseArchives(params.content.pageNumber = 1)" clearable></el-input>
         </div>
         <el-table
           :data="ENlist"
@@ -55,7 +55,7 @@
           </el-pagination>
         </div>
       </div>
-      <el-input :validate-event="false" :disabled="!sys_enterpriseid || !sa_accountclassid" slot="reference" v-model="form.billno" @focus="queryEnterpriseArchives"  placeholder="请选择凭证"></el-input>
+      <el-input :validate-event="false" :disabled="!sys_enterpriseid || !sa_accountclassid" readonly slot="reference" v-model="form.billno" @change="queryEnterpriseArchives"  placeholder="请选择凭证"></el-input>
     </el-popover>
   </div>
 </template>
@@ -90,16 +90,24 @@ export default {
     }
   },
   watch: {
-    sa_accountclassid (val) {
-      if( this.form.sa_accountclassid != this.sa_accountclassid && this.sys_enterpriseid) {
+   /* sa_accountclassid (val) {
+      this.queryEnterpriseArchives()
+      /!*if( this.form.sa_accountclassid != this.sa_accountclassid && this.sys_enterpriseid) {
+        this.queryEnterpriseArchives()
+      }*!/
+    },*/
+    visible(val){
+      if (val){
         this.queryEnterpriseArchives()
+      }else {
+        this.params.content.where.condition = ''
       }
     }
   },
   methods:{
     async queryEnterpriseArchives () {
       if (!this.sa_accountclassid || !this.sys_enterpriseid) return
-      if(this.params.content.sa_accountclassid == this.sa_accountclassid && this.params.content.sys_enterpriseid == this.sys_enterpriseid) return
+     /* if(this.params.content.sa_accountclassid == this.sa_accountclassid && this.params.content.sys_enterpriseid == this.sys_enterpriseid) return*/
       this.params.content.sa_accountclassid = this.sa_accountclassid
       this.params.content.sys_enterpriseid = this.sys_enterpriseid
       const res = await this.$api.requested(this.params)

+ 25 - 23
src/SDrpManagement/myaccountclass/index.vue

@@ -36,27 +36,29 @@
               </el-input>
             </div>
           </template>
-          <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :fixedName="'operation'" height="calc(100vh - 390px)">
-            <template v-slot:customcol="scope">
-              <div v-if="scope.column.columnname == 'type'">
-                {{ scope.column.data.type ? '收入凭证' : '支出凭证' }}
-              </div>
-              <div v-else>
-                {{scope.column.data[[scope.column.columnname]]?scope.column.data[[scope.column.columnname]]:'--'}}
-              </div>
-            </template>
-            <template v-slot:opreation="scope">
-              <editPrice v-if="tool.checkAuth($route.name,'update')" class="inline-16" :data="scope.data"/>
-              <delete-btn 
-                @deleteCreate="deleteCreate" 
-                v-if="tool.checkAuth($route.name,'delete')" 
-                :id="scope.data.sa_itempriceadjust_itemsid" 
-                @deleteSuccess="$refs.basicLayout.listData()" 
-                nameId="20221025095404" 
-                nameKey="sa_itempriceadjust_itemsids"
-              />
-            </template>
-          </tableLayout>
+          <div style="flex:0 1 auto;width: 100%;">
+            <tableMainLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :fixedName="'operation'" height="calc(100vh - 390px)">
+              <template v-slot:customcol="scope">
+                <div v-if="scope.column.columnname == 'type'">
+                  {{ scope.column.data.type ? '收入凭证' : '支出凭证' }}
+                </div>
+                <div v-else>
+                  {{scope.column.data[[scope.column.columnname]]?scope.column.data[[scope.column.columnname]]:'--'}}
+                </div>
+              </template>
+              <template v-slot:opreation="scope">
+                <editPrice v-if="tool.checkAuth($route.name,'update')" class="inline-16" :data="scope.data"/>
+                <delete-btn
+                    @deleteCreate="deleteCreate"
+                    v-if="tool.checkAuth($route.name,'delete')"
+                    :id="scope.data.sa_itempriceadjust_itemsid"
+                    @deleteSuccess="$refs.basicLayout.listData()"
+                    nameId="20221025095404"
+                    nameKey="sa_itempriceadjust_itemsids"
+                />
+              </template>
+            </tableMainLayout>
+          </div>
           <div style="margin-top:16px;text-align:right">
             <el-pagination
               background
@@ -111,7 +113,7 @@ export default {
       })
       this.acountlist = res.data
       console.log(this.acountlist);
-      
+
       this.accountMx()
     },
     async accountMx () {
@@ -166,4 +168,4 @@ export default {
   border-radius: 5px;
   cursor: pointer;
 }
-</style>
+</style>

+ 1 - 1
src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/modules/add.vue

@@ -18,7 +18,7 @@
             <el-input v-model="form.taxno" placeholder="统一社会信用代码"></el-input>
           </el-form-item>
           <el-form-item label="开户银行" prop="bank">
-            <el-input v-model="form.bank" placeholder="统一社会信用代码"></el-input>
+            <el-input v-model="form.bank" placeholder="开户银行名称"></el-input>
           </el-form-item>
           <el-form-item label="开户账号" prop="bankcardno">
             <el-input v-model="form.bankcardno" placeholder="开户账号"></el-input>

+ 1 - 1
src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/modules/edit.vue

@@ -17,7 +17,7 @@
             <el-input v-model="form.taxno" placeholder="统一社会信用代码"></el-input>
           </el-form-item>
           <el-form-item label="开户银行" >
-            <el-input v-model="form.bank" placeholder="统一社会信用代码"></el-input>
+            <el-input v-model="form.bank" placeholder="开户银行名称"></el-input>
           </el-form-item>
           <el-form-item label="开户账号" >
             <el-input v-model="form.bankcardno" placeholder="开户账号"></el-input>

+ 5 - 0
src/components/normal-basic-layout/modules/table.vue

@@ -69,6 +69,11 @@ export default {
       this.$nextTick(() => {
         this.$refs.tables.doLayout()
       });
+    },
+    data(){
+      this.$nextTick(() => {
+        this.$refs.tables.doLayout()
+      });
     }
   },
   methods:{

+ 1 - 1
src/components/socketMessage/index.vue

@@ -19,7 +19,7 @@
     data () {
       return {
         id:'',
-        // path:"ws://61.164.207.46:8000//yos/webSocket/",
+        /*path:"ws://61.164.207.46:8000//yos/webSocket/",*/
         path:"wss://oms.idcgroup.com.cn:8079/yos/webSocket/",
         panelIsShow:false,
         list:[],

+ 3 - 0
src/main.js

@@ -19,6 +19,7 @@ import './style/theme/index.css'
 import tableLayout from './components/dynamic-table'
 import tableNewLayout from './components/dynamic-newTable'
 import basicLayout from './components/normal-basic-layout'
+import tableMainLayout from './template/tableMainLayout'
 import normalLayout from './components/normal-basic-layout/normal.vue'
 import basicDetails from './components/normal-basic-layout/details'
 import deleteBtn from './components/delete_btn/index'
@@ -53,6 +54,8 @@ Vue.component('tableLayout', tableLayout)
 
 Vue.component('tableNewLayout',tableNewLayout)
 
+Vue.component('tableMainLayout',tableMainLayout)
+
 Vue.component('basicLayout', basicLayout)
 
 Vue.component('basicDetails', basicDetails)

+ 135 - 0
src/template/tableMainLayout/index.vue

@@ -0,0 +1,135 @@
+<template>
+  <div class="bs-table" :style="{height:height?height:'calc(100vh - 330px)'}">
+    <el-table border stripe ref="tables" :row-class-name="tableClassName" :header-cell-style="{background:'#fafafafa',height:'40px','color':'#000000'}" highlight-current-row :data="data" size="mini" @row-click="rowClick" height="100%" style="width:100%;" @selection-change="handleSelectionChange" >
+      <!-- <div slot="empty">
+        <el-empty :image="require('../../../assets/empty.svg')" :image-size="250">
+        </el-empty>
+      </div> -->
+<!--      <el-table-column
+          type="selection"
+          width="45"
+          align="center"
+          @handleSelectionChange="handleSelectionChange">
+      </el-table-column>-->
+      <el-table-column show-overflow-tooltip v-for="(col) in layout" :key="col.tablecolid" :prop="col.columnname" :label="col.title" :width="col.width ? col.width : 0" :min-width="col.width === 0 ? 150 : col.width" :fixed="fixedName ? fixedName.indexOf(col.columnname)!= -1?redirect ? redirect : 'right' :false : false">
+        <template slot-scope="scope">
+
+          <slot v-if="col.columnname !== 'operation'" name="customcol" :column="{data:scope.row,columnname:col.columnname}"></slot>
+
+          <slot v-if="col.columnname === 'operation'" name="opreation" :data="scope.row"></slot>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column  v-for="(col) in layout" :key="col.tablecolid">
+        <template #header>
+
+          <el-input v-if="col.filter === 1" size="mini" v-model="col.value" @change="inputChange" @keyup.native.enter="headerSearch(col.columnname)" @clear="headerSearch(col.columnname)" clearable/>
+
+
+        <slot v-if="col.filter === 2" name="temp" :data="col.columnname"></slot>
+
+        </template>
+        <el-table-column :prop="col.columnname" :label="col.title" :width="col.width ? col.width : 0" :min-width="col.width === 0 ? 150 : col.width" :fixed="checkFixed(col.columnname)">
+          <template slot-scope="scope">
+            <slot v-if="col.columnname !== 'operation'" name="customcol" :column="{data:scope.row,columnname:col.columnname}"></slot>
+            <slot v-if="col.columnname === 'operation'" name="opreation" :data="scope.row"></slot>
+          </template>
+        </el-table-column>
+
+
+      </el-table-column> -->
+    </el-table>
+  </div>
+</template>
+
+<script>
+import {mapGetters} from "vuex"
+export default {
+  /*
+    layout:表结构数据;
+    data:表渲染数据;
+    custom:是否启用自定义结构;
+    opwidth:操作列宽度
+  */
+  props:['data','tableName','custom','layout','fixRightData','fixLeftData','height','fixedName','redirect'],
+  data () {
+    return {
+      list:[],
+      act_column:'',
+      value:'',
+      show:false
+    }
+  },
+  computed:{
+    ...mapGetters({
+      loading:'loading'
+    })
+  },
+  watch:{
+    tableName () {
+      this.$nextTick(() => {
+        this.$refs.tables.doLayout()
+      });
+    },
+    data(){
+      this.$nextTick(() => {
+        this.$refs.tables.doLayout()
+      });
+    }
+  },
+  methods:{
+    rowClick (row) {
+      this.$emit('rowClick',row)
+    },
+    tableClassName ({row,rowIndex}) {
+      row.index = rowIndex
+    },
+    handleSelectionChange(val) {
+      this.$emit('checkboxCallBack',val)
+    },
+    checkFixed (columnname) {
+      let isRight = this.fixRightData.some(item=>item === columnname)
+      let isLeft = this.fixLeftData.some(item=>item === columnname)
+      if (isRight) return 'right'
+      if (isLeft) return 'left'
+    },
+    headerSearch (columnname) {
+      this.show = false
+      this.$emit('headerSearch',columnname,this.value)
+    },
+    inputChange (val) {
+      this.value = val
+    }
+  },
+  mounted () {
+  }
+}
+
+</script>
+<style>
+/* .bs-table .el-table {
+  display: flex;
+  flex-direction: column;
+} */
+</style>
+<style scoped>
+.search-icon:hover{
+  font-weight: bold;
+  background: #f1f2f3;
+  cursor: pointer;
+}
+
+/deep/.ellipsis {
+  display:-webkit-box;
+  text-overflow:ellipsis;
+  overflow:hidden;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient:vertical;
+}
+
+/deep/.el-table--mini .el-table__cell {
+  padding: 0 !important;
+}
+/deep/.el-table .el-table__cell {
+  padding: 0 !important;
+}
+</style>