Bladeren bron

添加追踪报告及登记事项结果

zhuliu 2 jaren geleden
bovenliggende
commit
6e78bf963d

+ 65 - 5
RMS-FrontEnd/src/views/report/components/CreateReport.vue

@@ -16,7 +16,7 @@
             <el-form-item label="报告名称" prop="name">
               <el-input v-model="form.name" autocomplete="off" placeholder="请输入报告名称"></el-input>
             </el-form-item>
-            <el-form-item label="是否完成" v-if="!form.id"> 
+            <el-form-item label="是否完成" v-show="!form.id"> 
               <el-switch
                 v-model="form.status"
                 active-color="#13ce66"
@@ -71,15 +71,19 @@
             <el-form-item label="产品/技术">
               <el-input v-model="form.proTec" autocomplete="off" placeholder="请输入产品/技术"></el-input>
             </el-form-item>
-            <el-form-item label="应用场景" prop="easFlag" >
+            <el-form-item label="应用场景">
               <el-select v-model="form.scenarioList" multiple clearable placeholder="请选择应用场景" :popper-append-to-body="false">
                 <el-option v-for="item in dictsFromPASList" :key="item.id" :label="item.label" :value="item.value"></el-option>
               </el-select>
-              
             </el-form-item>
             <el-form-item label="关联报告">
               <el-input v-model="form.associateReportName" autocomplete="off" placeholder="请输入关联报告"></el-input>
             </el-form-item>
+            <el-form-item label="需要复制的选项" v-show="form.track">
+              <el-select v-model="form.copyIds" multiple clearable placeholder="请选择需要复制的选项" :popper-append-to-body="false" @change="changeCopyIds">
+                <el-option v-for="item in copyList" :key="item.dictChildValue" :label="item.dictChildLabel" :value="item.dictChildValue"></el-option>
+              </el-select>
+            </el-form-item>
             <el-form-item label="卷号" prop="volumeNumber" >
               <el-input v-model="form.volumeNumber" autocomplete="off" placeholder="请输入卷号"></el-input>
             </el-form-item>
@@ -269,6 +273,16 @@ export default {
         "4":"TORT_ASSESS",
         "5":"AVOID_ASSESS",
       },
+      reportAsDicItemCopy:{
+        "0":"INVALID_COPY",
+        "1":"THIRD_COPY",
+        "2":"STABILITY_COPY",
+        "3":"FTO_COPY",
+        "4":"TORT_COPY",
+        "5":"AVOID_COPY",
+      },
+      copyList:[],
+      copyIndex:{},
       conclusion:[],
       rules: {//校验,
         name: [{ required: true, message: '请输入报告名称', trigger: 'blur' },],
@@ -584,6 +598,38 @@ export default {
         this.dictsFromPASList = response.data
       })
     },
