Ver Fonte

Merge branch 'orangeUrgent' into allTestUrgent

qymljy há 6 meses atrás
pai
commit
fff019bdd7
2 ficheiros alterados com 154 adições e 63 exclusões
  1. 84 3
      src/HDrpManagement/salerpriceData/index.vue
  2. 70 60
      src/template/dataDetail/index.vue

+ 84 - 3
src/HDrpManagement/salerpriceData/index.vue

@@ -107,7 +107,7 @@
             <div class="data-all">
               <div class="data-all-wrapper">
                 <div class="data-left">
-                  <div class="data-item">
+                  <div class="data-item div-hover-click" @click="onClick('营销费用总金额')">
                     <p>
                       <span v-if="dataAll.amount > 10000"
                         >{{ tool.formatAmount(dataAll.amount / 10000, 2)
@@ -124,7 +124,7 @@
                       </el-tooltip> -->
                     </p>
                   </div>
-                  <div class="data-item">
+                  <div class="data-item div-hover-click" @click="onClick('营销费用总数量')">
                     <p>{{ tool.formatAmount(dataAll.count) }}</p>
                     <p>营销费用总数量</p>
                   </div>
@@ -178,6 +178,32 @@
 
           </div>
       </div>
+      <dataDetail ref="detailRef" :title="title" :param="paramDetail" :person="person" :departmentid="depment" :isleave="isleave" :layout="tablecols" height="calc(100vh - 250px)" tableType="营销费用">
+        <template #custom>
+          <div class="mt-10 inline-16">
+            <label class="search__label">费用类型:</label>
+            <el-select v-model="paramDetail.content.where.feestype" placeholder="请选择费用类型" class="inline-16" size="small" filterable clearable @change="selectChange" @focus="feesTypeData">
+              <el-option
+                  v-for="item in feestypeList"
+                  :key="item.index"
+                  :label="item.value + '-' + item.remarks"
+                  :value="item.value">
+              </el-option>
+            </el-select>
+          </div>
+          <div class="mt-10 inline-16">
+            <label class="search__label">归属应用:</label>
+            <el-select v-model="paramDetail.content.where.ownertable" placeholder="请选择归属应用" class="inline-16" size="small" clearable @change="selectChange" @focus="applicationData">
+              <el-option
+                  v-for="item in applicationList"
+                  :key="item.value"
+                  :label="item.remarks"
+                  :value="item.value">
+              </el-option>
+            </el-select>
+          </div>
+        </template>
+      </dataDetail>
     </template>
   </normalLayout>
 </template>
@@ -193,6 +219,7 @@ import SalerType from "./modules/salerType.vue";
 import CustomerType from "./modules/customerType.vue";
 import ProjectType from "./modules/projectType.vue";
 import PhoneType from "./modules/phoneType.vue";
+import dataDetail from '@/template/dataDetail/index'
 export default {
   name: "customerData",
   props:['isPortraitShow'],
@@ -206,6 +233,7 @@ export default {
     SalerType,
     ProjectType,
     PhoneType,
+    dataDetail
   },
   data() {
     return {
@@ -263,6 +291,28 @@ export default {
       dateType: "",
       departmentid: "",
       scrollData: "",
+      paramDetail:{
+        "id": 20241015151504,
+        "content": {
+          "dataid": "",
+          "type": "",
+          "dateType": "",
+          "typemx":"",//营销费用总金额,营销费用总数量
+          "pageSize":100,
+          "pageNumber":1,
+          "where": {
+            "isleave": "1",
+            "ownertable":"",//归属应用
+            "feestype":"",//营销费用类型
+            "condition":""
+          }
+        },
+      },
+      title:"",
+      tablecols:"",
+      userName:JSON.parse(window.sessionStorage.getItem('active_account')).name,
+      feestypeList:[],
+      applicationList:[]
     };
   },
   methods: {
@@ -535,6 +585,31 @@ export default {
     backFull() {
       this.isFull = false;
     },
+    onClick(title){
+      this.title = this.dateType == ''?'全部' + '_' + title:this.dateType + '_' + title
+      this.paramDetail.content.dataid = this.person?this.person == this.userName?JSON.parse(sessionStorage.getItem('active_account')).userid:this.person:this.depment[0]
+      this.paramDetail.content.type = this.person?'0':'1'
+      this.paramDetail.content.typemx = title
+      this.paramDetail.content.where.isleave = this.isleave
+      this.paramDetail.content.dateType = this.dateType
+      this.$refs.detailRef.onShow()
+    },
+    async feesTypeData(){
+      if (this.feestypeList.length == 0){
+        const res = await this.$store.dispatch('optiontypeselect','feestype')
+        this.feestypeList = res.data
+      }
+    },
+    async applicationData(){
+      if (this.applicationList.length == 0){
+        const res = await this.$store.dispatch('optiontypeselect','attributiveapplication')
+        this.applicationList = res.data
+      }
+    },
+    selectChange(){
+      this.paramDetail.content.pageNumber = 1
+      this.$refs.detailRef.listData()
+    },
   },
   async mounted() {
     this.departmentrtment();
@@ -551,6 +626,9 @@ export default {
       })();
     };
   },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).salerpriceDetail.tablecols
+  }
 };
 </script>
 <style>
