소스 검색

详情页新增转手次数

qymljy 2 년 전
부모
커밋
de67bd0cdf

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

@@ -353,7 +353,7 @@ export default {
           /*{label:'锁定状态',value:this.mainData.locked == '0' ? '锁定' : '解锁'},*/
           {label:'最近编辑人',value:this.mainData.changeby ? this.mainData.changeby : '--'},
           {label:'最近编辑时间',value:this.mainData.changedate ? this.mainData.changedate : '--'},
-          {label:'转手次数',value:this.mainData.changecount !== '' ? this.mainData.changecount : '--'},
+          {label:'转手次数',value:this.mainData.leader.length !== 0?this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum:'--'},
         ]
       }
       this.mainAreaData = [

+ 1 - 1
src/HDrpManagement/publicCustomer/modules/detail/detailedData.vue

@@ -34,7 +34,7 @@
         <el-descriptions-item label="退回/回收原因">{{ system.returnreson?system.returnreson:"--" }}</el-descriptions-item>
         <el-descriptions-item label="最近编辑人">{{ system.changeby?system.changeby:"--" }}</el-descriptions-item>
         <el-descriptions-item label="最近编辑时间">{{ system.changedate?system.changedate:"--" }}</el-descriptions-item>
-        <el-descriptions-item label="转手次数">{{ system.changecount?system.changecount:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="转手次数">{{ system.leader.length !== 0?system.leader[0].leadernum === 0?'0':system.leader[0].leadernum:'--' }}</el-descriptions-item>
         <el-descriptions-item label="客户资料完善度">{{ system.percentage?system.percentage:"--" }}</el-descriptions-item>
       </el-descriptions>
     </div>

+ 6 - 4
src/HManagement/clueManage/clue_private/modules/detail.vue

@@ -8,6 +8,7 @@
         turnPageId="20221101094302"
         delApiId="20221101100502"
         idname="sat_orderclueid"
+        :justsaler="1"
         :tabs="['跟进记录','详细信息']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
@@ -321,10 +322,7 @@ export default {
             }
 
           },
-          {
-            label:'转手次数',
-            value:this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum
-          },
+
         ],
         systemInfo: [
           {label:'创建人',value:this.mainData.createBy},
@@ -337,6 +335,10 @@ export default {
           {label:'最近跟进时间',value:this.mainData.followDate},
           {label:'最近转移时间',value:this.mainData.changeDate},
           {label:'最近编辑时间',value:this.mainData.editDate},
+          {
+            label:'转手次数',
+            value:this.mainData.leader.length !== 0?this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum:'--'
+          },
         ]
       }
     },

+ 4 - 0
src/HManagement/clueManage/clue_public/modules/detail.vue

@@ -275,6 +275,10 @@ export default {
           {label:'转化次数',value:this.mainData.isproject === 0 && this.mainData.iscustomer === 0?'0':this.mainData.isproject + this.mainData.iscustomer },
           {label:'无效原因',value:this.mainData.invalidreason},
           {label:'作废原因',value:this.mainData.deletereason},
+          {
+            label:'转手次数',
+            value:this.mainData.leader.length !== 0?this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum:'--'
+          },
         ]
       }
     },

+ 5 - 4
src/HManagement/clueManage/m_activity/modules/details.vue

@@ -167,10 +167,7 @@ export default {
               return style
             }
           },
