qymljy 2 лет назад
Родитель
Сommit
708d6a4bb2

+ 4 - 6
src/HDrpManagement/projectChange/components/putPeople.vue

@@ -18,7 +18,7 @@
 import report from "@/HDrpManagement/projectChange/components/report";
 export default {
   name: "add",
-  props:['data','rowData','flagTag','disabled'],
+  props:['data','rowData','flagTag','disabled','isbpm'],
   components:{report},
   data(){
     return {
@@ -37,7 +37,7 @@ export default {
       console.log(this.rowData)
       /*this.tagData()*/
     },
-    onSubmit(){
+    async onSubmit(){
       this.$confirm('确定进行提交报备操作吗?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -62,7 +62,8 @@ export default {
       });
     },
     async onCheck(){
-      if (JSON.parse(sessionStorage.getItem('active_account')).siteid){
+      console.log(this.isbpm)
+      if ((JSON.parse(sessionStorage.getItem('active_account')).siteid) && this.isbpm == 'true'){
         const res = await this.$api.requested({
           "id": 20230628155602,
           "content": {
@@ -104,9 +105,6 @@ export default {
           });
         });
       }
-
-
-
     },
     onUnCheck(){
       this.$confirm('确定进行报备驳回(退回)操作吗?', '提示', {

+ 16 - 2
src/HDrpManagement/projectChange/modules/detail.vue

@@ -18,7 +18,7 @@
     <div slot="customOperation">
       <!-- 此区域提供了自定义操作按钮 -->
       <mindmap ref="mindmap" class="inline-16" :id="this.$route.query.id" name="project"></mindmap>
-      <putPeople style=" display: inline-block !important;" @putSuccess="putSuccess" v-if="flagTag !== ''" :rowData="mainData" :flagTag="flagTag" :disabled="mainData.disabled" @onClose="onSuccess"/>
+      <putPeople style=" display: inline-block !important;" @putSuccess="putSuccess" v-if="flagTag !== ''" :isbpm="isbpm" :rowData="mainData" :flagTag="flagTag" :disabled="mainData.disabled" @onClose="onSuccess"/>
       <projectRecovery class="inline-16" :data="mainData" v-if="tool.checkAuth($route.name,'recovery')  && mainData.status === '已结束'" :disabled="mainData.disabled" @onRecovery="onSuccess"></projectRecovery>
       <duplicatesProject class="inline-16" :data="mainData" v-if="tool.checkAuth($route.name,'queryDuplicates') " :disabled="mainData.disabled" @dialogClose="dialogClose"></duplicatesProject>
       <finish class="inline-16" v-if="tool.checkAuth($route.name,'finish')  && mainData.status === '已成交'" :disabled="mainData.disabled" @onFinish="onSuccess"></finish>
@@ -125,6 +125,7 @@ export default {
   },
   data () {
     return {
+      isbpm:'',
       totalPrice:0,
       dialogVisible:false,
       disabled:false,
@@ -247,6 +248,7 @@ export default {
       this.getProjectAddres()
       this.projectStage()
       this.tagData()
+      this.isBPM()
       if (this.$route.query.portrait == '1' || this.$route.query.portrait == 'jzds' || this.$route.query.portrait == 'glkh' || this.$route.query.portrait == 'bj' || this.$route.query.portrait == 'ht'){
         this.$refs.mindmap.onShow()
       }
@@ -257,6 +259,18 @@ export default {
       this.$router.replace({path:'/projectChangeDetail',query:{id:id,rowindex:rowindex,portrait:''}})
       this.queryMainData(id)
     },
+    /*BPM是否开启*/
+    async isBPM(){
+      const res = await this.$api.requested({
+        "classname":'sysmanage.develop.datafunction.datafunction',
+        "method":'execute',
+        "content":{
+          functionname:"bpmswitch"
+        }
+      })
+      this.isbpm = res.data[0].paramvalue
+      console.log(this.isbpm,'bpm')
+    },
     // 获取标签数据
     async tagData(){
       const res = await this.$api.requested({
@@ -438,7 +452,7 @@ export default {
         },
         {
           label:'项目规模',
-          value: this.mainData.scale
+          value: this.mainData.scale + this.mainData.unitname
         },
         {
           label:'项目等级',

+ 138 - 0
src/HManagement/addressList/mycontact/index1.vue

@@ -0,0 +1,138 @@
+<template>
+  <div>
+    <div class="flex-align-stretch">
+      <group ref="grouplist" @setGroupData="setGroupData" @clickGroup="clickGroup">
+        <add-contact :tagList="tagList" v-if="tool.checkAuth($route.name,'addContact')" slot="addContact" :group="group" @onAddSuccess="onAddSuccess"></add-contact>
+        <add-group v-if="tool.checkAuth($route.name,'addGroup')" slot="addGroup" @onSuccess="onAddSuccess"></add-group>
+        <template v-slot:edit="scope">
+          <editGroup v-if="tool.checkAuth($route.name,'editGroup')" :data="scope.data" @onSuccess="onAddSuccess"></editGroup>
+        </template>
+        <template v-slot:del="scope">
+          <delGroup v-if="tool.checkAuth($route.name,'deleteGroup')" :data="scope.data" @onSuccess="onAddSuccess"></delGroup>
+        </template>
+      </group>
+      <contacts style="flex:1 0 auto" :data="activeGroupData" @clickContacts="clickContacts" @filtetContacts="filtetContacts"></contacts>
+      <detail :activeContactsData="activeContactsData">
+        <template v-slot:edit="data">
+          <edit :tagList="tagList" v-if="tool.checkAuth($route.name,'update') && data.data.groupname != '客户联系人' && data.data.groupname != '项目联系人'" :data="data" :group="group" @onEditSuccess="onEditSuccess"></edit>
+        </template>
+        <template v-slot:del="data">
+          <ondel v-if="tool.checkAuth($route.name,'delete') && data.data.groupname != '客户联系人' && data.data.groupname != '项目联系人'" :data="data" @onDelSuccess="onDelSuccess"></ondel>
+        </template>
+      </detail>
+    </div>
+  </div>
+</template>
+
+<script>
+import addContact from './modules/addContact.vue'
+import addGroup from './modules/addGroup.vue'
+import group from './modules/group.vue'
+import contacts from './modules/contacts.vue'
+import detail from './modules/detail.vue'
+import edit from './modules/edit.vue'
+
+import  editGroup from './modules/editGroup.vue'
+import  delGroup from './modules/delGroup.vue'
+
+import ondel from './modules/del.vue'
+
+export default {
+  components:{
+    addContact,
+    addGroup,
+    group,
+    contacts,
+    detail,
+    ondel,
+    edit,
+    editGroup,
+    delGroup
+  },
+  data () {
+    return {
+      group:[],
+      activeGroupData:[],
+      activeContactsData:null,
+      tagList:[],
+      allData:[]
+    }
+  },
+  methods:{
+    onAddSuccess () {
+      this.$refs['grouplist'].listData(()=>{
+        let arr = []
+        arr = [...this.$refs['grouplist'].sysGroup,...this.$refs['grouplist'].myGroup]
+        this.allData = arr
+
+        this.activeGroupData = arr.filter(e=>{return e.rowindex === this.activeGroupData.rowindex})[0]
+        this.activeContactsData = this.activeGroupData.phonebook.filter(e=>{return e.rowindex === this.activeContactsData.rowindex})[0]
+      })
+    },
+    onEditSuccess (form) {
+      this.$refs['grouplist'].listData()
+      this.activeContactsData = Object.assign({},this.activeContactsData,form)
+      this.activeGroupData.phonebook = this.activeGroupData.phonebook.map(e=>{
+        if (e.rowindex === form.rowindex) {
+          e = Object.assign({},e,form)
+        }
+        return e
+      })
+    },
+    setGroupData (val) {
+      this.group = val
+      console.log(this.group,'group')
+    },
+    clickGroup (val,allData) {
+      this.activeGroupData = val
+      this.activeContactsData = null
+      this.allData = allData
+    },
+    clickContacts (val) {
+      this.activeContactsData = val
+    },
+    onDelSuccess (id) {
+      this.activeGroupData.phonebook = this.activeGroupData.phonebook.filter(e=>{
+        return e.sys_phonebookid !== id
+      })
+      this.activeContactsData = null
+      // this.$refs['grouplist'].listData()
+    },
+    filtetContacts (type,val) {
+      this.activeGroupData = []
+      let allData = []
+      this.allData.map(item => item.phonebook).forEach(item2 => {
+        allData.push(...item2)
+      })
+      if (type === 'name') {
+        this.activeGroupData.phonebook = allData.filter(e=>{
+          return e.name === val
+        })
+      } else if (type === 'phonenumber') {
+        this.activeGroupData.phonebook = allData.filter(e=>{
+          return e.phonenumber === val
+        })
+      } else {
+        this.onAddSuccess()
+      }
+
+    },
+    async getTagList () {
+      let res = await this.$api.requested({
+        "id": 20220929085401,
+        "content": {
+            "ownertable":"sys_phonebook",
+            "ownerid":102
+        }
+      })
+      this.tagList = res.data.option
+    }
+  },
+  mounted () {
+    this.getTagList()
+  }
+}
+
+</script>
+<style>
+</style>

+ 11 - 11
src/components/normal-basic-layout/details/modules/followUp/followUp.vue

@@ -18,20 +18,20 @@
             :timestamp="i.createdate">
               <div slot="dot" class="dot"></div>
               <div class="step__panel normal-margin">
-                <div class="flex-align-center flex-between" style="margin-bottom:10px">
+                <div class="flex-align-center " style="margin-bottom:10px">
                   <!-- <p><small>跟进人:</small>{{i.changeby}}</p> -->
 <!--                    <img height="30" width="30" :src="i.headpic" alt="">-->
-                  <div class="avatar inline-16" style="float: left">
-                    <img class="avatar__image" v-if="i.headpic" :src="i.headpic" alt="">
-                    <p v-else>{{i.userextend[0].name.substr(0, 1)}}</p>
-                  </div>
-                  <div style="float: left">
-                    <p>{{ i.userextend[0].name }}&nbsp;</p>
-                    <small style="color:#999999ad;margin-top:10px">部门:{{ i.userextend[0].depname?i.userextend[0].depname:"未知部门" }}&emsp;职位:{{ i.userextend[0].position?i.userextend[0].position:"未知职位" }}</small>
-                  </div>
-                  <div style="margin-left: 20px">
+                      <div class="avatar" >
+                        <img class="avatar__image" v-if="i.headpic" :src="i.headpic" alt="">
+                        <p v-else>{{i.userextend[0].name.substr(0, 1)}}</p>
+                      </div>
+                      <div style="margin-left: 10px">
+                        <p>{{ i.userextend[0].name }}&nbsp;</p>
+                        <small style="color:#999999ad;margin-top:10px">部门:{{ i.userextend[0].depname?i.userextend[0].depname:"--" }}&emsp;职位:{{ i.userextend[0].position?i.userextend[0].position:"--" }}</small>
+                      </div>
+<!--                  <div style="margin-left: 20px">
                     <small style="color:#999">{{i.createdate}}</small>
-                  </div>
+                  </div>-->
 
                 </div>
 <!--                <div >

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

@@ -23,7 +23,7 @@
         </div>
         <div>
 					<p>{{ men.name }} <small style="color:#999999ad">&nbsp;账号:{{ men.username }}</small></p>
-					<small style="color:#999999ad;margin-top:10px">部门:{{ men.depname?men.depname:"未知部门" }}&emsp;职位:{{ men.position?men.position:"未知部门" }}</small>
+					<small style="color:#999999ad;margin-top:10px">部门:{{ men.depname?men.depname:"--" }}&emsp;职位:{{ men.position?men.position:"--" }}</small>
 				</div>
       </div>
       <div v-if="item.teamleader.length === 0">