소스 검색

跟进动态上传附件调整,品牌与分类编辑列表接口调整

qymljy 5 일 전
부모
커밋
f8ee159239

+ 1 - 2
src/HDrpManagement/BrandManage/component/saleclass/index.vue

@@ -95,8 +95,7 @@ export default {
   methods: {
     async department (callback) {
       const res = await this.$api.requested({
-        "id": "20220922110403",
-        "version":1,
+        "id": "20230325141103",
         "content": {
           "sa_brandid":this.data.sa_brandid
         }

+ 1 - 1
src/components/normal-basic-layout-new/details/index.vue

@@ -74,7 +74,7 @@
           <group v-if="activeApp.isdatateam" :isGroup="isGroup" :status="status" ref="group" style="margin-bottom:10px"  :justsaler="justsaler" :ownertable="ownertable?ownertable:idname.slice(0, this.idname.length - 2)" @onSuccess="onSuccess" @teamList="teamList">
             <el-button slot="collapse" type="text" icon="el-icon-s-unfold" class="inline-16" @click="onCollapse"></el-button>
           </group>
-          <follow-up v-if="activeApp.isdatafollowup" :status="status" ref="follow" :ownertable="ownertable?ownertable:idname.slice(0, this.idname.length - 2)" :editData="editData" :idname="idname" @logSuccess="logSuccess" @onMore="onMore">
+          <follow-up v-if="activeApp.isdatafollowup" :status="status" ref="follow" :ownertable="ownertable?ownertable:idname.slice(0, this.idname.length - 2)" :editData="editData" :idname="idname" @logSuccess="logSuccess" @onMore="onMore" :bindData="{ ownertable: ownertable, ownerid: editData[idname], usetype: 'default' }">
             <el-button slot="collapse" type="text" icon="el-icon-s-unfold" class="inline-16" @click="onCollapse"></el-button>
           </follow-up>
         </el-col>

+ 3 - 1
src/components/normal-basic-layout-new/details/modules/followUp/addLog.vue

@@ -88,6 +88,8 @@
               :folderid="folderid"
               @onSuccess="onSuccess"
               :bindData="bindData"
+              :bindDataFile="bindDataFile"
+              :isFile="true"
               type="button">
             </upload>
             <!-- <previewImage :image="{}" :deletebtn="true"></previewImage> -->
@@ -109,7 +111,7 @@ import previewImage from '@/components/previewImage/index.vue'
 import contactsList from '@/template/projectChange/contactsList.vue'
 import tableDataAdd from '@/components/tableDataAdd/index'
 export default {
-  props:['ownertable','status','ownerid'],
+  props:['ownertable','status','ownerid','bindDataFile'],
   components:{
     upload,
     previewImage,

+ 4 - 2
src/components/normal-basic-layout-new/details/modules/followUp/editLog.vue

@@ -99,7 +99,9 @@
             btntype="icon"
             @onSuccess="onSuccess"
             :hidemediastock="false"
-            :bindData=" {ownertable: 'sys_datafollowup', ownerid: data.sys_datafollowupid,usetype: 'default'}">
+            :isFile="true"
+            :bindData=" {ownertable: 'sys_datafollowup', ownerid: data.sys_datafollowupid,usetype: 'default'}"
+            :bindDataFile="bindDataFile">
           </upload>
         </el-form>
       </div>
@@ -117,7 +119,7 @@ import previewImage from '@/components/previewImage/index.vue'
 import contactsList from '@/template/projectChange/contactsList.vue'
 import tableDataAdd from '@/components/tableDataAdd/index'
 export default {
-  props:['data','ownertable','status','ownerid','disabled','isOperation'],
+  props:['data','ownertable','status','ownerid','disabled','isOperation','bindDataFile'],
   components:{
     upload,
     previewImage,

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

@@ -7,7 +7,7 @@
       </div>
       <div style="display: flex;justify-content: space-between">
         <el-button type="default" size="mini" @click="onMore('查看更多')" class="inline-16">{{$t(`查看更多`)}}</el-button>
-        <addLog :ownertable="ownertable" @onSuccess="queryLogs" :status="status"></addLog>
+        <addLog :ownertable="ownertable" @onSuccess="queryLogs" :status="status" :bindDataFile="bindData"></addLog>
       </div>
     </div>
     <div style="padding: 0 10px 0 10px">
@@ -185,7 +185,7 @@
             </div>
             <div>
               <marketingExpenses  v-if="$route.path === '/projectChangeDetail' || $route.path === '/customerDetail' || $route.path === '/PublicCustomerDetail' || $route.path === '/phonebookDetail'"  class="inline-16" :ownertable="i.ownertable" :ownerid="i.sys_datafollowupid" :dataTime="i.createdate" :userid="i.createuserid" @onSuccess="onSuccess"></marketingExpenses>
-              <editLog v-if="nowUserid === i.createuserid" :status="status" ref="edits" :data="i" :ownertable="ownertable" @onSuccess="queryLogs"></editLog>
+              <editLog v-if="nowUserid === i.createuserid" :status="status" ref="edits" :data="i" :ownertable="ownertable" @onSuccess="queryLogs" :bindDataFile="bindData"></editLog>
               <el-popconfirm
                   :confirm-button-text="$t('确定')" :cancel-button-text="$t('取消')"
                   :title="$t('确定删除该跟进动态吗')+'?'"
@@ -211,7 +211,7 @@ import addLog from './addLog.vue'
 import editLog from './editLog.vue'
 import marketingExpenses from '@/components/marketingExpenses/index'
 export default {
-  props:['ownertable','status'],
+  props:['ownertable','status','bindData'],
   components:{
     addLog,
     editLog,

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

@@ -96,7 +96,7 @@
           <group v-if="activeApp.isdatateam" :isGroup="isGroup" :status="status" :disabled="disabled" ref="group" style="margin-bottom:10px"  :justsaler="justsaler" :ownertable="ownertable?ownertable:idname.slice(0, this.idname.length - 2)" @onSuccess="onSuccess" @teamList="teamList">
             <el-button slot="collapse" type="text" icon="el-icon-s-unfold" class="inline-16" @click="onCollapse"></el-button>
           </group>
-          <follow-up v-if="activeApp.isdatafollowup" :status="status" ref="follow" :disabled="disabled" :ownertable="ownertable?ownertable:idname.slice(0, this.idname.length - 2)" :editData="editData" :idname="idname" @logSuccess="logSuccess" @onMore="onMore">
+          <follow-up v-if="activeApp.isdatafollowup" :status="status" ref="follow" :disabled="disabled" :ownertable="ownertable?ownertable:idname.slice(0, this.idname.length - 2)" :editData="editData" :idname="idname" @logSuccess="logSuccess" @onMore="onMore" :bindData="{ ownertable: ownertable, ownerid: editData[idname], usetype: 'default' }">
             <el-button slot="collapse" type="text" icon="el-icon-s-unfold" class="inline-16" @click="onCollapse"></el-button>
           </follow-up>
         </el-col>

+ 3 - 1
src/components/normal-basic-layout/details/modules/followUp/addLog.vue

@@ -49,6 +49,8 @@
               @uploadEnd="loading = false"
               @onSuccess="onSuccess"
               :bindData="bindData"
+              :bindDataFile="bindDataFile"
+              :isFile="true"
               type="button">
             </upload>
             <!-- <previewImage :image="{}" :deletebtn="true"></previewImage> -->
@@ -69,7 +71,7 @@ import upload from '@/components/upload/preview_upload.vue'
 import previewImage from '@/components/previewImage/index.vue'
 import contactsList from '@/template/projectChange/contactsList.vue'
 export default {
-  props:['ownertable','status','disabled'],
+  props:['ownertable','status','disabled','bindDataFile'],
   components:{
     upload,
     previewImage,

+ 5 - 4
src/components/normal-basic-layout/details/modules/followUp/editLog.vue

@@ -60,7 +60,9 @@
             btntype="icon"
             @onSuccess="onSuccess"
             :hidemediastock="false"
-            :bindData=" {ownertable: 'sys_datafollowup', ownerid: data.sys_datafollowupid,usetype: 'default'}">
+            :isFile="true"
+            :bindData=" {ownertable: 'sys_datafollowup', ownerid: data.sys_datafollowupid,usetype: 'default'}"
+            :bindDataFile="bindDataFile">
           </upload>
         </el-form>
       </div>
@@ -77,7 +79,7 @@ import upload from '@/components/upload/hw_obs_upload.vue'
 import previewImage from '@/components/previewImage/index.vue'
 import contactsList from '@/template/projectChange/contactsList.vue'
 export default {
-  props:['data','ownertable','status','disabled','isOperation'],
+  props:['data','ownertable','status','disabled','isOperation','bindDataFile'],
   components:{
     upload,
     previewImage,
@@ -108,6 +110,7 @@ export default {
       this.form = Object.assign({},this.form,this.data)
       console.log(this.form,'表单数据')
       this.selectTag = this.form.contacts
+      this.form.dataextendContactsid = this.form.dataextend.contactsid
       this.queryFollowUpType()
     },
     /*获取跟进类型*/
@@ -192,8 +195,6 @@ export default {
       this.selectTag = row
       this.form.dataextend.contactsid = row.map(item=>item.sys_phonebookid)
       this.form.dataextendContactsid = this.form.dataextend.contactsid
-      console.log(this.form.dataextend.contactsid,'33333')
-      console.log(this.form.dataextendContactsid)
       this.$refs.form.validateField('dataextendContactsid')
     },
     closeTag(row){

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

@@ -8,7 +8,7 @@
       <div style="display: flex;justify-content: space-between">
 <!--        <fullScreen class="inline-16" domId="containerFull" @onFull="onFull" @backFull="backFull"></fullScreen>-->
         <el-button type="default" size="mini" @click="onMore('查看更多')" class="inline-16">{{$t(`查看更多`)}}</el-button>
-        <addLog :ownertable="ownertable" @onSuccess="queryLogs" :status="status" :disabled="disabled"></addLog>
+        <addLog :ownertable="ownertable" @onSuccess="queryLogs" :status="status" :disabled="disabled" :bindDataFile="bindData" ></addLog>
       </div>
     </div>
     <div style="padding: 0 10px 0 10px">
@@ -186,7 +186,7 @@
             </div>
             <div>
               <marketingExpenses  v-if="($route.path === '/projectChangeDetail' || $route.path === '/customerDetail' || $route.path === '/PublicCustomerDetail') && !disabled"  class="inline-16" ownertable="sa_customers" :ownerid="i.sys_datafollowupid" :dataTime="i.createdate" :userid="i.createuserid" @onSuccess="onSuccess" :ownertable="ownertable"></marketingExpenses>
-              <editLog v-if="nowUserid === i.createuserid && !disabled" :status="status" ref="edits" :data="i" :ownertable="ownertable" @onSuccess="queryLogs"></editLog>
+              <editLog v-if="nowUserid === i.createuserid && !disabled" :status="status" ref="edits" :data="i" :ownertable="ownertable" @onSuccess="queryLogs" :bindDataFile="bindData"></editLog>
               <el-popconfirm
                   :confirm-button-text="$t('确定')" :cancel-button-text="$t('取消')"
                   :title="$t(`确定删除该跟进动态吗?`)"
@@ -212,7 +212,7 @@ import addLog from './addLog.vue'
 import editLog from './editLog.vue'
 import marketingExpenses from '@/components/marketingExpenses/index'
 export default {
-  props:['ownertable','status','disabled'],
+  props:['ownertable','status','disabled','bindData'],
   components:{
     addLog,
     editLog,

+ 57 - 15
src/components/upload/hw_obs_upload.vue

@@ -67,7 +67,7 @@ export default {
     bindData:附件上传成功后对应需要绑定的数据信息,
     hidemediastock:是否隐藏媒体库选择
   */
-  props:['folderid','btntype','accept','bindData','hidemediastock','status','disabled','attachmentDisabled'],
+  props:['folderid','btntype','accept','bindData','hidemediastock','status','disabled','attachmentDisabled','bindDataFile','isFile'],
   components:{
     selectMedia
   },
@@ -85,33 +85,47 @@ export default {
       },
       file: {},
       filelist: [],
+      fileListNew: [],
       count:0
     }
   },
   methods: {
-    handleChange (file, filelist) {
-      console.log(file)
-      this.$emit('upload')
+    handleChange (file, filelist,type) {
+      this.file = file
       this.filelist = filelist
+      console.log(this.filelist,'FILE4444')
+      if (type != '附件'){
+        this.$emit('upload')
+      }
       var index = file.raw.name.lastIndexOf(".");
       var ext = file.name.substr(index + 1);
       this.params.content.filename = file.raw.name
       this.params.content.filetype = ext
-      this.getUploadUrl(file, ext)
+      this.getUploadUrl(file, ext,type)
     },
+    toUpload (type) {
+      console.log(this.fileListNew)
+      this.fileListNew.forEach(file=>{
+        let index = file.name.lastIndexOf(".");
+        let ext = file.name.substr(index + 1);
+        this.params.content.filename = file.name
+        this.params.content.filetype = ext
+        this.getUploadUrl(file, ext,type)
+      })
 
+    },
     // 获取华为云上传地址
-    async getUploadUrl (file, ext) {
+    async getUploadUrl (file, ext,type) {
       this.params.content.parentid = this.folderid
       const res = await this.$api.requested(this.params)
       let url = res.data.uploadurl
       let obsfilename = res.data.serialfilename
 
-      this.upoladFileToServer(url, file, ext, obsfilename)
+      this.upoladFileToServer(url, file, ext, obsfilename,type)
     },
 
     // 上传到华为云
-    async upoladFileToServer (url, file, ext, obsfilename) {
+    async upoladFileToServer (url, file, ext, obsfilename,type) {
       console.log(file)
       let THIS = this
       let config = {
@@ -127,11 +141,17 @@ export default {
         },
       }
       const res = await this.$upload.hw_upload(url, file.raw, config)
-      this.createFileRecord(obsfilename)
+      if (type == '附件'){
+        this.createFileRecordNew(obsfilename)
+      }else {
+        this.createFileRecord(obsfilename)
+      }
+
     },
 
     // 上传成功以后生成附件记录
     async createFileRecord (obsfilename,attinfos) {
+      this.fileListNew = []
       let obj = {
          "serialfilename": obsfilename
       }
@@ -145,17 +165,39 @@ export default {
       this.count++
       console.log(this.count);
       if (this.count == this.filelist.length) {
-        this.$emit('onSuccess',res)
-        this.count = 0
-        this.$refs['my-upload'].clearFiles()
-        this.filelist = []
-        console.log('触发');
+        this.fileListNew = this.filelist
+        if (this.isFile){
+          this.$emit('onSuccess',res)
+          this.count = 0
+          this.$refs['my-upload'].clearFiles()
+          this.filelist = []
+          console.log('触发');
+          this.toUpload('附件')
+        }else {
+          this.$emit('onSuccess',res)
+          this.count = 0
+          this.$refs['my-upload'].clearFiles()
+          this.filelist = []
+          console.log('触发');
+        }
+
       }
       // if (res.code ===  1) {
       //   this.$emit('onSuccess',res)
       // }
     },
-
+    async createFileRecordNew(obsfilename,attinfos){
+      let obj = {
+        "serialfilename": obsfilename
+      }
+      obj = Object.assign({},obj,this.bindDataFile)
+      let param = {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "uploadSuccess",
+        "content":obj
+      }
+      const res = await this.$api.requested(param)
+    },
     clearFiles () {
       this.$refs['my-upload'].clearFiles()
       this.filelist = []

+ 36 - 9
src/components/upload/preview_upload.vue

@@ -44,7 +44,7 @@
 
 <script>
 export default {
-  props:['folderid','bindData','type','accept'],
+  props:['folderid','bindData','type','accept','bindDataFile','isFile'],
   data() {
     return {
       imageUrl:'',
@@ -59,6 +59,7 @@ export default {
           "parentid": ""//归属文件夹ID
         }
       },
+      count:0
     };
   },
   methods: {
@@ -93,36 +94,42 @@ export default {
         }
       })
     },
-    toUpload () {
+    toUpload (type) {
       console.log(this.fileList)
       this.fileList.forEach(file=>{
         let index = file.name.lastIndexOf(".");
         let ext = file.name.substr(index + 1);
         this.params.content.filename = file.name
         this.params.content.filetype = ext
-        this.getUploadUrl(file, ext)
+        this.getUploadUrl(file, ext,type)
       })
 
     },
 
     // 获取华为云上传地址
-    async getUploadUrl (file, ext) {
+    async getUploadUrl (file,ext,type) {
       this.params.content.parentid = this.folderid
       const res = await this.$api.requested(this.params)
       let url = res.data.uploadurl
       let obsfilename = res.data.serialfilename
 
-      this.upoladFileToServer(url, file, ext, obsfilename)
+      this.upoladFileToServer(url, file, ext, obsfilename,type)
     },
 
     // 上传到华为云
-    async upoladFileToServer (url, file, ext, obsfilename) {
+    async upoladFileToServer (url, file, ext, obsfilename,type) {
       let THIS = this
       let config = {
         headers: ext === 'pdf' ? { 'Content-Type': 'application/pdf' } : ext === 'svg'?{ 'Content-Type': 'image/svg+xml' } : { 'Content-Type': 'application/octet-stream' },
       }
       const res = await this.$upload.hw_upload(url, file.raw, config)
-      this.createFileRecord(obsfilename)
+      if (type == '附件'){
+        this.createNewFileRecord(obsfilename)
+      }else {
+        this.count = 0
+        this.createFileRecord(obsfilename)
+      }
+
     },
 
     // 上传成功以后生成附件记录
@@ -143,9 +150,29 @@ export default {
         this.fileLinkList = []
         this.$refs.upload.clearFiles()
       }
-      console.log(this.fileList)
-
+      // this.$nextTick(()=>{
+      //   this.toUpload('附件')
+      // })
+      this.count = this.count + 1
+      if (this.count == this.fileList.length && this.isFile){
+        this.toUpload('附件')
+      }
     },
+    async createNewFileRecord(obsfilename){
+      let obj = {
+        "serialfilename": obsfilename
+      }
+      obj = Object.assign({},obj,this.bindDataFile)
+      let param = {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "uploadSuccess",
+        "content":obj
+      }
+      const res = await this.$api.requested(param)
+      if (res.code ===  1) {
+
+      }
+    }
   }
 }