-          {
-            label:'转手次数',
-            value:this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum
-          },
+
         ],
         systemInfo: [
           {label:'创建人',value:this.mainData.createby},
@@ -179,6 +176,10 @@ export default {
           {label:'最近编辑时间',value:this.mainData.changedate},
           {label:'发布人',value:this.mainData.checkby},
           {label:'发布时间',value:this.mainData.checkdate},
+          {
+            label:'转手次数',
+            value:this.mainData.leader.length !== 0?this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum:'--'
+          },
           /*{label:'最近跟进时间',value:this.mainData.followDate},*/
 
         ]

+ 1 - 1
src/HManagement/projectTarget/target/modules/edit/components/edit.vue

@@ -49,7 +49,7 @@
 </template>
 
 <script>
-import tablelayout from '@/components/table/index.vue'
+import tablelayout from '@/components/table/indexCopy1.vue'
 export default {
   name: "edit",
   props:["data"],

+ 1 - 0
src/SDrpManagement/QuotedPrice/detail/modules/detailed/index.vue

@@ -33,6 +33,7 @@
         <el-descriptions-item label="报价时间">{{ basic.submitdate?basic.submitdate:"--" }}</el-descriptions-item>
         <el-descriptions-item label="报价审核">{{ basic.checkby?basic.checkby:"--" }}</el-descriptions-item>
         <el-descriptions-item label="报价审核时间">{{ basic.checkdate?basic.checkdate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label-class-name="my-label" label="转手次数">{{ data.leader.length !== 0?data.leader[0].leadernum === 0?'0':data.leader[0].leadernum:'--' }}</el-descriptions-item>
       </el-descriptions>
     </div>
   </div>

+ 1 - 1
src/SDrpManagement/salerPrivatecustomer/detail/customerDetail.vue

@@ -26,7 +26,7 @@
         <recovery class="inline-16" v-if="tool.checkAuth($route.name,'recovery') " :disabled="mainData.disabled" :data="mainData" @onshow="onSuccess" @backSuccess="onSuccess"></recovery>
       </div>
       <div slot="slot0" >
-        <detailed ref="baseDetail"></detailed>
+        <detailed :data="mainData" ref="baseDetail"></detailed>
       </div>
       <div slot="slot1" class=" normal-panel"  >
         <contacts :data="mainData"   @onSuccess="onSuccess" v-if="flag"></contacts>

+ 1 - 1
src/SDrpManagement/salerPrivatecustomer/detail/modules/detailedData.vue

@@ -32,7 +32,7 @@
         <el-descriptions-item label-class-name="my-label" label="作废原因">{{ system.returnreson?system.returnreson:"--" }}</el-descriptions-item>
         <el-descriptions-item label-class-name="my-label" label="最近编辑人">{{ system.changeby?system.changeby:"--" }}</el-descriptions-item>
         <el-descriptions-item label-class-name="my-label" label="最近编辑时间">{{ system.changedate?system.changedate:"--" }}</el-descriptions-item>
-        <el-descriptions-item label-class-name="my-label" label="转手次数">{{ system.changecount?system.changecount:"--" }}</el-descriptions-item>
+        <el-descriptions-item label-class-name="my-label" label="转手次数">{{ data.leader.length !== 0?data.leader[0].leadernum === 0?'0':data.leader[0].leadernum:'--' }}</el-descriptions-item>
         <el-descriptions-item label-class-name="my-label" label="客户资料完善度">{{ system.percentage?system.percentage:"--" }}</el-descriptions-item>
       </el-descriptions>
     </div>

+ 1 - 1
src/SDrpManagement/sinvoiceapp/modules/add.vue

@@ -92,7 +92,7 @@
 </template>
 
 <script>
-// import invoiceCanUseAgent from '@/template/invoiceCanUseAgent/index.vue'
+// import invoiceCanUseAgent from '@/template/invoiceCanUseAgent/indexCopy1.vue'
 import invoiceCanUseTax from '@/template/invoiceCanUseTax/index.vue'
 
 export default {

+ 1 - 1
src/SDrpManagement/sinvoiceapp/modules/edit.vue

@@ -97,7 +97,7 @@
 </template>
 
 <script>
-// import invoiceCanUseAgent from '@/template/invoiceCanUseAgent/index.vue'
+// import invoiceCanUseAgent from '@/template/invoiceCanUseAgent/indexCopy1.vue'
 import invoiceCanUseTax from '@/template/invoiceCanUseTax/index.vue'
 
 export default {

+ 1 - 0
src/SManagement/orderclue_detail/index.vue

@@ -10,6 +10,7 @@
         idname="sat_orderclueid"
         tags=""
         :tabs="['跟进记录','详细信息']"
+        :justsaler="1"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)"
         @detailCreate="detailCreate">

+ 4 - 3
src/components/normal-basic-layout/details/modules/group/group.vue

@@ -11,7 +11,7 @@
         trigger="manual"
         v-model="visible1"
         width="300">
-        <member ref="member" :param="param" :radio="true" @onSelect="setLeader" @onCancel="visible1 = false"></member>
+        <member ref="member" :justsaler="justsaler" :param="param" :radio="true" @onSelect="setLeader" @onCancel="visible1 = false"></member>
         <el-button v-show="item.teamleader[0] && nowUserid === item.teamleader[0].userid" type="text" size="small" slot="reference" @click="showMenberSelect(item)">变更</el-button>
       </el-popover>
     </div>
@@ -37,7 +37,7 @@
         trigger="manual"
         v-model="visible"
         width="300">
-        <member ref="member1" :param="param" :radio="false" :checked="item.team" @onSelect="onSubmit" @onCancel="visible = false"></member>
+        <member ref="member1" :justsaler="justsaler" :param="param" :radio="false" :checked="item.team" @onSelect="onSubmit" @onCancel="visible = false"></member>
         <el-button v-show="item.teamleader[0] && nowUserid === item.teamleader[0].userid" type="text" size="small" slot="reference"  @click="showMenberSelect1(item)">添加</el-button>
       </el-popover>
     </div>
@@ -98,7 +98,8 @@ export default {
   },
   methods:{
     async queryGroup () {
-      this.param.content.justsaler = this.justsaler?this.justsaler:0
+      console.log(this.justsaler)
+      /*this.param.content.where.justsaler = this.justsaler?this.justsaler:0*/
       const res = await this.$api.requested({
         "id": 20220930103501,
         "content": {

+ 1 - 1
src/router/HManagement.js

@@ -36,7 +36,7 @@ const HManagement = [
   //     title: '数据分析',
   //     ast_nav: true
   //   },
-  //   components: () => import(/* webpackChunkName: "about" */ '@/HManagement/archives_ad/dataAnalysis/index.vue')
+  //   components: () => import(/* webpackChunkName: "about" */ '@/HManagement/archives_ad/dataAnalysis/indexCopy1.vue')
   // },
    {
     path: '/archives_adclass',

+ 1 - 1
src/router/index.js

@@ -30,7 +30,7 @@ let routes = [
   {
     path: '/main',
     name: 'main',
-    // components: () => import(/* webpackChunkName: "about" */ '@/components/layout/index.vue'),
+    // components: () => import(/* webpackChunkName: "about" */ '@/components/layout/indexCopy1.vue'),
     component: () => import(/* webpackChunkName: "about" */ '@/components/newLayout/index.vue'),
     redirect: '/home',
     children: [

+ 3 - 1
src/template/menber/index.vue

@@ -51,7 +51,7 @@
 
 <script>
 export default {
-	props:['param','radio','checked','implement'],
+	props:['param','radio','checked','implement','justsaler'],
   data () {
     return {
       search:'',
@@ -65,7 +65,9 @@ export default {
   },
   methods:{
     async listData () {
+      this.param.content.where.justsaler = this.justsaler
 			this.param.content.where.condition = this.search
+      console.log(this.param,"查询团队")
       const res = await this.$api.requested(this.param)
       if (!this.radio) {
         res.data = res.data.filter(e=>{

+ 432 - 0
src/views/message/indexCopy1.vue

@@ -0,0 +1,432 @@
+<template>
+  <div class="message">
+    <el-row>
+      <el-col :span="2">
+        <div class="left">
+          <el-row>
+            <el-col :span="24">
+              <div class="selects" @click="selectFun('系统')"
+                   :style="currentItem==0 ? 'background:#ffffff;color:#3874F6;border:1px solid #DDDDDD' : 'color:#000000;border:1px solid #DDDDDD'">
+                <el-row style="width: 100%;">
+                  <el-col :span="24">
+                    <div class="font">系统消息</div>
+                  </el-col>
+                  <el-col :span="24">
+                    <div class="fontCount">总数:32</div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-col>
+            <el-col :span="24">
+              <div class="selects" @click="selectFun('通用')"
+                   :style="currentItem==1 ? 'background:#ffffff;color:#3874F6;border:1px solid #DDDDDD' : 'color:#000000;border:1px solid #DDDDDD'">
+                <el-row style="width: 100%;">
+                  <el-col :span="24">
+                    <div class="font">通用消息</div>
+                  </el-col>
+                  <el-col :span="24">
+                    <div class="fontCount">总数:32</div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-col>
+            <el-col :span="24">
+              <div class="selects" @click="selectFun('营销工具')"
+                   :style="currentItem==2 ? 'background:#ffffff;color:#3874F6;border:1px solid #DDDDDD' : 'color:#000000;border:1px solid #DDDDDD'">
+                <el-row style="width: 100%;">
+                  <el-col :span="24">
+                    <div class="font">营销工具消息</div>
+                  </el-col>
+                  <el-col :span="24">
+                    <div class="fontCount">总数:32</div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-col>
+            <el-col :span="24">
+              <div class="selects" @click="selectFun('CRM')"
+                   :style="currentItem==3 ? 'background:#ffffff;color:#3874F6;border:1px solid #DDDDDD' : 'color:#000000;border:1px solid #DDDDDD'">
+                <el-row style="width: 100%;">
+                  <el-col :span="24">
+                    <div class="font">CRM消息</div>
+                  </el-col>
+                  <el-col :span="24">
+                    <div class="fontCount">总数:32</div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-col>
+            <el-col :span="24">
+              <div class="selects" @click="selectFun('E-订单')"
+                   :style="currentItem==4 ? 'background:#ffffff;color:#3874F6;border:1px solid #DDDDDD' : 'color:#000000;border:1px solid #DDDDDD'">
+                <el-row style="width: 100%;">
+                  <el-col :span="24">
+                    <div class="font">E-订单消息</div>
+                  </el-col>
+                  <el-col :span="24">
+                    <div class="fontCount">总数:32</div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-col>
+            <el-col :span="24">
+              <div class="selects" @click="selectFun('E-服务')"
+                   :style="currentItem==5 ? 'background:#ffffff;color:#3874F6;border:1px solid #DDDDDD' : 'color:#000000;border:1px solid #DDDDDD'">
+                <el-row style="width: 100%;">
+                  <el-col :span="24">
+                    <div class="font">E-服务消息</div>
+                  </el-col>
+                  <el-col :span="24">
+                    <div class="fontCount">总数:32</div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-col>
+          </el-row>
+        </div>
+      </el-col>
+      <el-col :span="11">
+        <div class="left1">
+          <div class="select">
+            <div class="select_left">
+            </div>
+            <div class="select_right">
+              <el-button @click="allRead" size="small">全部阅读</el-button>
+            </div>
+          </div>
+          <list :list="list" @messageItemClick="messageItemClick"></list>
+          <pagination :total="total" :pageSize="param.content.pageSize" :currentPage="param.content.pageNumber"
+            @pageChange="pageChange">
+          </pagination>
+        </div>
+      </el-col>
+      <el-col :span="11">
+        <div class="right" v-if="message">
+          <p class="title">{{message.title}}</p>
+          <p class="info">
+            <span>发布于:{{message.createdate}} | {{message.name || message.type}}</span>
+          </p>
+          <div class="content-txt">
+            <p class="txt">{{message.message}}</p>
+            <p class="link" @click="goDetail" v-if="currentItem == 1 && message.link">请前往 {{message.name}}>></p>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+
+  </div>
+</template>
+
+<script>
+import list from '@/views/message/components/list'
+
+import pagination from '@/components/pagination/Pagination'
+import { log } from '@antv/g2plot/lib/utils';
+export default {
+  name: '',
+  data () {
+    return {
+      currentItem: 0,
+      param: {
+        "classname": "system.message.Message",
+        "method": "queryMessage",
+        "content": {
+          "nocache": true,
+          "pageNumber": 1,
+          "pageSize": 10,
+          "type": '',
+          "where": {
+
+          }
+        }
+      },
+      list: '',
+      total: 0,
+      message:'',
+      isAllClick: true
+    };
+  },
+  components: { list, pagination },
+  computed: {
+  },
+  watch: {
+  },
+  created () {
+    this.getMessageList()
+  },
+  methods: {
+    async getMessageList () {
+      this.param.content.type = this.currentItem == 0 ? '系统' : '应用'
+      let res = await this.$api.requested(this.param)
+      this.list = res.data
+      if(this.currentItem == 1) {
+        this.list.forEach(item => {
+          this.isCategory(item)
+        })
+      }
+      if(this.list[0]) this.messageItemClick(this.list[0])
+      this.total = res.total
+    },
+    selectFun (data) {
+      this.message = ''
+      this.param.content.pageNumber = 1
+      /*this.currentItem = data == '系统' ? 0 : 1*/
+      switch (data){
+        case '系统':
+          this.currentItem = 0
+              break
+        case '通用':
+          this.currentItem = 1
+              break
+        case '营销工具':
+          this.currentItem = 2
+              break
+        case 'CRM':
+          this.currentItem = 3
+              break
+        case 'E-订单':
+          this.currentItem = 4
+              break
+        case 'E-服务':
+          this.currentItem = 5
+              break
+      }
+      this.getMessageList()
+    },
+    pageChange (n) {
+      this.param.content.pageNumber = n
+      this.getMessageList()
+    },
+    async messageItemClick(data) {
+      let res = await this.$api.requested({
+        "classname": "system.message.Message",
+        "method": "readMessage",
+        "content": {
+            "nocache":true,
+            "messageid":data.messageid
+        }
+      })
+      data.isread = 1
+      res.data.name = data.name
+      res.data.link = data.link
+      res.data.modules = data.modules
+      this.message = res.data
+    },
+    async allRead() {
+      if(!this.isAllClick) return
+      let res = await this.$api.requested({
+        "classname": "system.message.Message",
+        "method": "readAllMessage",
+        "content": {
+            "nocache":true,
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.list.forEach(item => {
+          item.isread = 1
+        })
+        this.isAllClick = false
+        setTimeout(() => {
+          this.isAllClick = true
+        },5000)
+      })
+    },
+    //跳转到消息具体页面
+    goDetail() {
+      sessionStorage.setItem('active_modules',JSON.stringify(this.message.modules))
+      this.$router.push(this.message.link)
+    },
+    isCategory(data) {
+      switch (data.objectname) {
+        case 'sat_courseware':
+            data.name = '商学院'
+            JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+              item1.modules.forEach(item2 => {
+                if(item2.systemmodulename == data.name) {
+                  data.modules = item2
+                  data.link = item2.apps[0].path
+                  return
+                }
+              })
+            })
+            break;
+        case 'sat_sharematerial':
+            data.name = '推广素材'
+            JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+              item1.modules.forEach(item2 => {
+                if(item2.systemmodulename == data.name) {
+                  data.modules = item2
+                  data.link = item2.apps[0].path
+                  return
+                }
+              })
+            })
+            break;
+        case 'sat_notice':
+            data.name = '通告'
+            JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+              item1.modules.forEach(item2 => {
+                if(item2.systemmodulename == data.name) {
+                  data.modules = item2
+                  data.link = item2.apps[0].path
+                  return
+                }
+              })
+            })
+            break;
+        case 'sat_submitedit':
+            data.name = '提报'
+            JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+              item1.modules.forEach(item2 => {
+                if(item2.systemmodulename == data.name) {
+                  data.modules = item2
+                  data.link = item2.apps[0].path
+                  return
+                }
+              })
+            })
+            break;
+        case 'sat_orderclue':
+            data.name = '销售线索'
+            JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+              item1.modules.forEach(item2 => {
+                if(item2.systemmodulename == data.name) {
+                  data.modules = item2
+                  data.link = item2.apps[0].path
+                  return
+                }
+              })
+            })
+            break;
+        case 'sys_attachment':
+            data.name = '营销物料'
+            JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+              item1.modules.forEach(item2 => {
+                if(item2.systemmodulename == data.name) {
+                  data.modules = item2
+                  data.link = item2.apps[0].path
+                  return
+                }
+              })
+            })
+            break;
+      }
+    }
+  },
+};
+</script>
+
+<style scoped>
+* {
+  box-sizing: border-box;
+}
+.message {
+  width: 100%;
+  margin: 0 auto;
+  position: relative;
+}
+.message .left1 {
+  min-height: calc(100vh - 99px);
+  position: relative;
+  padding: 20px 0 60px 0;
+  box-shadow: 1px 0px 0px 1px #DDDDDD;
+  background: #ffffff;
+}
+.message .left {
+  min-height: calc(100vh - 99px);
+  position: relative;
+  padding: 0px 0 0px 0;
+  box-shadow:inset -1px 1px 0px 1px #DDDDDD;
+  background: #ffffff;
+}
+.message .select {
+  width: 100%;
+  height: 36px;
+  border-radius: 4px;
+  display: flex;
+  justify-content: space-between;
+  padding: 0 16px;
+}
+.message .selects {
+  width: 100%;
+  height: 56px;
+  border-radius: 4px;
+  display: flex;
+  justify-content: space-between;
+  padding: 10px 10px;
+}
+.message .selects .font{
+  text-align: center;
+  font-size: 14px;
+}
+.message .selects .fontCount{
+  text-align: center;
+  font-size: 12px;
+  color: #d3d2d2;
+}
+.message .select .select_left {
+  display: flex;
+  justify-content: space-between;
+  font-size: 14px;
+  margin-left: 16px;
+}
+.message .select .select_left div {
+  height: 34px;
+  text-align: center;
+  cursor: pointer;
+  padding: 8px 22px;
+  transition: background 0.2s ease-in-out;
+}
+.message .select .select_left div:first-child {
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.message .select .select_left div:last-child {
+  border-top-right-radius: 4px;
+  border-bottom-right-radius: 4px;
+}
+.message .right {
+  padding: 20px 16px;
+}
+.message .right .title {
+  font-size: 16px;
+  font-weight: bold;
+  color: #333333;
+}
+.message .right .info {
+  font-size: 12px;
+  font-weight: 400;
+  color: #333333;
+  margin: 16px 0;
+}
+.message .right .content-txt {
+  width: 100%;
+  padding: 20px 16px;
+  font-size: 14px;
+  font-weight: 400;
+  background: #ffffff;
+}
+.message .right .content-txt .txt {
+  color: #666666;
+}
+.message .right .content-txt .link {
+  margin-top:16px;
+  color:#3874F6;
+  font-size:14px;
+  cursor: pointer;
+}
+/* .message .right .content-txt p:last-child {
+  color: #3874F6;
+} */
+/deep/.el-pagination {
+  position: absolute;
+  right: 16px;
+  bottom: 0;
+}
+/deep/.el-empty {
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  transform: translate(-50%,-50%);
+}
+</style>