+    //修改需要复制的选项
+    changeCopyIds(val){
+      if(Object.keys(this.copyIndex).length>0){
+        var index = this.copyList.findIndex(item=>{
+          return item.dictChildLabel == '对比文件'
+        })
+        if(index!=-1){
+          var id = this.copyList[index].dictChildValue
+          var index2 = this.copyList.findIndex(item=>{
+              return item.dictChildLabel == '标引信息'
+            })
+          if(val.indexOf(id)!=-1){
+            if(index2==-1){
+              this.copyList.splice(index,0,this.copyIndex)
+            }
+          }else{
+            if(index2!=-1){
+              this.copyList.splice(index2,1)
+            }
+          }
+        }else{
+
+        }
+      }
+      // var index = this.copyList.findIndex(item=>{
+        //   return item.dictChildLabel == '标引信息'
+        // })
+        // if(index!=-1){
+        //   this.copyIndex = this.copyList[index]
+        //   this.copyList.splice(index,1)
+        // }
+    },
     //接收创建报告类型
     open(row,dictMessage) {
       this.tenantType = this.userinfo.tenantType
@@ -603,6 +649,19 @@ export default {
       }
       var reportType = this.dictMessage.REPORT_TYPE.filter(item=>{return item.dictChildValue == this.form.type})[0].dictChildLabel
       this.title = a + reportType + '报告'
+      if(row.track){
+        this.title = '添加追踪报告'
+        this.copyList = this.dictMessage[this.reportAsDicItemCopy[this.form.type]]
+        var index = this.copyList.findIndex(item=>{
+          return item.dictChildLabel == '标引信息'
+        })
+        if(index!=-1){
+          this.copyIndex = this.copyList[index]
+          // this.copyList.splice(index,1)
+        }
+        var arr = this.copyList?this.copyList.map(item=>{return item.dictChildValue}):[]
+        this.$set(this.form,'copyIds',arr)
+      }
       if(this.form.signPatentNo ){
         this.$set(this.form,'name',this.form.signPatentNo + reportType)
       }
@@ -636,7 +695,7 @@ export default {
         if (valid) {
           this.loading = false
           if(!this.form.id){
-            if(this.form.status != 3){
+            if(this.form.status == 3){
               let formData = new FormData()
               if(this.file){
                 for (var i = 0; i < this.file.length; i++) {
@@ -735,11 +794,12 @@ export default {
     },
     // 弹出框关闭
     handleClose() {
+      this.copyIndex = {}
       this.matterType = null
       this.$refs.upload.clearFiles()
       this.file = []
+      this.$refs.reportForm.resetFields();
       this.showDialog = false
-      // this.$refs.reportForm.resetFields();
       this.show = 0
       this.form = {}
     },

+ 13 - 5
RMS-FrontEnd/src/views/report/components/matter/addMatter.vue

@@ -15,11 +15,11 @@
             placeholder="请输入后续跟进事项名称"
           ></el-input>
         </el-form-item>
-        <el-form-item label="描述" prop="describe">
+        <el-form-item label="描述" prop="remark">
           <el-input
             type="textarea"
             :rows="1"
-            v-model="formData[0].describe"
+            v-model="formData[0].remark"
             autocomplete="off"
             placeholder="请输入后续跟进事项描述"
           ></el-input>
@@ -117,7 +117,7 @@
                 style="width: 100%"
                 v-model="scope.row.timeLimit"
                 type="datetime"
-                format="yyyy-MM-dd HH:mm:ss"
+                value-format="yyyy-MM-dd HH:mm:ss"
                 placeholder="选择日期时间"
               >
               </el-date-picker>
@@ -147,6 +147,7 @@ export default {
     return {
       formData: [
         {
+          reportId:this.reportId,
             followUpName:'',
             remark:'',
             agent:'',
@@ -243,10 +244,17 @@ export default {
     submitForm1(){
         var list = []
         var b = false
+        var keyList={
+          followUpName:'',
+          remark:'',
+          agent:'',
+          assistPerson:'',
+          timeLimit:''
+        }
         this.formData.forEach(item=>{
             var a = false
-            for(let key in item){
-                if(item[key]!=''){
+            for(let key in keyList){
+                if(item[key] !='' ){
                     a = true
                 }
             }

+ 43 - 9
RMS-FrontEnd/src/views/report/components/matter/remarryMatter.vue

@@ -11,7 +11,8 @@
         </div>
         <el-table
             :data="tableData"
-            height="250"
+            :height="tableHeight"
+            ref="table"
             border
             style="width: 100%">
                 <el-table-column prop="followUpName" label="名称"  align="center"></el-table-column>
@@ -19,7 +20,7 @@
                 <el-table-column prop="timeLimit" label="期限" align="center"></el-table-column>
                 <el-table-column prop="agent" label="处理人" align="center"></el-table-column>
                 <el-table-column prop="assistPerson" label="协办人" align="center"></el-table-column>
-                <el-table-column prop="createName" label="创建人" align="center"></el-table-column>
+                <el-table-column prop="createPersonName" label="创建人" align="center"></el-table-column>
                 <el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
                 <el-table-column prop="finishTime" label="完成时间" align="center"></el-table-column>
                 <el-table-column prop="status" label="状态" align="center"></el-table-column>
@@ -90,7 +91,7 @@
                         </el-upload>
                     </el-form-item>
                 </el-form>
-                <addMatter :type="type" :sign="matterSign" @value="getMatter" v-if="registerForm.type==1"></addMatter>
+                <addMatter :type="type" :reportId="reportId" :sign="matterSign" @value="getMatter" v-if="registerForm.type==1"></addMatter>
             </div>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="closeRegister">取 消</el-button>
@@ -110,6 +111,7 @@ export default {
     props:['reportId'],
     data() {
         return {
+            tableHeight:null,
             title:'',
             dialogVisible:false,
             row:null,
@@ -133,12 +135,32 @@ export default {
         this.getList()
     },
     methods: {
+        //设置表格高度
+        setHeight() {
+            const offsetTop = window.innerHeight - this.$refs.table.$el.offsetTop - 200
+            const body = document.querySelector('.el-table__body')
+            if (!body) {
+                return false
+            }
+            const offsetBodyHeight = body.offsetHeight
+            if (this.tableData.length && offsetBodyHeight < offsetTop) {
+                this.tableHeight = offsetBodyHeight + 75
+            } else if (!this.tableData.length) {
+                this.tableHeight = null
+            } else {
+                this.tableHeight = offsetTop
+            }
+            this.tableHeight = this.tableHeight>300?this.tableHeight:300
+        },
         //查询后续跟进事项
         getList(){
             this.$api.queryMatters(this.queryParams).then(response=>{
                 if(response.code==200){
-
+                    this.tableData = response.data.list
+                    this.total = response.data.total
                 }
+            }).catch(error=>{
+                this.tableData= [] 
             })
         },
         // 分页
@@ -146,7 +168,7 @@ export default {
             this.queryParams.current = val
             this.getList()
         },
-        //打开添加后续跟进事项弹窗
+        //新增后续跟进事项的选项
         handleCommand(e){
             switch(e){
                 case '1':
@@ -157,6 +179,7 @@ export default {
                     break;
             }
         },
+        //打开新增后续跟进事项弹窗
         handleClick(type){
             if(type == 1){
                 this.title = '添加后续跟进事项'
@@ -337,12 +360,23 @@ export default {
         //更新后续跟进事项结果
         submitRegister(){
             this.matterSign = true
-            this.$api.register(this.registerForm).then(response=>{
-                if(response.code == 200){
-                    this.getList()
-                    this.closeRegister()
+            this.$nextTick(()=>{
+                let formData = new FormData()
+                if(this.file){
+                    for (var i = 0; i < this.file.length; i++) {
+                    formData.append("files", this.file[i]);
+                    }
                 }
+                this.registerForm.followUpId = this.registerForm.id
+                formData.append('register',JSON.stringify(this.registerForm))
+                this.$api.register(formData).then(response=>{
+                    if(response.code == 200){
+                        this.getList()
+                        this.closeRegister()
+                    }
+                })
             })
+           
         }
     },
 }

+ 9 - 1
RMS-FrontEnd/src/views/report/index.vue

@@ -322,7 +322,7 @@ export default {
             this.completeReport(row)
             break
         case '12'://追踪报告
-            
+            this.trackReport(row)
         // associateReportName:this.row.volumeNumber?this.row.volumeNumber:this.row.name,
         //         associateReportId:this.reportId
             break
@@ -331,6 +331,14 @@ export default {
           break
       }
     },
+    //追踪报告
+    trackReport(row){
+      var form = JSON.parse(JSON.stringify(row))
+      this.$set(form,'associateReportName',row.volumeNumber?row.volumeNumber:row.name)
+      this.$set(form,'associateReportId',row.id)
+      form.track = true
+      this.$refs.ReportForm.open(form)
+    },
     //关闭分享抽屉
     closeDrawer(){
       this.drawer  = false