ソースを参照

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/modules/reimbursement/info/ReimbursementForm.vue
lizhenhao 2 年 前
コミット
36a53911cd

+ 8 - 0
src/api/flowable/TaskService.js

@@ -130,4 +130,12 @@ export default class TaskService {
       data: data
     })
   }
+
+  getTaskDefInfo (params) {
+    return request({
+      url: '/flowable/task/getTaskDefInfo',
+      method: 'get',
+      params: params
+    })
+  }
 }

+ 46 - 0
src/api/materialManagement/MaterialTypeService.js

@@ -0,0 +1,46 @@
+import request from '@/utils/httpRequest'
+
+export default class MaterialTypeService {
+  list (param) {
+    return request({
+      url: '/material/materialType/list',
+      method: 'get',
+      params: param
+    })
+  }
+  bxList (param) {
+    return request({
+      url: '/material/materialType/bxList',
+      method: 'get',
+      params: param
+    })
+  }
+  cgList (param) {
+    return request({
+      url: '/material/materialType/cgList',
+      method: 'get',
+      params: param
+    })
+  }
+  save (param) {
+    return request({
+      url: '/material/materialType/save',
+      method: 'post',
+      data: param
+    })
+  }
+  findById (id) {
+    return request({
+      url: '/material/materialType/findById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  remove (id) {
+    return request({
+      url: '/material/materialType/deleteById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+}

+ 2 - 0
src/views/modules/cw/reimbursementApproval/info/CwReimbursementTypePullForm.vue

@@ -86,6 +86,7 @@
     },
     methods: {
       init (like, deptName) {
+        console.log('进来了')
         console.log('like', like)
         if (like === '1') {
           this.like = '1'
@@ -93,6 +94,7 @@
           this.like = ''
         }
         this.officeId = deptName
+        console.log('this.officeId', this.officeId)
         this.visible = true
         this.list()
       },

+ 1 - 0
src/views/modules/flowable/task/TaskForm.vue

@@ -395,6 +395,7 @@
           this.$refs.form.reapplyForm((businessTable, businessId, inputForm) => {
             vars = {...vars, ...inputForm}
             console.log('param' + param)
+            console.log('inputForm' + inputForm)
             if (inputForm.procDefId) {
               param.procDefId = inputForm.procDefId
             }

+ 22 - 7
src/views/modules/materialManagement/collect/PurchasePageForm.vue

@@ -69,8 +69,9 @@
 
 <script>
   import InputNumber from '@/views/modules/sys/workContract/InputNumber.vue'
-  import CollectService from '@/api/materialManagement/CollectService'
+  // import CollectService from '@/api/materialManagement/CollectService'
   import SelectUserTree from '@/views/modules/utils/treeUserSelect'
+  import WareHouseService from '@/api/materialManagement/WareHouseService'
   export default {
     data () {
       return {
@@ -86,14 +87,17 @@
         },
         dataList: [],
         searchForm: {
-          wareHouseType: ''
+          wareHouseType: '',
+          tradeName: ''
         },
         typeTest: ''
       }
     },
-    collectService: null,
+    // collectService: null,
+    wareHouseService: null,
     created () {
-      this.collectService = new CollectService()
+      // this.collectService = new CollectService()
+      this.wareHouseService = new WareHouseService()
     },
     components: {
       SelectUserTree,
@@ -103,7 +107,7 @@
       init (collectType) {
         this.visible = true
         this.typeTest = collectType
-        this.list(collectType)
+        this.list()
       },
       // 表单提交
       getProject () {
@@ -115,12 +119,22 @@
         this.close()
         this.$emit('getProject', row)
       },
-      list (collectType) {
+      list () {
         this.loading = true
         // this.searchForm.createId = this.$store.state.user.id
         // this.searchForm.status = '5'
         this.searchForm.wareHouseType = this.typeTest
-        this.collectService.wareHouseList({
+        // this.collectService.wareHouseList({
+        //   'current': this.tablePage.currentPage,
+        //   'size': this.tablePage.pageSize,
+        //   'orders': this.tablePage.orders,
+        //   ...this.searchForm
+        // }).then(({data}) => {
+        //   this.dataList = data.records
+        //   this.tablePage.total = data.total
+        //   this.loading = false
+        // })
+        this.wareHouseService.wareHouseSummaryList({
           'current': this.tablePage.currentPage,
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
@@ -128,6 +142,7 @@
         }).then(({data}) => {
           this.dataList = data.records
           this.tablePage.total = data.total
+          this.tableKey = Math.random()
           this.loading = false
         })
       },

+ 7 - 4
src/views/modules/materialManagement/info/MaterialTypePullForm.vue

@@ -55,7 +55,8 @@
 
 <script>
   // import ReimbursementTypeService from '@/api/sys/ReimbursementTypeService'
-  import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
+  // import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
+  import MaterialTypeService from '@/api/materialManagement/MaterialTypeService'
   export default {
     data () {
       return {
@@ -76,10 +77,12 @@
       }
     },
     // reimbursementTypeService: null,
-    reimbursementApprovalTypeService: null,
+    // reimbursementApprovalTypeService: null,
+    materialTypeService: null,
     created () {
       // this.reimbursementTypeService = new ReimbursementTypeService()
-      this.reimbursementApprovalTypeService = new ReimbursementApprovalTypeService()
+      // this.reimbursementApprovalTypeService = new ReimbursementApprovalTypeService()
+      this.materialTypeService = new MaterialTypeService()
     },
     components: {
     },
@@ -105,7 +108,7 @@
       },
       list () {
         this.loading = true
-        this.reimbursementApprovalTypeService.cgList({...this.searchForm}).then(({data}) => {
+        this.materialTypeService.cgList({...this.searchForm}).then(({data}) => {
           this.dataList = data
           this.loading = false
         })

+ 166 - 0
src/views/modules/materialManagement/materialType/TypeForm.vue

@@ -0,0 +1,166 @@
+<template>
+  <div>
+    <el-dialog
+      :title="title"
+      :close-on-click-modal="false"
+      v-dialogDrag
+      width="500px"
+      @close="close"
+      @keyup.enter.native="doSubmit"
+      :visible.sync="visible">
+      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+               label-width="100px" @submit.native.prevent>
+        <el-row  :gutter="15">
+          <el-col :span="21">
+            <el-form-item label="上级节点" prop="parentId">
+              <SelectTree
+                ref="areaTree"
+                :props="{
+                      value: 'id',             // ID字段名
+                      label: 'name',         // 显示名称
+                      children: 'children'    // 子级字段名
+                    }"
+                url="/material/materialType/treeData?type=3"
+                :value="inputForm.parentId"
+                :clearable="true"
+                :accordion="true"
+                @getValue="(value) => {inputForm.parentId=value}"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="21">
+            <el-form-item label="物资名称" prop="name"
+                          :rules="[
+                          {required: true, message:'物资名称不能为空', trigger:'blur'}
+                 ]">
+              <el-input v-model="inputForm.name" placeholder="请填写物资名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="21">
+            <el-form-item label="序号" prop="sort">
+              <el-input v-model="inputForm.sort" :disabled="true" show-word-limit></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
+      <el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+    </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  // import ReimbursementTypeService from '@/api/sys/ReimbursementTypeService'
+  import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
+  import MaterialTypeService from '@/api/materialManagement/MaterialTypeService'
+  import SelectTree from '@/components/treeSelect/treeSelect.vue'
+  // import OfficeService from '@/api/sys/OfficeService'
+  export default {
+    data () {
+      return {
+        disabled: false,
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        inputForm: {
+          businessType: '',
+          name: '',
+          sort: '',
+          parentId: ''
+        }
+      }
+    },
+    // reimbursementTypeService: null,
+    reimbursementApprovalTypeService: null,
+    materialTypeService: null,
+    // OfficeService: null,
+    created () {
+      // this.reimbursementTypeService = new ReimbursementTypeService()
+      this.reimbursementApprovalTypeService = new ReimbursementApprovalTypeService()
+      this.materialTypeService = new MaterialTypeService()
+      // this.officeService = new OfficeService()
+    },
+    components: {
+      SelectTree
+    },
+    methods: {
+      init (method, id, businessType) {
+        this.method = method
+        this.inputForm = {
+          businessType: '',
+          name: '',
+          sort: '',
+          parentId: ''
+        }
+        if (method === 'add') {
+          this.title = `新建报销类型`
+        } else if (method === 'edit') {
+          this.inputForm.id = id
+          this.title = '修改报销类型'
+        } else if (method === 'view') {
+          this.inputForm.id = id
+          this.title = '查看报销类型'
+        } else if (method === 'addChild') {
+          this.title = '添加下级结构'
+          this.inputForm.parentId = id
+          this.inputForm.businessType = businessType
+        }
+        this.visible = true
+        this.loading = false
+        this.$nextTick(() => {
+          if (method === 'edit' || method === 'view') { // 修改或者查看
+            this.loading = true
+            this.$refs.inputForm.resetFields()
+            this.materialTypeService.findById(this.inputForm.id).then(({data}) => {
+              this.inputForm = this.recover(this.inputForm, data)
+              this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+              this.loading = false
+            })
+            // this.reimbursementTypeService.findById(this.inputForm.id).then(({data}) => {
+            //   this.inputForm = this.recover(this.inputForm, data)
+            //   this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+            //   this.loading = false
+            // })
+          }
+        })
+      },
+      // 表单提交
+      doSubmit () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            this.materialTypeService.save(this.inputForm).then(({data}) => {
+              if (data === false) {
+                this.close()
+                this.$message.error('物资名称重复,请重新填写')
+                this.$emit('refreshDataList')
+                this.loading = false
+              } else {
+                this.close()
+                this.$message.success(data)
+                this.$emit('refreshDataList')
+                this.loading = false
+              }
+            }).catch(() => {
+              this.loading = false
+            })
+            // this.reimbursementTypeService.save(this.inputForm).then(({data}) => {
+            //   this.close()
+            //   this.$message.success(data)
+            //   this.$emit('refreshDataList')
+            //   this.loading = false
+            // }).catch(() => {
+            //   this.loading = false
+            // })
+          }
+        })
+      },
+      close () {
+        this.$refs.inputForm.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>

+ 158 - 0
src/views/modules/materialManagement/materialType/TypeList.vue

@@ -0,0 +1,158 @@
+<template>
+  <div class="page">
+    <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+      <!-- 搜索框-->
+      <el-form-item label="物资名称" prop="name">
+        <el-input size="small" v-model="searchForm.name" placeholder="请输入物资名称" clearable></el-input>
+      </el-form-item>
+      <el-form-item label="序号" prop="sort">
+        <el-input size="small" v-model="searchForm.sort" placeholder="请输入序号" clearable></el-input>
+      </el-form-item>
+
+      <el-form-item>
+        <el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
+        <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <div class="bg-white top" style="">
+      <vxe-toolbar :refresh="{query: refreshList}" custom>
+        <template #buttons>
+          <el-button v-if="hasPermission('program:configuration:type:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
+<!--          <el-button v-if="hasPermission('program:configuration:type:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.typeTable && $refs.typeTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
+        </template>
+      </vxe-toolbar>
+      <div style="height: calc(100% - 50px)">
+        <vxe-table
+          border="inner"
+          auto-resize
+          resizable
+          height="auto"
+          :loading="loading"
+          size="small"
+          ref="typeTable"
+          show-header-overflow
+          show-overflow
+          highlight-hover-row
+          :menu-config="{}"
+          :sort-config="{remote:true}"
+          :data="dataList"
+          :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
+          :checkbox-config="{}">
+          <vxe-column type="seq" width="60" title="序号"></vxe-column>
+          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column title="物资名称" field="name" align="left" tree-node></vxe-column>
+          <vxe-column width="100" title="序号" field="sort"></vxe-column>
+
+          <vxe-column title="操作" width="230px" fixed="right" align="center">
+            <template  slot-scope="scope">
+              <el-button v-if="hasPermission('reimbursement:type:edit')&&(scope.row.level === '1' || scope.row.level === '2')" type="text"  size="small" @click="addChild(scope.row.id,scope.row.businessType)">添加下级结构</el-button>
+              <el-button v-if="hasPermission('reimbursement:type:edit')" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('reimbursement:type:remove')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+            </template>
+          </vxe-column>
+        </vxe-table>
+
+      </div>
+    </div>
+    <TypeForm  ref="typeForm" @refreshDataList="refreshList"></TypeForm>
+  </div>
+</template>
+
+<script>
+  // import ReimbursementTypeService from '@/api/sys/ReimbursementTypeService'
+  // import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
+  import MaterialTypeService from '@/api/materialManagement/MaterialTypeService'
+  import TypeForm from './TypeForm'
+  export default {
+    data () {
+      return {
+        searchForm: {
+          name: '',
+          no: ''
+        },
+        dataList: [],
+        tablePage: {
+          total: 0,
+          currentPage: 1,
+          pageSize: 10,
+          orders: []
+        },
+        loading: false
+      }
+    },
+    // reimbursementTypeService: null,
+    // reimbursementApprovalTypeService: null,
+    materialTypeService: null,
+    created () {
+      // this.reimbursementTypeService = new ReimbursementTypeService()
+      // this.reimbursementApprovalTypeService = new ReimbursementApprovalTypeService()
+      this.materialTypeService = new MaterialTypeService()
+    },
+    components: {
+      TypeForm
+    },
+    mounted () {
+      this.refreshList()
+    },
+    methods: {
+      // 新增
+      add () {
+        this.$refs.typeForm.init('add', '')
+      },
+      addChild (id, businessType) {
+        this.$refs.typeForm.init('addChild', id, businessType)
+      },
+      // 修改
+      edit (id) {
+        id = id || this.$refs.typeTable.getCheckboxRecords().map(item => {
+          return item.id
+        })[0]
+        this.$refs.typeForm.init('edit', id)
+      },
+      // 查看
+      view (id) {
+        this.$refs.typeForm.init('view', id)
+      },
+      // 获取数据列表
+      refreshList () {
+        this.loading = true
+        this.materialTypeService.list({...this.searchForm}).then(({data}) => {
+          this.dataList = data
+          this.loading = false
+        })
+        // this.reimbursementTypeService.list({...this.searchForm}).then(({data}) => {
+        //   this.dataList = data
+        //   this.loading = false
+        // })
+      },
+      // 删除
+      del (id) {
+        let ids = id || this.$refs.typeTable.getCheckboxRecords().map(item => {
+          return item.id
+        }).join(',')
+        this.$confirm(`确定删除所选项吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.loading = true
+          this.materialTypeService.remove(ids).then(({data}) => {
+            this.$message.success(data)
+            this.refreshList()
+            this.loading = false
+          })
+          // this.reimbursementTypeService.remove(ids).then(({data}) => {
+          //   this.$message.success(data)
+          //   this.refreshList()
+          //   this.loading = false
+          // })
+        })
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.refreshList()
+      }
+    }
+  }
+</script>

+ 2 - 2
src/views/modules/materialManagement/purchase/PurchaseForm.vue

@@ -368,9 +368,9 @@
           files: [] // 附件信息
         }
         if (method === 'add') {
-          this.title = `新建采购类型`
+          this.title = `新建采购申请`
         } else if (method === 'edit') {
-          this.title = '修改采购类型'
+          this.title = '修改采购申请'
         }
         this.inputForm.id = id
         this.visible = true

+ 2 - 2
src/views/modules/materialManagement/wareHouseSummary/WareHouseSummaryList.vue

@@ -16,11 +16,11 @@
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-          url="/reimbursementApproval/type/summaryTreeData?type=last"
+          url="/material/materialType/summaryTreeData?type=last"
           :value="searchForm.wareHouseType"
           :clearable="true"
           :accordion="true"
-          @getValue="(value, label) => {searchForm.wareHouseType=label}"/>
+          @getValue="(value, label) => {searchForm.wareHouseType=value}"/>
       </el-form-item>
 <!--      <el-form-item label="入库人" prop="wareHouseMan">-->
 <!--        <UserSelect :limit='1' :userName="searchForm.wareHouseMan" @getValue='(value, label) => {searchForm.wareHouseMan = label}'></UserSelect>-->

+ 16 - 6
src/views/modules/zs/reimbursement/info/CwReimbursementTypePullForm.vue

@@ -54,7 +54,8 @@
 
 <script>
   // import ReimbursementTypeService from '@/api/sys/ReimbursementTypeService'
-  import ReimbursementTypeService from '@/api/zs/reimbursement/ReimbursementTypeService'
+  // import ReimbursementTypeService from '@/api/zs/reimbursement/ReimbursementTypeService'
+  import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
   export default {
     data () {
       return {
@@ -72,25 +73,29 @@
         method: '',
         visible: false,
         loading: false,
-        like: ''
+        like: '',
+        officeId: ''
       }
     },
     // reimbursementTypeService: null,
-    reimbursementTypeService: null,
+    // reimbursementTypeService: null,
+    reimbursementApprovalTypeService: null,
     created () {
       // this.reimbursementTypeService = new ReimbursementTypeService()
-      this.reimbursementTypeService = new ReimbursementTypeService()
+      // this.reimbursementTypeService = new ReimbursementTypeService()
+      this.reimbursementApprovalTypeService = new ReimbursementApprovalTypeService()
     },
     components: {
     },
     methods: {
-      init (like) {
+      init (like, deptName) {
         console.log('like', like)
         if (like === '1') {
           this.like = '1'
         } else {
           this.like = ''
         }
+        this.officeId = deptName
         this.visible = true
         this.list()
       },
@@ -114,10 +119,15 @@
       list () {
         this.loading = true
         this.searchForm.like = this.like
-        this.reimbursementTypeService.bxList({...this.searchForm}).then(({data}) => {
+        this.searchForm.officeId = this.officeId
+        this.reimbursementApprovalTypeService.bxList({...this.searchForm}).then(({data}) => {
           this.dataList = data
           this.loading = false
         })
+        // this.reimbursementTypeService.bxList({...this.searchForm}).then(({data}) => {
+        //   this.dataList = data
+        //   this.loading = false
+        // })
         // this.reimbursementTypeService.list({...this.searchForm}).then(({data}) => {
         //   this.dataList = data
         //   this.loading = false

+ 21 - 0
src/views/modules/zs/reimbursement/info/InfoList.vue

@@ -162,6 +162,7 @@
           <vxe-column title="操作" width="130px" fixed="right" align="center">
             <template  slot-scope="scope">
               <el-button v-if="hasPermission('zsReimbursement:info:edit') && scope.row.createId === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3' )" type="text"  size="small" @click="edit(scope.row)">修改</el-button>
+              <el-button v-if="hasPermission('zsReimbursement:info:edit') && scope.row.createId === $store.state.user.id && (scope.row.type === '4')" type="text"  size="small" @click="todo(scope.row)">驳回调整</el-button>
               <el-button v-if="hasPermission('zsReimbursement:info:edit') && scope.row.createId === $store.state.user.id && (scope.row.type === '2')" type="text"  size="small" @click="reback(scope.row)">撤回</el-button>
               <el-button v-if="hasPermission('zsReimbursement:info:del') && scope.row.createId === $store.state.user.id && (scope.row.type === '1')" type="text"  size="small" @click="del(scope.row.id)">删除</el-button>
             </template>
@@ -352,6 +353,26 @@
           })
         })
       },
+      todo (row) {
+        let cUser = false
+        this.taskService.getTaskDefInfo({
+          taskId: row.taskId
+        }).then(({data}) => {
+          console.log(data)
+          this.$router.push({
+            path: '/flowable/task/TaskForm',
+            query: {
+              isShow: false,
+              formReadOnly: true,
+              formTitle: `${data.title}`,
+              routePath: '/zs/reimbursement/info/InfoList',   // 数据处理后需要跳转的页面路径
+              cUser: cUser,
+              title: `审批【${data.taskName || ''}】`,
+              ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId')
+            }
+          })
+        })
+      },
       // 撤回
       reback (row) {
         this.$confirm(`确定撤回流程吗?`, '提示', {

+ 15 - 15
src/views/modules/zs/reimbursement/info/ReimbursementForm.vue

@@ -140,7 +140,7 @@
             </vxe-table-column>
             <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
               <template v-slot:edit="scope">
-                <el-input v-model="scope.row.typeName" @focus="typePullForm(scope.$rowIndex)"></el-input>
+                <el-input v-model="scope.row.typeName" @focus="typePullForm(scope.$rowIndex, scope.row.deptId)"></el-input>
               </template>
             </vxe-table-column>
             <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
@@ -218,7 +218,7 @@
             </vxe-table-column>
             <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
               <template v-slot:edit="scope">
-                <el-input v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex)"></el-input>
+                <el-input v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
               </template>
             </vxe-table-column>
             <vxe-table-column field="contractName" title="报销合同" :edit-render="{}" :rules="[{required: true, message:'请选择报销合同', trigger:'blur'}]">
@@ -296,7 +296,7 @@
             </vxe-table-column>
             <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
               <template v-slot:edit="scope">
-                <el-input v-model="scope.row.typeName" @focus="typePullForm3(scope.$rowIndex)"></el-input>
+                <el-input v-model="scope.row.typeName" @focus="typePullForm3(scope.$rowIndex, scope.row.deptId)"></el-input>
               </template>
             </vxe-table-column>
             <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
@@ -374,7 +374,7 @@
             </vxe-table-column>
             <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
               <template v-slot:edit="scope">
-                <el-input v-model="scope.row.typeName" @focus="typePullForm4(scope.$rowIndex)"></el-input>
+                <el-input v-model="scope.row.typeName" @focus="typePullForm4(scope.$rowIndex, scope.row.deptId)"></el-input>
               </template>
             </vxe-table-column>
             <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" :rules="[{required: true, message:'请填写报销详情', trigger:'blur'}]">
@@ -452,7 +452,7 @@
             </vxe-table-column>
             <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
               <template v-slot:edit="scope">
-                <el-input v-model="scope.row.typeName" @focus="typePullForm5(scope.$rowIndex)"></el-input>
+                <el-input v-model="scope.row.typeName" @focus="typePullForm5(scope.$rowIndex, scope.row.deptId)"></el-input>
               </template>
             </vxe-table-column>
             <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
@@ -1247,30 +1247,30 @@
         this.$forceUpdate()
       },
       // 报销类型下拉弹窗
-      typePullForm (rowIndex) {
+      typePullForm (rowIndex, deptName) {
         this.indexRow = rowIndex
         // this.$refs.reimbursementTypePullForm.init()
-        this.$refs.cwReimbursementTypePullForm.init('1')
+        this.$refs.cwReimbursementTypePullForm.init('1', deptName)
       },
-      typePullForm2 (rowIndex) {
+      typePullForm2 (rowIndex, deptName) {
         this.indexRow = rowIndex
         // this.$refs.reimbursementTypePullForm.init()
-        this.$refs.cwReimbursementTypePullForm2.init('2')
+        this.$refs.cwReimbursementTypePullForm2.init('2', deptName)
       },
-      typePullForm3 (rowIndex) {
+      typePullForm3 (rowIndex, deptName) {
         this.indexRow = rowIndex
         // this.$refs.reimbursementTypePullForm.init()
-        this.$refs.cwReimbursementTypePullForm3.init('1')
+        this.$refs.cwReimbursementTypePullForm3.init('1', deptName)
       },
-      typePullForm4 (rowIndex) {
+      typePullForm4 (rowIndex, deptName) {
         this.indexRow = rowIndex
         // this.$refs.reimbursementTypePullForm.init()
-        this.$refs.cwReimbursementTypePullForm4.init('2')
+        this.$refs.cwReimbursementTypePullForm4.init('2', deptName)
       },
-      typePullForm5 (rowIndex) {
+      typePullForm5 (rowIndex, deptName) {
         this.indexRow = rowIndex
         // this.$refs.reimbursementTypePullForm.init()
-        this.$refs.cwReimbursementTypePullForm5.init('2')
+        this.$refs.cwReimbursementTypePullForm5.init('2', deptName)
       },
       // 报销内容详情
       getProgramForType (rows) {