sunlupeng 1 년 전
부모
커밋
218f47b0d8
3개의 변경된 파일299개의 추가작업 그리고 166개의 파일을 삭제
  1. 13 13
      src/api/finance/expense/info/index.js
  2. 1 1
      src/api/personnel/relations/turnover/index.js
  3. 285 152
      src/views/finance/expense/info/index.vue

+ 13 - 13
src/api/finance/expense/info/index.js

@@ -1,54 +1,54 @@
 import request from '@/utils/request'
 
 // 查询列表
-export function listTurnover(query) {
+export function listExpenseInfo(query) {
   return request({
-    url: '/personnel/relations/turnover/page',
+    url: '/finance/expense/info/page',
     method: 'get',
     params: query
   })
 }
 
 // 查询详细
-export function getTurnover(dictId) {
+export function getExpenseInfo(dictId) {
   return request({
-    url: '/personnel/relations/turnover/get?id=' + dictId,
+    url: '/finance/expense/info/get?id=' + dictId,
     method: 'get'
   })
 }
 
 // 新增
-export function addTurnover(data) {
+export function addExpenseInfo(data) {
   return request({
-    url: '/personnel/relations/turnover/create',
+    url: '/finance/expense/info/create',
     method: 'post',
     data: data
   })
 }
 
 // 修改
-export function updateTurnover(data) {
+export function updateExpenseInfo(data) {
   return request({
-    url: '/personnel/relations/turnover/update',
+    url: '/finance/expense/info/update',
     method: 'put',
     data: data
   })
 }
 
 // 删除
-export function delTurnover(dictId) {
+export function delExpenseInfo(dictId) {
   return request({
-    url: '/personnel/relations/turnover/delete?id=' + dictId,
+    url: '/finance/expense/info/delete?id=' + dictId,
     method: 'delete'
   })
 }
 
 // 导出
-export function exportTurnover(query) {
+export function exportExpenseInfo(query) {
   return request({
-    url: '/personnel/relations/turnover/export-excel',
+    url: '/finance/expense/info/export-excel',
     method: 'get',
     params: query,
-    responseTurnover: 'blob'
+    responseType: 'blob'
   })
 }

+ 1 - 1
src/api/personnel/relations/turnover/index.js

@@ -49,6 +49,6 @@ export function exportTurnover(query) {
     url: '/personnel/relations/turnover/export-excel',
     method: 'get',
     params: query,
-    responseTurnover: 'blob'
+    responseType: 'blob'
   })
 }

+ 285 - 152
src/views/finance/expense/info/index.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="离职人" prop="employeeName">
-        <el-input v-model="queryParams.employeeName" placeholder="离职人" clearable style="width: 250px"
+      <el-form-item label="报销人" prop="employeeName">
+        <el-input v-model="queryParams.employeeName" placeholder="请输入申请人" clearable style="width: 250px"
           @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="部门" prop="deptId">
@@ -11,22 +11,21 @@
       </el-form-item>
       <el-form-item label="职位" prop="position">
         <el-select v-model="queryParams.position" placeholder="请选择" style="width: 250px">
-          <el-option v-for="item in postOptions" :key="item.name" :label="item.name" :value="item.name">
-          </el-option>
+          <el-option v-for="item in postOptions" :key="item.name" :label="item.name" :value="item.name"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="手机号" prop="employeePhone">
         <el-input v-model="queryParams.employeePhone" placeholder="请输入手机号" clearable style="width: 250px"
           @keyup.enter.native="handleQuery" />
       </el-form-item>
-
-      <el-form-item label="离职日期" prop="turnoverDate">
-        <el-date-picker v-model="queryParams.turnoverDate" style="width: 250px" value-format="yyyy-MM-dd HH:mm:ss"
-          type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
-          :default-time="['00:00:00', '23:59:59']" />
+      <el-form-item label="报销类型" prop="expenseTypeId">
+        <el-select v-model="queryParams.expenseTypeId" placeholder="请选择" style="width: 250px">
+          <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
+          </el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="创建人" prop="creatorEmployeeName">
-        <el-input v-model="queryParams.creatorEmployeeName" placeholder="创建人" clearable style="width: 250px"
+      <el-form-item label="创建人" prop="createEmployeeName">
+        <el-input v-model="queryParams.createEmployeeName" placeholder="创建人" clearable style="width: 250px"
           @keyup.enter.native="handleQuery" />
       </el-form-item>
 
@@ -59,14 +58,15 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="typeList">
-      <el-table-column label="离职人" align="center" prop="employeeName" min-width="80" />
+    <el-table v-loading="loading" :data="dataList">
+      <el-table-column label="报销人" align="center" prop="employeeName" min-width="100" />
       <el-table-column label="部门" align="center" prop="deptName" min-width="100" />
       <el-table-column label="职位" align="center" prop="position" min-width="100" />
       <el-table-column label="手机号" align="center" prop="employeePhone" min-width="100" />
-      <el-table-column label="入职日期" align="center" prop="entryDate" min-width="100" />
-      <el-table-column label="离职日期" align="center" prop="turnoverDate" min-width="100" />
-      <el-table-column label="创建人" align="center" prop="creatorEmployeeName" min-width="80" />
+      <el-table-column label="报销类型" align="center" prop="expenseTypeName" min-width="100" />
+      <el-table-column label="费用所属期间" align="center" prop="expenseMonth" min-width="100" />
+      <el-table-column label="报销总金额(元)" align="center" prop="totalMoney" min-width="100" />
+      <el-table-column label="创建人" align="center" prop="createEmployeeName" min-width="80" />
       <el-table-column label="创建时间" align="center" prop="createTime" min-width="150">
         <template v-slot="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
@@ -92,55 +92,119 @@
       @pagination="getList" />
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules">
         <el-row>
-          <el-col :span="12">
-            <el-form-item label="离职人" prop="employeeName">
-        <el-input v-model="form.employeeName" placeholder='点击选择' readonly @click.native="openSingle"></el-input>
-      </el-form-item>
+          <el-col :span="24">
+            <el-form-item label="报销人" prop="employeeName">
+              <el-input v-model="form.employeeName" placeholder='点击选择' readonly @click.native="openSingle"></el-input>
+            </el-form-item>
           </el-col>
-          <el-col :span="12" style="display: none;">
-            <el-form-item label="离职人Id" style="display: none;">
-        <el-input v-model="form.employeeId" placeholder='离职人Id' disabled></el-input>
-      </el-form-item>
+          <el-col :span="24" style="display: none;">
+            <el-form-item label="报销人Id" style="display: none;">
+              <el-input v-model="form.employeeId" placeholder='报销人Id' disabled></el-input>
+            </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item label="部门">
               <el-input v-model="form.deptName" placeholder='部门' disabled></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item label="职位">
               <el-input v-model="form.position" placeholder='职位' disabled></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="手机号">
-              <el-input v-model="form.employeePhone" placeholder='手机号' disabled></el-input>
+          <el-col :span="24">
+            <el-form-item label="报销类型" prop="expenseTypeId">
+              <el-select v-model="form.expenseTypeId" placeholder="请选择" style="width: 100%;"
+                @change="getListByExpenseTypeId()">
+                <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
+                </el-option>
+              </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="入职日期">
-              <el-input v-model="form.entryDate" placeholder='入职日期' disabled></el-input>
+          <el-col :span="24">
+            <el-form-item label="所属期间" prop="expenseMonth">
+              <el-date-picker value-format="yyyy-MM" v-model="form.expenseMonth" type="month" placeholder="选择日期"
+                style="width: 100%;">
+              </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="离职日期" prop="turnoverDate">
-        <el-date-picker value-format="yyyy-MM-dd" v-model="form.turnoverDate" type="date" placeholder="请选择日期"
-          style="width: 100%;">
-        </el-date-picker>
-      </el-form-item>
+          <el-col :span="24" style="margin-bottom: 18px;">
+            <el-button style="margin-bottom: 10px;" type="success" size="small" @click="addRow">新增</el-button>
+            <!--表格里面嵌套表单-->
+            <el-table border :header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }"
+              :data="form.expenseInfoObjs" ref="table" style="width: 100%">
+
+
+
+              <el-table-column label="费用项目" width="300">
+                <template slot-scope="scope">
+                  <el-form-item :prop="'expenseInfoObjs.' + scope.$index + '.expenseItemId'"
+                    :rules="{ required: true, message: '费用项目不能为空', trigger: 'blur' }">
+                    <el-select v-model="form.expenseInfoObjs[scope.$index].expenseItemId" placeholder="请选择费用项目"
+                      style="width: 100%;" size="small">
+                      <el-option v-for="item in listByExpenseType" :key="item.id" :label="item.name" :value="item.id">
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column label="金额(元)" width="200">
+                <template slot-scope="scope">
+                  <el-form-item :prop="'expenseInfoObjs.' + scope.$index + '.money'"
+                    :rules="{ required: true, message: '金额不能为空', trigger: 'blur' }">
+                    <el-input v-model="form.expenseInfoObjs[scope.$index].money" autocomplete="off" size="small"
+                      placeholder="金额" oninput="value=value.match(/\d+\.?\d{0,2}/,'')"
+                      @input="changeMoney(scope.$index)"></el-input>
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column label="开始日期" width="200">
+                <template slot-scope="scope">
+                  <el-form-item :prop="'expenseInfoObjs.' + scope.$index + '.startDate'"
+                    :rules="{ required: true, message: '开始日期不能为空', trigger: 'blur' }">
+                    <el-date-picker value-format="yyyy-MM-dd" v-model="form.expenseInfoObjs[scope.$index].startDate"
+                      type="date" placeholder="选择日期" style="width: 100%;">
+                    </el-date-picker>
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column label="结束日期" width="200">
+                <template slot-scope="scope">
+                  <el-form-item :prop="'expenseInfoObjs.' + scope.$index + '.endDate'"
+                    :rules="{ required: true, message: '结束日期不能为空', trigger: 'blur' }">
+                    <el-date-picker value-format="yyyy-MM-dd" v-model="form.expenseInfoObjs[scope.$index].endDate"
+                      type="date" placeholder="选择日期" style="width: 100%;">
+                    </el-date-picker>
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column label="说明" width="500">
+                <template slot-scope="scope">
+                  <el-form-item :prop="'expenseInfoObjs.' + scope.$index + '.remarks'"
+                    :rules="{ required: true, message: '说明不能为空', trigger: 'blur' }">
+                    <el-input maxlength="20" v-model="form.expenseInfoObjs[scope.$index].remarks" autocomplete="off"
+                      size="small" placeholder="说明名称"></el-input>
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column fixed="right" label="操作" width="80">
+                <template slot-scope="scope">
+                  <el-button :disabled="form.expenseInfoObjs.length > 1 ? false : true" style="margin-bottom: 22px;"
+                    @click="handleDeleteRow(scope.$index)" type="text" size="small">删除</el-button>
+                </template>
+              </el-table-column>
+
+            </el-table>
           </el-col>
 
-          <el-col :span="12">
-            <el-form-item label="离职原因" prop="turnoverReason">
-        <el-select v-model="form.turnoverReason" filterable allow-create default-first-option placeholder="请选择离职原因"
-          style="width: 100%;">
-          <el-option v-for="dict in this.getDictDatas(DICT_TYPE.TURNOVER_REASON)" :key="dict.value" :label="dict.label" :value="dict.value"/>
-        </el-select>
-      </el-form-item>
+          <el-col :span="24">
+            <el-form-item label="总金额" prop="totalMoney">
+              <el-input type="number" v-model="form.totalMoney" placeholder='报销总金额' disabled></el-input>
+            </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="附件">
@@ -166,90 +230,101 @@
     <!-- 详情对话框 -->
     <el-dialog :title="title" :visible.sync="openDetail" width="800px" append-to-body>
       <div class="widget-wrapper">
-    <div class="widget-list">
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <span class="field-required">*</span>
-          <div class="field-name">离职人</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.employeeName">{{ form.employeeName }}</span>
-        </div>
-      </div>
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <div class="field-name">部门</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.deptName">{{ form.deptName }}</span>
-        </div>
-      </div>
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <div class="field-name">职位</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.position">{{ form.position }}</span>
-        </div>
-      </div>
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <div class="field-name">手机号</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.employeePhone">{{ form.employeePhone }}</span>
-        </div>
-      </div>
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <span class="field-required">*</span>
-          <div class="field-name">入职日期</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.entryDate">{{ form.entryDate }}</span>
-        </div>
-      </div>
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <span class="field-required">*</span>
-          <div class="field-name">离职日期</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.turnoverDate">{{ form.turnoverDate }}</span>
-        </div>
-      </div>
-  
+        <div class="widget-list" v-loading="loading">
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <div class="field-name">报销人</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.loginName">{{ form.employeeName }}</span>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <div class="field-name">部门</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.deptName">{{ form.deptName }}</span>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <div class="field-name">职位</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.position">{{ form.position }}</span>
+            </div>
+          </div>
 
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <span class="field-required">*</span>
-          <div class="field-name">离职原因</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.turnoverReason">{{ form.turnoverReason }}</span>
-        </div>
-      </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <div class="field-name">手机号</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.employeePhone">{{ form.employeePhone }}</span>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <span class="field-required">*</span>
+              <div class="field-name">报销类型</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.expenseTypeName">{{ form.expenseTypeName }}</span>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <span class="field-required">*</span>
+              <div class="field-name">费用所属期间</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.expenseMonth">{{ form.expenseMonth }}</span>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <!-- <div class="field-label">
+          <div class="field-name">领用清单</div>
+        </div> -->
+            <el-table border :header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }"
+              :data="form.expenseInfoObjs" ref="table" style="width: 100%">
+              <el-table-column label="费用项目" prop="expenseItemName" width="300" />
+              <el-table-column label="金额(元)" prop="money" />
+              <el-table-column label="开始日期" prop="startDate" width="200" />
+              <el-table-column label="结束日期" prop="endDate" width="200" />
+              <el-table-column label="说明" prop="remarks" width="500" />
+            </el-table>
+          </div>
 
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <div class="field-name">附件</div>
-        </div>
-        <div class="field-component">
-          <div v-for="(item, index) in form.fileList" :key="index">
-            <a :href="item.url" target="_blank" :title="item.name" style="color: #5094d5;">{{ item.name }}</a>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <span class="field-required">*</span>
+              <div class="field-name">报销总金额(元)</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.totalMoney">{{ form.totalMoney }}</span>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <div class="field-name">附件</div>
+            </div>
+            <div class="field-component">
+              <div v-for="(item, index) in form.fileList" :key="index">
+                <a :href="item.url" target="_blank" :title="item.name" style="color: #5094d5;">{{ item.name }}</a>
+              </div>
+            </div>
+          </div>
+          <div class="fx-field x-grid-col-12">
+            <div class="field-label">
+              <div class="field-name">备注</div>
+            </div>
+            <div class="field-component">
+              <span :title="form.remarks">{{ form.remarks }}</span>
+            </div>
           </div>
         </div>
       </div>
-      <div class="fx-field x-grid-col-12">
-        <div class="field-label">
-          <div class="field-name">备注</div>
-        </div>
-        <div class="field-component">
-          <span :title="form.birthday">{{ form.remarks }}</span>
-        </div>
-      </div>
-    </div>
-  </div>
     </el-dialog>
     <PeopleSelect ref="peopleSelect" type="single" :isCheck="true" :open="singlePeopleOpen"
       @cancel="singlePeopleOpen = false" @submit="submitSingle"></PeopleSelect>
@@ -257,9 +332,10 @@
 </template>
 
 <script>
+import { typeList, listByExpenseTypeId } from "@/api/oa/expense"
 import { listSimplePosts } from "@/api/system/post";
 import { getEmployeeInfo } from "@/api/system/user";
-import { listTurnover, getTurnover, delTurnover, addTurnover, updateTurnover, exportTurnover } from "@/api/personnel/relations/turnover/index";
+import { listExpenseInfo, getExpenseInfo, delExpenseInfo, addExpenseInfo, updateExpenseInfo, exportExpenseInfo } from "@/api/finance/expense/info/index";
 import PeopleSelect from "@/components/PeopleSelect/index.vue";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -274,6 +350,8 @@ export default {
   },
   data() {
     return {
+      listByExpenseType: [],
+      typeList: [],
       files: [],
       // 设置上传的请求头部
       headers: getBaseHeader(),
@@ -291,7 +369,7 @@ export default {
       // 总条数
       total: 0,
       // 字典表格数据
-      typeList: [],
+      dataList: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -306,8 +384,8 @@ export default {
         deptId: undefined,
         position: undefined,
         employeePhone: undefined,
-        turnoverDate: [],
-        creatorEmployeeName: undefined,
+        expenseTypeId: undefined,
+        createEmployeeName: undefined,
         createTime: [],
         status: undefined,
       },
@@ -315,15 +393,14 @@ export default {
       form: {},
       // 表单校验
       rules: {
-        employeeName: [
-          { required: true, message: '请选择', trigger: 'change' },
+        expenseTypeId: [
+          { required: true, message: '请选择报销类型', trigger: 'change' }
         ],
-        turnoverDate: [
-          { required: true, message: '请选择日期', trigger: 'change' }
+        expenseMonth: [
+          { required: true, message: '请选择费用所属期间', trigger: 'change' }
         ],
-
-        turnoverReason: [
-          { required: true, trigger: "blur", message: "请选择离职原因" }
+        totalMoney: [
+          { required: true, message: '请输入报销总金额', trigger: 'blur' }
         ],
       },
     };
@@ -331,8 +408,61 @@ export default {
   created() {
     this.getList();
     this.getListDept();
+    this.getTypeList();
   },
   methods: {
+    // 报销类型信息列表
+    getTypeList() {
+      typeList().then(
+        response => {
+          this.typeList = response.data;
+        }
+      );
+    },
+    //获得报销费用项目信息列表
+
+    getListByExpenseTypeId() {
+      listByExpenseTypeId({ expenseTypeId: this.form.expenseTypeId }).then(
+        response => {
+          this.listByExpenseType = response.data;
+        }
+      );
+    },
+    changeMoney(index) {
+      if (this.form.expenseInfoObjs[index].money) {
+        let money = this.form.expenseInfoObjs[index].money;
+        this.form.expenseInfoObjs[index].money = money;
+        let arr = this.form.expenseInfoObjs;
+        this.form.totalMoney = this.sum(arr);
+      }
+    },
+    //求和
+    sum(arr) {
+      return arr.reduce((prev, cur) => {
+        return ((prev * 100) + (cur.money * 100)) / 100
+      }, 0)
+    },
+    /**
+  * 新增行
+  */
+    addRow() {
+      this.form.expenseInfoObjs.push({
+        expenseItemId: '',
+        money: '',
+        startDate: '',
+        endDate: '',
+        remarks: '',
+      });
+    },
+    /**
+  * 删除行
+  * @param row
+  */
+    handleDeleteRow(index) {
+      this.form.expenseInfoObjs.splice(index, 1);
+      let arr = this.form.expenseInfoObjs;
+      this.form.totalMoney = this.sum(arr);
+    },
     getEmployee() {
       getEmployeeInfo(this.form.employeeId).then(response => {
         let employeeInfo = response.data;
@@ -417,8 +547,8 @@ export default {
     getList() {
       this.loading = true;
       // 执行查询
-      listTurnover(this.queryParams).then(response => {
-        this.typeList = response.data.list;
+      listExpenseInfo(this.queryParams).then(response => {
+        this.dataList = response.data.list;
         this.total = response.data.total;
         this.loading = false;
       });
@@ -432,14 +562,13 @@ export default {
     reset() {
       this.form = {
         employeeName: undefined,
-        employeeId: undefined,
         deptName: undefined,
         position: undefined,
-        employeePhone:undefined,
-        entryDate: undefined,
-
-        turnoverDate: undefined,
-        turnoverReason: undefined,
+        employeePhone: undefined,
+        expenseTypeId: undefined,
+        expenseMonth: undefined,
+        expenseInfoObjs: [],
+        totalMoney: undefined,
         fileIdList: undefined,
         remarks: undefined,
       };
@@ -458,6 +587,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
+      this.addRow();
       this.open = true;
       this.title = "添加";
     },
@@ -466,7 +596,7 @@ export default {
     handleDetail(row) {
       this.reset();
       const id = row.id;
-      getTurnover(id).then(response => {
+      getExpenseInfo(id).then(response => {
         this.form = response.data;
         this.openDetail = true;
         this.title = "详情";
@@ -476,7 +606,11 @@ export default {
     handleUpdate(row) {
       this.reset();
       const id = row.id;
-      getTurnover(id).then(response => {
+      getExpenseInfo(id).then(response => {
+        this.form = response.data;
+        if (response.data.expenseTypeId) {
+          this.getListByExpenseTypeId();
+        }
         let files = response.data.fileList;
         if (files) {
           this.files = [];
@@ -492,7 +626,6 @@ export default {
             });
           }
         }
-        this.form = response.data;
         this.open = true;
         this.title = "修改";
       });
@@ -502,13 +635,13 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           if (this.form.id !== undefined) {
-            updateTurnover(this.form).then(response => {
+            updateExpenseInfo(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addTurnover(this.form).then(response => {
+            addExpenseInfo(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -521,7 +654,7 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$modal.confirm('是否确认删除数据项?').then(function () {
-        return delTurnover(ids);
+        return delExpenseInfo(ids);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
@@ -536,7 +669,7 @@ export default {
       // 执行导出
       this.$modal.confirm('是否确认导出所有数据项?').then(() => {
         this.exportLoading = true;
-        return exportTurnover(params);
+        return exportExpenseInfo(params);
       }).then(response => {
         this.$download.excel(response, '离职信息.xls');
         this.exportLoading = false;