@@ -599,7 +677,7 @@ export default {
   font-size: 26px;
   font-weight: 5px;
   font-family: "ArialMT", "Arial", sans-serif;
-  color: rgba(0, 0, 0, 0.85);
+  /*color: rgba(0, 0, 0, 0.85);*/
 }
 .data-all .data-item p:nth-child(2) {
   font-size: 14px;
@@ -655,4 +733,7 @@ export default {
 .panel-table {
   height: 100%;
 }
+.div-hover-click:hover {
+  color: #3874f6;
+}
 </style>

+ 70 - 60
src/template/dataDetail/index.vue

@@ -29,68 +29,78 @@
         </el-input>
         <table-detail :layout="layout" :data="list" :custom="true" :height="height" :width="true" style="margin-top: 10px">
           <template v-slot:customcol="scope">
-            <div v-if="scope.column.columnname === 'tag'">
-              <div v-if="scope.column.data.sys_tag">
-                <div v-for="item in scope.column.data.sys_tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
-                  <el-tag  color="#3874F6" size="mini" type="primary" effect="dark">
-                    <span>{{item}}</span>
-                  </el-tag>
-                </div>
-                <div v-for="item in scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
-                  <el-tag color="#FA8C16" size="mini" type="warning" effect="dark">
-                    <span>{{item}}</span>
-                  </el-tag>
-                </div>
+            <div v-if="tableType == '营销费用'">
+              <div v-if="scope.column.columnname == 'amount'">
+                <span>{{scope.column.data[[scope.column.columnname]] ?tool.formatAmount(scope.column.data[[scope.column.columnname]],2):scope.column.data[[scope.column.columnname]] == 0?tool.formatAmount(0,2):'--'}}</span>
+              </div>
+              <div v-else>
+                {{ scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation' ? scope.column.data[[scope.column.columnname]] : '--' }}
               </div>
-              <div v-else>--</div>
-            </div>
-            <div v-else-if="scope.column.columnname == 'status'">
-              <span style="color:#999999" v-if="scope.column.data[[scope.column.columnname]] == '已过期'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '跟进中'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#3874f6" v-else-if="scope.column.data[[scope.column.columnname]] == '待跟进'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#333333" v-else-if="scope.column.data[[scope.column.columnname]] == '已无效'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已转化'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#3874f6" v-else-if="scope.column.data[[scope.column.columnname]] == '潜在'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '合作中'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '已终止'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '已失败'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '已结案'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span v-else>{{scope.column.data[[scope.column.columnname]]}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname === 'reportstatus'">
-              <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '已报备'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '报备中'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '未报备'">{{scope.column.data[[scope.column.columnname]]}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname === 'projecttype'">
-              {{scope.column.data.projecttype + '-' + scope.column.data.projecttype_remarks}}
-            </div>
-            <div v-else-if="scope.column.columnname === 'tradingstatus'">
-              <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '未成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
-              <span style="color:#333333" v-else-if="scope.column.data[[scope.column.columnname]] == '多次成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname === 'leader'">
-              <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].name:'--'}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname === 'depname'">
-              <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].depname:'--'}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname === 'address'">
-              <span>{{scope.column.data.province?scope.column.data.province + scope.column.data.city + scope.column.data.county + scope.column.data.address:'--'}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname == 'signamount_due'">
-              <span>{{scope.column.data[[scope.column.columnname]] ?tool.formatAmount(scope.column.data[[scope.column.columnname]],2):'--'}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname == 'dealamount'">
-              <span>{{scope.column.data[[scope.column.columnname]] ?tool.formatAmount(scope.column.data[[scope.column.columnname]],2):'--'}}</span>
-            </div>
-            <div v-else-if="scope.column.columnname == 'scale'">
-              <span>{{scope.column.data[[scope.column.columnname]]?scope.column.data[[scope.column.columnname]] + scope.column.data.unitname:'--'}}</span>
             </div>
             <div v-else>
-              {{ scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation' ? scope.column.data[[scope.column.columnname]] : '--' }}
+              <div v-if="scope.column.columnname === 'tag'">
+                <div v-if="scope.column.data.sys_tag">
+                  <div v-for="item in scope.column.data.sys_tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+                    <el-tag  color="#3874F6" size="mini" type="primary" effect="dark">
+                      <span>{{item}}</span>
+                    </el-tag>
+                  </div>
+                  <div v-for="item in scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+                    <el-tag color="#FA8C16" size="mini" type="warning" effect="dark">
+                      <span>{{item}}</span>
+                    </el-tag>
+                  </div>
+                </div>
+                <div v-else>--</div>
+              </div>
+              <div v-else-if="scope.column.columnname == 'status'">
+                <span style="color:#999999" v-if="scope.column.data[[scope.column.columnname]] == '已过期'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '跟进中'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#3874f6" v-else-if="scope.column.data[[scope.column.columnname]] == '待跟进'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#333333" v-else-if="scope.column.data[[scope.column.columnname]] == '已无效'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已转化'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#3874f6" v-else-if="scope.column.data[[scope.column.columnname]] == '潜在'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '合作中'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '已终止'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '已失败'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '已结案'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span v-else>{{scope.column.data[[scope.column.columnname]]}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname === 'reportstatus'">
+                <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '已报备'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#52c41a" v-else-if="scope.column.data[[scope.column.columnname]] == '报备中'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#999999" v-else-if="scope.column.data[[scope.column.columnname]] == '未报备'">{{scope.column.data[[scope.column.columnname]]}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname === 'projecttype'">
+                {{scope.column.data.projecttype + '-' + scope.column.data.projecttype_remarks}}
+              </div>
+              <div v-else-if="scope.column.columnname === 'tradingstatus'">
+                <span style="color:#3874f6" v-if="scope.column.data[[scope.column.columnname]] == '未成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#fa8c16" v-else-if="scope.column.data[[scope.column.columnname]] == '已成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+                <span style="color:#333333" v-else-if="scope.column.data[[scope.column.columnname]] == '多次成交'">{{scope.column.data[[scope.column.columnname]]}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname === 'leader'">
+                <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].name:'--'}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname === 'depname'">
+                <span>{{scope.column.data['leader'][0]?scope.column.data['leader'][0].depname:'--'}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname === 'address'">
+                <span>{{scope.column.data.province?scope.column.data.province + scope.column.data.city + scope.column.data.county + scope.column.data.address:'--'}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname == 'signamount_due'">
+                <span>{{scope.column.data[[scope.column.columnname]] ?tool.formatAmount(scope.column.data[[scope.column.columnname]],2):'--'}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname == 'dealamount'">
+                <span>{{scope.column.data[[scope.column.columnname]] ?tool.formatAmount(scope.column.data[[scope.column.columnname]],2):'--'}}</span>
+              </div>
+              <div v-else-if="scope.column.columnname == 'scale'">
+                <span>{{scope.column.data[[scope.column.columnname]]?scope.column.data[[scope.column.columnname]] + scope.column.data.unitname:'--'}}</span>
+              </div>
+              <div v-else>
+                {{ scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation' ? scope.column.data[[scope.column.columnname]] : '--' }}
+              </div>
             </div>
           </template>
         </table-detail>
@@ -114,7 +124,7 @@
 <script>
 export default {
   name: "index",
-  props:["title","layout","param","person","departmentid","isleave","height"],
+  props:["title","layout","param","person","departmentid","isleave","height",'tableType'],
   data(){
     return {
       dialogFormVisible:false,