Ver código fonte

Merge branch 'product' of http://1.116.113.26:8088/zhuliu/xiaoshi_system into product

zhuliu 1 ano atrás
pai
commit
f8c81fbe9c

+ 1 - 1
src/views/product/components/index.vue

@@ -147,7 +147,7 @@ export default {
     chooseItem({row,type}){
       this.$emit('chooseItem',{row,type})
     },
-
+    
     //获取检索字段以及分组字段
     async getColumn() {
       let params = ['productCategory']

+ 6 - 3
src/views/project/patentCollection/components/mixins/index.js

@@ -84,7 +84,10 @@ export const handleData = {
       type: Array
     },
     patentNoList:{
-      type: Array
+      type: Array,
+      default: () => {
+        return []
+      }
     }
   },
   data() {
@@ -191,7 +194,7 @@ export const handleData = {
         if(this.projectId){
           this.patentNoList.push(patent.patentNo)
         }else{
-          this.patentNoList.push(patent.applicationNo)
+          this.patentNoList.push(patent.appNo)
         }
         
       } else {
@@ -205,7 +208,7 @@ export const handleData = {
             this.selected.splice(index, 1)
           }
       }
-     
+      
       this.$emit('select-change', this.selected)
       this.$emit('addSelect',patent.applicationNo)
     },

+ 188 - 50
src/views/report/components/allocationTask/components/allocationTask.vue

@@ -62,12 +62,15 @@
     </el-dialog>
 
 
+    <!-- 选择人员 -->
     <personList ref="personList" @getPersonIds="getPersonIds"></personList>
+    <!-- 选择专利 -->
     <checkPatent ref="checkPatent" @checkPatentList="checkPatentList"></checkPatent>
   </div>
 </template>
 
 <script>
+import { mapGetters } from 'vuex'
 import personList from '@/views/components/dialog/person.vue'
 import checkPatent from '../../checkPatent/checkPatent.vue'
 export default {
@@ -98,36 +101,12 @@ export default {
       // 任务类型
       taskType: "2",
       // 表格数据源
-      tableData: [{
-        "id": 351,
-        "name": "朱豪",
-        "gender": 1,
-        "email": "chendayuya@163.com",
-        "tenant": 7,
-        "positions": [],
-        "group": [],
-        "role": [
-          60,
-          96
-        ],
-        "roleList": [
-          {
-            "id": 60,
-            "name": "开发人员",
-            "roleType": 0
-          },
-          {
-            "id": 96,
-            "name": "测试",
-            "roleType": 0
-          }
-        ],
-        "state": 1,
-        "username": "zhuhao",
-        "password": "e424f3cc4f8138f0f68bef092b92212f",
-        "qqNumber": "2232623707",
-        "tenantName": "测试"
-      }],
+      tableData: [],
+      // 分页信息
+      queryParams: {
+        current: 1,
+        size: 10,
+      },
       // 表格的loading
       loading: false,
       // 编辑时候的数字
@@ -136,15 +115,15 @@ export default {
       dialogVisible: false,
       // 倒计时初始值
       countdown: 3,
+      //是否点击平均分配
+      isEqually:true,
       // 完成???
       params: {},
 
     }
   },
   computed: {
-    userInfo() {
-      return
-    },
+    ...mapGetters(['webSocket', 'userinfo']),
   },
   watch: {
 
@@ -152,14 +131,40 @@ export default {
   created() {
 
   },
-  mounted() {
-
-
+  async mounted() {
+    await this.getList()
+    this.getUser()
   },
   methods: {
+    //获取专利列表
+    async getList() {
+      let params = {
+        ...this.queryParams,//分页信息
+        projectId: this.projectId,
+        searchQuery: '',//检索条件
+        orderDTOList: [],//排序信息
+      }
+      await this.$api.QueryPatent(params).then(res => {
+        if (res.code == 200) {
+          this.totalNumber = res.data.total
+          this.leaveNumber = res.data.total
+        }
+      }).catch(error => {
+        this.totalNumber = 0
+        this.leaveNumber = 0
+      })
+    },
+    getUser() {
+      let user = JSON.parse(JSON.stringify(this.userinfo))
+      user.assignCount = this.totalNumber
+      user.vVisible = true
+      user.isChoose = false
+      user.isEdit = false
+      this.tableData.push(user)
+    },
     // 点击直接跳转页面
     toRouter() {
-      this.$router.replace("/admin/rManage");
+      // this.$router.replace("/admin/rManage");
     },
     // 关闭温馨提示的弹窗
     handleClose() {
@@ -167,7 +172,12 @@ export default {
     },
     //移除人员
     removePerson(row) {
-
+      let index = this.tableData.findIndex(item => {
+        return item.id == row.id
+      })
+      if (index != -1) {
+        this.tableData.splice(index, 1)
+      }
     },
     // 取消
     cancelChoose(row) {
@@ -180,18 +190,85 @@ export default {
     // 子组件选择的专利号数组数据 
     checkPatentList(val) {
       console.log(val);
+      if (val.length > 0) {
+        var index = this.tableData.findIndex(item => {
+          return item.id == this.personIdS
+        })
+        if (index != -1) {
+          var data = JSON.parse(JSON.stringify(this.tableData))
+          data[index].patentNos = val
+          data[index].isChoose = true
+          data[index].assignCount = val.length
+          this.tableData = data
+          var a = 0
+          for (var i = 0; i < this.tableData.length; i++) {
+            if (this.tableData[i].isChoose == true || this.tableData[i].isEdit == true) {
+              a = Number(a) + Number(this.tableData[i].assignCount)
+            }
+          }
+          if (a > this.totalNumber) {
+            data[index].patentNos = []
+            data[index].isChoose = false
+            data[index].assignCount = 0
+          } else {
+            this.leaveNumber = Number(this.totalNumber) - Number(a)
+          }
+          // this.leaveNumber = this.leaveNumber - this.patentCheck.length
+
+          if (this.isEqually) {
+            this.beforeHandleConfirm()
+          }
+        }
+      }
+    },
+    // 公用方法
+    beforeHandleConfirm() {
+      if (this.tableData.length > 0) {
+        var data = JSON.parse(JSON.stringify(this.tableData))
+        for (var i = 0; i < data.length; i++) {
+          if (data[i].isChoose == false && data[i].isEdit == false) {
+            data[i].assignCount = 0
+          }
+        }
+        this.tableData = data
+        this.handleConfirm()
+      }
     },
     //编辑
     edit(row) {
-
+      this.num = row.assignCount
+      row.vVisible = !row.vVisible
+      this.tableData = JSON.parse(JSON.stringify(this.tableData))
     },
     //保存
     save(row) {
+      if (isNaN(row.assignCount)) {
+        this.$message.error('请输入数字')
+        return false
+      } else if (Number(row.assignCount) < 0 || Number(row.assignCount) + this.leaveNumber > this.totalNumber) {
+        this.$message.error('请输入正确数量')
+        return false
+      }
+      row.vVisible = !row.vVisible
+      var a = row.assignCount
+      row.isEdit = false
+      for (var i = 0; i < this.tableData.length; i++) {
+        if (this.tableData[i].isChoose == true || this.tableData[i].isEdit == true) {
+          a = Number(a) + Number(this.tableData[i].assignCount)
+        }
+      }
+      if (a > this.totalNumber) {
+        row.assignCount = this.num
+      } else {
+        if (row.assignCount != 0) {
+          row.isEdit = true
+        }
 
-    },
-    // 添加人员
-    showTask() {
-
+        this.leaveNumber = Number(this.totalNumber) - Number(a)
+      }
+      if (this.isEqually) {
+        this.beforeHandleConfirm()
+      }
     },
     //完成
     finish() {
@@ -203,18 +280,79 @@ export default {
     },
     //获取子组件返回的人员信息
     getPersonIds({ personIds, persons }) {
-      if (personIds.length > 0) {
-        // adminPersons存储返回的人员id数组
-        // this.$set(this.form, 'involvedPersons', persons)
-        // this.$set(this.form, 'involvedPersonsIds', personIds)
-      } else {
-        // this.$set(this.form, 'involvedPersons', [])
-        // this.$set(this.form, 'involvedPersonsIds', [])
+      if (persons.length > 0) {
+        persons.forEach(item => {
+          item.assignCount = 0
+          item.vVisible = true
+          if (this.tableData.length > 0) {
+            let index = this.tableData.findIndex(dataItem => {
+              return dataItem.id == item.id
+            })
+            if (index != -1) {
+              // this.tableData.splice(index,1)
+            } else {
+              this.tableData.push(item)
+            }
+          } else {
+            this.tableData.push(item)
+          }
+        });
+        console.log(this.tableData);
       }
     },
     // 平均分配
     handleConfirm() {
+      this.isEqually = true
+      if (this.tableData.length > 0) {
 
+        if (this.tableData.length == 1) {
+          // isChoose是否禁用编辑
+          if (this.tableData[0].isChoose == false && this.tableData[0].isEdit == false) {
+            this.tableData[0].assignCount = this.totalNumber
+            this.leaveNumber = 0
+          }
+          return true
+        }
+
+
+        var a = 0
+        for (var i = 0; i < this.tableData.length; i++) {
+          if (this.tableData[i].isChoose == true || this.tableData[i].isEdit == true) {
+            a = Number(a) + Number(this.tableData[i].assignCount)
+          } else {
+            this.tableData[i].assignCount = 0
+          }
+        }
+
+
+        this.leaveNumber = Number(this.totalNumber) - Number(a)
+        //console.log(this.leaveNumber,this.tableData);
+        var data = JSON.parse(JSON.stringify(this.tableData))
+        if (this.leaveNumber > 0) {
+          this.getRowNumber(data)
+        }
+        this.tableData = data
+      }
+    },
+    getRowNumber(data) {
+      var a = false
+      for (var i = 0; i < data.length; i++) {
+        if (this.leaveNumber > 0) {
+          if (data[i].isChoose == false && data[i].isEdit == false) {
+            a = true
+            data[i].assignCount += 1
+            this.leaveNumber -= 1
+          }
+        } else {
+          i = data.length
+        }
+      }
+
+      if (data.length > 1 && a) {
+        if (this.leaveNumber > 0) {
+          this.getRowNumber(data)
+        }
+      }
     },
 
   },

+ 61 - 51
src/views/report/components/checkPatent/checkPatent.vue

@@ -3,36 +3,14 @@
   <div>
     <el-dialog title="选择专利" :visible.sync="dialogVisible" width="800px" :before-close="handleClose">
 
-      <el-table :data="tableData" border v-loading="loading" style="min-width: 100%; overflow:auto">
-        <el-table-column width="80" align="center">
-          <template slot-scope="scope">
-            <div>
-              <el-checkbox-group v-model="selected" style="display:inline-block">
-                <el-checkbox :label="scope.row.patentNo" :disabled="scope.row.disabled"
-                  @change="getFunInfo(scope.row.patentNo)">
-                  <span>{{ (scope.$index + 1) + ((queryParams.current - 1) * queryParams.size) }}</span>
-                  <!-- <span v-else>{{ (scope.$index + 1) + ((queryParams.current - 1) * queryParams.size) }}</span> -->
-                </el-checkbox>
-              </el-checkbox-group>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column prop="patentNo" label="专利号" align="center" width="200px">
-          <template slot-scope="scope">
-            <div>
-              <el-link type="primary" @click="toPatentDetails(scope.row.patentNo)">{{ scope.row.patentNo }}</el-link>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column prop="name" label="专利标题" align="center" width="300px">
-        </el-table-column>
-        <el-table-column prop="simpleStatus" align="center" label="状态">
-        </el-table-column>
-      </el-table>
+      <Table :column="column" :tableData="tableData" :queryParams="queryParams" :refresh="true"
+        :patentNoList="patentNoList" :projectId="projectId"></Table>
 
-      <div style="text-align:center;margin-top:10px">
-        <el-pagination :current-page.sync="queryParams.current" :page-size="queryParams.size" :total="total"
-          @current-change="handleCurrentChange" layout="total, prev, pager, next, jumper" background></el-pagination>
+      <div style="text-align:center;margin-top:10px;">
+        <el-pagination background layout="total, sizes, prev, pager, next, jumper"
+          :current-page.sync="queryParams.current" :page-size.sync="queryParams.size"
+          @current-change="handleCurrentChange" @size-change="getList" :total="total">
+        </el-pagination>
       </div>
 
       <span slot="footer" class="dialog-footer">
@@ -44,11 +22,14 @@
 </template>
 
 <script>
-import { patentDetails } from '../mixins/index2'
+import Table from '@/views/project/patentCollection/components/views/Table.vue'
 export default {
-  mixins: [patentDetails],
+  components: {
+    Table
+  },
   data() {
     return {
+      projectId: '',
       // 控制弹窗的打开关闭
       dialogVisible: false,
       // 分页信息
@@ -62,53 +43,82 @@ export default {
       // 表格数据
       tableData: [],
       checkList: [],
+      // 表格栏位
+      column: [
+        {
+          createType: 1,
+          ifHidden: false,
+          ifSearch: false,
+          ifShow: true,
+          name: "专利号",
+          order: 0,
+          type: "String",
+          value: "patentNo",
+        },
+        {
+          createType: 1,
+          ifHidden: false,
+          ifSearch: false,
+          ifShow: true,
+          name: "标题",
+          order: 9,
+          type: "Object",
+          value: "title",
+        },
+        {
+          createType: 1,
+          ifHidden: false,
+          ifSearch: false,
+          ifShow: true,
+          name: "专利状态",
+          order: 19,
+          type: "String",
+          value: "SS",
+        },
+      ],
+      // 选中的数据
+      patentNoList: [],
     }
   },
   mounted() {
 
   },
   methods: {
+    // 打开弹窗
     open(projectId) {
-      // this.getList(projectId)
+      this.projectId = projectId
+      this.getList()
       this.dialogVisible = true
     },
     // 弹窗确定
     handleSure() {
-      this.$emit('checkPatentList', this.checkList)
+      this.$emit('checkPatentList', this.patentNoList)
       this.handleClose()
     },
     // 关闭弹窗
     handleClose() {
       this.dialogVisible = false
     },
-    // 获取勾选的专利的专利号
-    getFunInfo(patentNo) {
-      if (this.checkList.length > 0) {
-        let index = this.checkList.findIndex(item => {
-          return item == patentNo
-        })
-        if (index != -1) {
-          this.checkList.push(patentNo)
-        } else {
-          this.checkList.splice(index, 1)
-        }
-      } else {
-        this.checkList.push(patentNo)
-      }
-    },
+   
     // 分页信息
     handleCurrentChange(val) {
       this.queryParams.current = val,
         this.getList()
     },
-    getList(projectId) {
+    getList() {
       let params = {
-        projectId: projectId
+        ...this.queryParams,//分页信息
+        projectId: this.projectId,
+        searchQuery: '',//检索条件
+        orderDTOList: [],//排序信息
       }
-      this.$api.query(params).then(res => {
+      this.$api.QueryPatent(params).then(res => {
         if (res.code == 200) {
           this.tableData = res.data.data
+          this.total = res.data.total
         }
+      }).catch(error => {
+        this.total = 0
       })
     },
   },

+ 2 - 2
src/views/report/components/patentList/patentList.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="height_100">
     <div class="height_100" style="display:flex">
-      <div class="height_100" :style="{width:showRight?'calc( 100% - 200px )':'100%'}">
+      <div class="height_100" :style="{width:showRight?'calc( 100% - 300px )':'100%'}">
         <el-container>
           <el-header style="padding:0 10px !important;">
             <div id="step1">
@@ -47,7 +47,7 @@
           </el-footer>
         </el-container>
       </div>
-      <div class="height_100 right" v-if="showRight" :style="{'min-width':showRight?'200px':'0px'}">
+      <div class="height_100 right" v-if="showRight" :style="{'min-width':showRight?'300px':'0px'}">
         <customFields :projectId="projectId"></customFields>
       </div>
     </div>

+ 164 - 34
src/views/report/components/patentListTask/components/customFields.vue

@@ -13,9 +13,8 @@
       <el-main class="patent-tree-filter-main">
         <template v-if="field.length > 0">
           <el-collapse v-model="activeNames" @change="handleChange" style="margin: 0px 5px 0px 5px;">
-            <el-collapse-item v-for="item in field" :title="item.name" :name="item.id" :key="item.id"
-              v-if="sourceQuery[item.id] && item.type != 2">
-              <div class="patent-query-filter-search">
+            <el-collapse-item v-for="item in field" :title="item.name" :name="item.id" :key="item.id" :loading="loading">
+              <!-- <div class="patent-query-filter-search">
                 <div class="patent-query-filter-search-input">
                   <el-input v-if="item.type != 6" v-model="sourceQuery[item.id].name" size="small"
                     placeholder="请输入查询内容"></el-input>
@@ -29,30 +28,62 @@
                 </div>
                 <el-button v-if="item.type != 6" @click="handleSearch(item)" size="small" type="primary"
                   icon="el-icon-search" circle></el-button>
+              </div> -->
+              <!-- 日期 -->
+              <div v-if="item.type != 6" style="display:flex">
+                <el-input v-if="[0,4,5].includes(item.type)" size="small"
+                    placeholder="请输入查询内容"></el-input>
+                <div v-if="[1].includes(item.type)" class="year-data-picker">
+                  <el-date-picker clear-icon size="small" type="year"
+                    value-format="yyyy" placeholder="请选择时间"></el-date-picker>
+                  <span style="margin: 5px;">至</span>
+                  <el-date-picker clear-icon size="small" type="year"
+                    value-format="yyyy" placeholder="请选择时间"></el-date-picker>
+                </div>
+                <el-button v-if="[0,1,4,5].includes(item.type)"  @click="handleSearch(item)" size="small" type="primary" class="margin-left_10"
+                  icon="el-icon-search" circle></el-button>
+              </div>
+              <!-- 数字 -->
+              <div v-if="item.type == 0">
+                <!-- <el-input type="textarea" :rows="2" placeholder="请输入内容"></el-input> -->
               </div>
-              <el-checkbox-group v-if="item.type != 6" v-model="sourceQuery[item.id].checked" @change="onChange(item.id)">
+              <!-- 文本 -->
+              <div v-if="item.type == 2">
+                <el-input type="textarea" :rows="2" v-model="valObj.description" placeholder="请输入内容"></el-input>
+              </div>
+              <!-- 单选 -->
+              <div v-if="item.type == 4">
+                <el-radio v-for="radio in item.options" :key="radio.id" v-model="valObj.radio"
+                  @change="radioChange($event, item.id)" :label="radio.id" style="width: 100%;">
+                  <span>{{ radio.name }}</span>
+                  <span v-if="isShowNum">({{ radio.count }})</span>
+                </el-radio>
+              </div>
+              <!-- 多选 -->
+              <el-checkbox-group v-if="item.type == 5" v-model="valObj.check" @change="onChange($event, item.id)">
                 <div class="source-checkbox">
-                  <el-checkbox v-for="source in sourceData[item.id]" :label="source.key" :key="source.id">
-                    <span class="source-checkbox-label" :title="source.label">{{ source.label }}</span>
-                    <span class="source-checkbox-count">({{ source.count }})</span>
+                  <el-checkbox v-for="source in item.options" :label="source.id" :key="source.id">
+                    <span class="source-checkbox-label" :title="source.name">{{ source.name }}</span>
+                    <span v-if="isShowNum" class="source-checkbox-count">({{ source.count }})</span>
                   </el-checkbox>
                 </div>
               </el-checkbox-group>
-
-              <el-tree v-else @check-change="onChangeTree" :ref="item.id" :data="item.option" show-checkbox node-key="id"
-                check-strictly default-expand-all>
+              <!-- 树类型 -->
+              <el-tree v-if="item.type == 6" @check-change="onChangeTree($event, item.id)" :ref="item.id"
+                :data="item.child" show-checkbox node-key="id" check-strictly default-expand-all
+                :props="{ children: 'child', label: 'name' }">
                 <div class="custom-filter-tree-node" slot-scope="{ node, data }">
                   <span class="name">{{ data.name }}</span>
-                  <span class="total">({{ getCount(item.id, data.id) }})</span>
+                  <span v-if="isShowNum" class="total">({{ getCount(item.id, data.id) }})</span>
                 </div>
               </el-tree>
 
-              <div class="patent-query-filter-search-bottom" v-if="item.type != 6">
+              <div class="patent-query-filter-search-bottom" v-if="item.type == 5">
                 <el-button type="success" size="small" @click="handleSelectAll(item)">全选</el-button>
                 <el-button type="danger" size="small" @click="handleSelectCancel(item)">取消</el-button>
-                <el-button v-if="!sourceQuery[item.id].isEnd" type="primary" size="small" @click="handleLoadMore(item)"
-                  :loading="sourceQuery[item.id].loading">加载更多</el-button>
-                <span v-else></span>
+                <!-- <el-button  type="primary" size="small" @click="handleLoadMore(item)"
+                  >加载更多</el-button> -->
+                <!-- <span v-else></span> -->
               </div>
             </el-collapse-item>
 
@@ -76,6 +107,16 @@ export default {
   props: {
     projectId: {
       default: 0
+    },
+    // 是否显示栏位相关专利数量
+    isShowNum: {
+      type: Boolean,
+      default: true
+    },
+    // 是否显示栏位
+    isShowCustom: {
+      type: Boolean,
+      default: true,
     }
   },
   data() {
@@ -83,31 +124,43 @@ export default {
       // isHidden: true,// 是都显示已读、未读、全部
       readList: [],//已读未读全部
       activeNames: '',//展示哪一个面板
+      // 面板的loading
+      loading: false,
       // 已读未读状态信息
       readStatus: {
         all: {
           label: "全部",
-          value:"3"
+          value: "3"
         },
-        read:  {
+        read: {
           label: "已读",
-          value:"1"
+          value: "1"
         },
-        noRead:  {
+        noRead: {
           label: "未读",
-          value:"0"
+          value: "0"
         },
-      },  
-      sourceQuery: [],
+      },
+      // sourceQuery: [],
       // 分页信息
       queryParams: {
         current: 1,
         size: 10,
-       
+
       },
       total: 0,
       // 自定义栏位
-      field:this.customFieldList||[]
+      field: [],
+      // 处理数据
+      valObj: {
+        treeArr: [],
+        check: [],
+        radio: '',
+        description: '',
+      },
+      // 总数据
+      customFields: [],
+
     }
   },
   watch: {
@@ -117,6 +170,8 @@ export default {
     this.getList()
   },
   methods: {
+    // 点击搜索自定义栏位的选项
+    handleSearch(val){},
     // 查询自定义栏位数据
     getList() {
       var params = {
@@ -124,10 +179,12 @@ export default {
         searchQuery: `projectId=${this.projectId}`,
         orderDTOList: [],
       }
+      this.loading = true
       this.$api.queryCustomField(params).then(response => {
         if (response.code == 200) {
           let data = response.data.data
           this.handleFiled(data)
+          this.loading = false
         }
       }).catch(error => {
         this.loading = false
@@ -135,32 +192,105 @@ export default {
     },
     handleFiled(data) {
       data.forEach(item => {
-        this.queryCustomOption(item.id)
+        this.queryCustomOption(item)
       })
     },
     // 查询自定义栏位选项数据
-    queryCustomOption(id) {
+    queryCustomOption(row) {
+
       let params = {
-        customFieldId: id,
+        customFieldId: row.id,
       }
       this.$api.queryCustomOption(params).then(response => {
         if (response.code == 200) {
-          console.log();  
+          if (row.type == 6) {//树类型
+            row.child = response.data.data
+          } else if (row.type == 5) {
+            row.options = response.data.data
+          } else if (row.type == 4) {
+            row.options = response.data.data
+          }
+          this.field.push(row)
         }
       }).catch(error => {
-        
+
       })
     },
+
+    // 处理树类型的文件数字
+    getCount(rowId, childId) { },
     // 加载更多
-    handleLoadMore(){},
+    // handleLoadMore() { },
     // 全选
-    handleSelectAll(){},
+    handleSelectAll(val) {
+      this.valObj.check = []
+      val.options.forEach(item => {
+        this.valObj.check.push(item.id)
+      })
+      let obj = {
+        [val.id]: this.valObj.check
+      }
+      this.handleFiledData(obj, val.id)
+    },
     // 取消
-    handleSelectCancel(){},
+    handleSelectCancel(val) {
+      this.valObj.check = []
+      let obj = {
+        [val.id]: []
+      }
+      this.handleFiledData(obj, val.id)
+    },
+    // 多选类型的change
+    onChange(filed, filedId) {
+      let obj = {
+        [filedId]: filed
+      }
+      this.handleFiledData(obj, filedId)
+    },
     // 点击节点发生的变化
-    onChangeTree(val){},
+    onChangeTree(filed, filedId) {//当前节点的数据,当前栏位的数据 
+      if (this.valObj.treeArr && this.valObj.treeArr.length > 0) {
+        let index = this.valObj.treeArr.findIndex(item => {
+          return item == filed.id
+        })
+        if (index != -1) {
+          this.valObj.treeArr.splice(index, 1)
+        } else {
+          this.valObj.treeArr.push(filed.id)
+        }
+      } else {
+        this.valObj.treeArr.push(filed.id)
+      }
+      let obj = {
+        [filedId]: this.valObj.treeArr
+      }
+      this.handleFiledData(obj, filedId)
+    },
+    // 单选的change
+    radioChange(filed, filedId) {
+      let obj = {
+        [filedId]: [filed]
+      }
+      this.handleFiledData(obj, filedId)
+    },
+    // 处理customFields中的数据
+    handleFiledData(obj, filedId) {
+      if (this.customFields && this.customFields.length > 0) {
+        this.customFields.forEach(item => {
+          for (let k in item) {
+            if (k == filedId) {
+              item[k] = obj[filedId]
+            } else {
+              this.customFields.push(obj)
+            }
+          }
+        })
+      } else {
+        this.customFields.push(obj)
+      }
+    },
     // 点击面版
-    handleChange(val){},
+    handleChange(val) { },
     // 点击已读、未读、全部
     handleReadQuery(val) { },