Browse Source

离职模块、项目管理模块优化

lizhenhao 2 years ago
parent
commit
78974379b7

+ 5 - 0
src/views/common/RosterSelectForm.vue

@@ -7,6 +7,7 @@
       v-model="name"
       :fetch-suggestions="querySearchAsync"
       placeholder="请输入内容"
+      @blur="handleBlur"
       @select="handleSelect">
       <el-button slot="append" :disabled="disabled"  :readonly="readonly" @click="openRoster" icon="el-icon-search"></el-button>
       <template slot-scope="{ item }">
@@ -94,6 +95,10 @@
         this.$emit('getValue', item.id)
         this.name = item.name
       },
+      handleBlur (item) {
+        this.$emit('getValue', item.id)
+        this.name = item.name
+      },
       getRosterData () {
         this.rosterService.list({
           'current': '1',

+ 31 - 11
src/views/modules/changes/dimission/DimissionAuditForm.vue

@@ -17,6 +17,7 @@
                 :disabled="true"
                 placement="bottom-start"
                 style="width: 100%"
+                value-format="yyyy-MM-dd HH:mm:ss"
                 v-model="inputForm.requestDate"
                 type="date"
                 placeholder="选择申请日期">
@@ -59,6 +60,7 @@
                           :rules="[{required: true, message: '离职日期不能为空', trigger: 'blur'}
                  ]">
               <el-date-picker
+                value-format="yyyy-MM-dd HH:mm:ss"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.dimissionDate"
@@ -72,6 +74,7 @@
                           :rules="[{required: true, message: '最后工作日期不能为空', trigger: 'blur'}
                  ]">
               <el-date-picker
+                value-format="yyyy-MM-dd HH:mm:ss"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.lastWorkDate"
@@ -85,6 +88,7 @@
                           :rules="[{required: true, message: '薪资结算日期不能为空', trigger: 'blur'}
                  ]">
               <el-date-picker
+                value-format="yyyy-MM-dd HH:mm:ss"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.payrollSettlementDate"
@@ -275,6 +279,32 @@
       },
       // 表单提交
       doSubmit (status, callback) {
+        console.log(this.inputForm)
+        if (status === 'save') {
+          // 暂存
+          this.inputForm.vettingStatus = '3'
+          this.loading = true
+          if (this.$refs.uploadComponent.checkProgress()) {
+            this.loading = false
+            return
+          }
+          // this.checkMoment()
+          this.inputForm.changesDimissionFilesDTOList = this.$refs.uploadComponent.getDataList()
+          this.dimissionService.saveCheck(this.inputForm).then(({data}) => {
+            this.inputForm.assignee = this.inputForm.handoverId
+            callback(data.businessTable, data.businessId, this.inputForm)
+            this.loading = false
+          }).catch(() => {
+            this.loading = false
+          })
+          return
+        } else if (status === 'start') {
+          // 送审  待审核
+          this.inputForm.vettingStatus = '4'
+        } else if (status === 'agree') {
+          // 审核同意
+          this.inputForm.vettingStatus = '6'
+        }
         this.$refs['inputForm'].validate((valid) => {
           if (valid) {
             this.loading = true
@@ -282,18 +312,8 @@
               this.loading = false
               return
             }
-            this.checkMoment()
+            // this.checkMoment()
             this.inputForm.changesDimissionFilesDTOList = this.$refs.uploadComponent.getDataList()
-            if (status === 'save') {
-              // 暂存
-              this.inputForm.vettingStatus = '3'
-            } else if (status === 'start') {
-              // 送审  待审核
-              this.inputForm.vettingStatus = '4'
-            } else if (status === 'agree') {
-              // 审核同意
-              this.inputForm.vettingStatus = '6'
-            }
             this.dimissionService.saveCheck(this.inputForm).then(({data}) => {
               this.inputForm.assignee = this.inputForm.handoverId
               callback(data.businessTable, data.businessId, this.inputForm)

+ 21 - 11
src/views/modules/changes/dimission/DimissionHandoverForm.vue

@@ -257,20 +257,30 @@
       },
       // 暂存/送审/同意
       submit (handoverStatus, callback) {
-        console.log('handoverStatus', handoverStatus)
+        if (handoverStatus === 'save') {
+          // 暂存
+          this.inputForm.handoverStatus = '2'
+          this.loading = true
+          this.inputForm.cdId = this.inputForm.id
+          this.dimissionHandoverService.save(this.inputForm).then(({data}) => {
+            this.inputForm.assignee = this.inputForm.handoverDTOList[0].rosterId
+            console.log('rosterId', this.inputForm.assignee)
+            callback(data.businessTable, data.businessId, this.inputForm)
+            this.loading = false
+          }).catch(() => {
+            this.loading = false
+          })
+          return
+        } else if (handoverStatus === 'start') {
+          // 送审
+          this.inputForm.handoverStatus = '3'
+        } else if (handoverStatus === 'agree') {
+          // 审核同意
+          this.inputForm.handoverStatus = '4'
+        }
         this.$refs['inputForm'].validate((valid) => {
           if (valid) {
             this.loading = true
-            if (handoverStatus === 'save') {
-              // 暂存
-              this.inputForm.handoverStatus = '2'
-            } else if (handoverStatus === 'start') {
-              // 送审
-              this.inputForm.handoverStatus = '3'
-            } else if (handoverStatus === 'agree') {
-              // 审核同意
-              this.inputForm.handoverStatus = '4'
-            }
             this.inputForm.cdId = this.inputForm.id
             this.dimissionHandoverService.save(this.inputForm).then(({data}) => {
               this.inputForm.assignee = this.inputForm.handoverDTOList[0].rosterId

+ 44 - 21
src/views/modules/changes/dimission/DimissionList.vue

@@ -2,8 +2,8 @@
   <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 prop="rosterBaseDTO.name">
-        <el-input size="small" v-model="searchForm.rosterBaseDTO.name" placeholder="姓名" clearable></el-input>
+      <el-form-item prop="rosterId" label="姓名">
+        <RosterSelectForm :limit='1' :value="searchForm.rosterId" @getValue='(value) => {searchForm.rosterId=value}'></RosterSelectForm>
       </el-form-item>
       <el-form-item prop="rosterBaseDTO.officeId">
         <SelectTree
@@ -124,9 +124,21 @@
           <vxe-column width="200" title="部门" field="soName"></vxe-column>
           <vxe-column width="200" title="职位" field="jpName"></vxe-column>
           <vxe-column width="200" title="手机号" field="rosterBaseDTO.mobile"></vxe-column>
-          <vxe-column width="200" title="入职日期" field="rosterBaseDTO.onboardingDate"></vxe-column>
-          <vxe-column width="200" title="最后工作日" field="lastWorkDate"></vxe-column>
-          <vxe-column width="200" title="离职日期" field="dimissionDate"></vxe-column>
+          <vxe-column width="200" title="入职日期" field="rosterBaseDTO.onboardingDate">
+            <template slot-scope="scope">
+              {{moment(scope.row.rosterBaseDTO.onboardingDate).format('YYYY-MM-DD')}}
+            </template>
+          </vxe-column>
+          <vxe-column width="200" title="最后工作日" field="lastWorkDate">
+            <template slot-scope="scope">
+              {{moment(scope.row.lastWorkDate).format('YYYY-MM-DD')}}
+            </template>
+          </vxe-column>
+          <vxe-column width="200" title="离职日期" field="dimissionDate">
+            <template slot-scope="scope">
+              {{moment(scope.row.dimissionDate).format('YYYY-MM-DD')}}
+            </template>
+          </vxe-column>
           <vxe-column width="200" title="离职原因" field="changesDimissionReaDTOList">
             <template slot-scope="scope">
               {{getDimissionReaList(scope.row.changesDimissionReaDTOList)}}
@@ -191,12 +203,12 @@
                                     :command="{method:'handover', row:scope.row}">
                     {{scope.row.handoverStatus === '1'?'发起工作交接审批':'修改工作交接审批'}}
                   </el-dropdown-item>
-                  <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
-                                              scope.row.status === '2'&&
-                                              (scope.row.handoverStatus === '3'||scope.row.handoverStatus === '4'||scope.row.handoverStatus === '5'||scope.row.handoverStatus === '6')"
-                                    :command="{method:'handoverDetail', row:scope.row}">
-                    工作交接审批结果
-                  </el-dropdown-item>
+<!--                  <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&-->
+<!--                                              scope.row.status === '2'&&-->
+<!--                                              (scope.row.handoverStatus === '3'||scope.row.handoverStatus === '4'||scope.row.handoverStatus === '5'||scope.row.handoverStatus === '6')"-->
+<!--                                    :command="{method:'handoverDetail', row:scope.row}">-->
+<!--                    工作交接审批结果-->
+<!--                  </el-dropdown-item>-->
                   <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
                                               scope.row.status === '2'&&
                                               scope.row.handoverStatus === '3'"
@@ -211,11 +223,11 @@
                                     :command="{method:'audit', row:scope.row}">
                     {{scope.row.vettingStatus === '1'?'发起离职审批':'修改离职审批'}}
                   </el-dropdown-item>
-                  <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
-                                              (scope.row.vettingStatus === '4'||scope.row.vettingStatus === '5'||scope.row.vettingStatus === '6'||scope.row.vettingStatus === '7')"
-                                    :command="{method:'auditDetail', row:scope.row}">
-                    离职审批结果
-                  </el-dropdown-item>
+<!--                  <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&-->
+<!--                                              (scope.row.vettingStatus === '4'||scope.row.vettingStatus === '5'||scope.row.vettingStatus === '6'||scope.row.vettingStatus === '7')"-->
+<!--                                    :command="{method:'auditDetail', row:scope.row}">-->
+<!--                    离职审批结果-->
+<!--                  </el-dropdown-item>-->
                   <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
                                               (scope.row.vettingStatus === '4')"
                                     :command="{method:'auditReback', row:scope.row}">
@@ -252,11 +264,13 @@
   import ProcessService from '@/api/flowable/ProcessService'
   import DimissionHandoverService from '@/api/changes/dimission/DimissionHandoverService'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
+  import RosterSelectForm from '@/views/common/RosterSelectForm'
   import pick from 'lodash.pick'
   export default {
     data () {
       return {
         searchForm: {
+          rosterId: '',
           rosterBaseDTO: {
             name: '',
             officeId: '',
@@ -295,7 +309,8 @@
     components: {
       DimissionForm,
       DimissionHandoverFormDialog,
-      SelectTree
+      SelectTree,
+      RosterSelectForm
     },
     activated () {
       this.refreshList()
@@ -365,7 +380,11 @@
         // this.$refs.dimissionHandoverFormDialog.init('handover', id)
         // 读取流程表单
         let title = `发起流程【离职归档交接审批】`
-        let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [离职归档交接审批]`
+        let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [\`` + row.rosterBaseDTO.name + `\`的离职归档交接审批]`
+        let status = 'startAndHold'
+        if (row.handoverStatus === '5' || row.handoverStatus === '6') {
+          status = 'startAndClose'
+        }
         this.taskService.getTaskDef({ procDefId: this.processDefinitionId,
           businessId: row.id,
           businessTable: 'changes_dimission'}).then((data) => {
@@ -381,7 +400,7 @@
                 businessTable: 'changes_dimission',
                 businessId: row.id,
                 isShow: 'false',
-                status: 'startAndHold',
+                status: status,
                 routePath: '/changes/dimission/DimissionList'
               }
             })
@@ -429,7 +448,11 @@
       audit (row) {
         // 读取流程表单
         let title = `发起流程【离职审批】`
-        let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [离职审批]`
+        let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [\`` + row.rosterBaseDTO.name + `\`的离职审批]`
+        let status = 'startAndHold'
+        if (row.vettingStatus === '5' || row.vettingStatus === '7') {
+          status = 'startAndClose'
+        }
         this.taskService.getTaskDef({ procDefId: this.processDefinitionAuditId,
           businessId: row.id,
           businessTable: 'changes_dimission_audit'}).then((data) => {
@@ -445,7 +468,7 @@
                 businessTable: 'changes_dimission_audit',
                 businessId: row.id,
                 isShow: 'false',
-                status: 'startAndHold',
+                status: status,
                 routePath: '/changes/dimission/DimissionList'
               }
             })

+ 1 - 1
src/views/modules/flowable/task/TodoList.vue

@@ -222,7 +222,7 @@
         }).then(({data}) => {
           this.$router.push({
             path: '/flowable/task/TaskForm',
-            query: {formTitle: `${row.vars.title}`, formReadOnly: true, title: `审批【${row.task.name || ''}】`, ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId'), num: sum}
+            query: {formTitle: `${row.vars.title}`, isShow: false, formReadOnly: true, title: `审批【${row.task.name || ''}】`, ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId'), num: sum}
           })
         })
       },

+ 1 - 0
src/views/modules/sys/dashboard/workBench/Pending.vue

@@ -374,6 +374,7 @@
           this.$router.push({
             path: '/flowable/task/TaskForm',
             query: {
+              isShow: false,
               formReadOnly: true,
               formTitle: `${row.vars.title}`,
               num: 2,

+ 37 - 18
src/views/modules/sys/project/AssessList.vue

@@ -2,6 +2,20 @@
   <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 prop="projectHead" :rules=" [{trigger: 'blur'}]" label="项目负责人">
+          <SelectUserTree
+            ref="companyTree"
+            :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+            :url="`/sys/user/treeUserDataAllOffice?type=2`"
+            :value="searchForm.projectHead"
+            :clearable="true"
+            :accordion="true"
+            @getValue="(value) => {searchForm.projectHead=value}"/>
+        </el-form-item>
          <el-form-item prop="projectName">
                 <el-input size="small" v-model="searchForm.projectName" placeholder="项目名称" clearable></el-input>
          </el-form-item>
@@ -23,20 +37,17 @@
         <el-form-item prop="customerName">
           <el-input size="small" v-model="searchForm.customerName" placeholder="客户名称" clearable></el-input>
         </el-form-item>
-        <el-form-item prop="projectHead" :rules=" [{trigger: 'blur'}]" label="项目负责人">
-          <SelectUserTree
-            ref="companyTree"
-            :props="{
-                  value: 'id',             // ID字段名
-                  label: 'name',         // 显示名称
-                  children: 'children'    // 子级字段名
-                }"
-            :url="`/sys/user/treeUserDataAllOffice?type=2`"
-            :value="searchForm.projectHead"
-            :clearable="true"
-            :accordion="true"
-            @getValue="(value) => {searchForm.projectHead=value}"/>
+        <el-form-item prop="fileUploadType">
+          <el-select v-model="searchForm.fileUploadType" placeholder="请选择上传状态" style="width:100%;">
+            <el-option
+              v-for="item in $dictUtils.getDictList('file_upload_type')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
         </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>
@@ -48,7 +59,7 @@
             <el-button v-if="hasPermission('sys:project:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
 <!--            <el-button v-if="hasPermission('sys:post:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="edit()" :disabled="$refs.projectTable && $refs.projectTable.getCheckboxRecords().length !== 1" plain>修改</el-button>-->
             <el-button v-if="hasPermission('sys:project:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.projectTable && $refs.projectTable.getCheckboxRecords().length === 0" plain>删除</el-button>
-            <el-button v-if="hasPermission('sys:project:import')"  type="default" @click="downloadTpl()" size="small">下载模板</el-button>
+            <el-button v-if="hasPermission('sys:project:import')"  type="default" @click="downloadTpl()" size="small">项目模板</el-button>
             <el-button v-if="hasPermission('sys:project:exportFile')"  type="warning" plain @click="downloadFile()" size="small">完成比例</el-button>
             <span style="margin-left:20px;color: #999999">文件上传比例 {{proport}}</span>
           </template>
@@ -96,7 +107,7 @@
                 <vxe-column width="200px"  title="文号" field="documentNum" > </vxe-column>
                 <vxe-column width="110px"  title="协议号" field="protocolNum" > </vxe-column>
                 <vxe-column width="200px"  title="客户名称" field="customerName" > </vxe-column>
-                <vxe-column width="80px"  title="报告收费" field="reportCharges" > </vxe-column>
+                <vxe-column width="100px"  title="报告收费(元)" field="reportCharges" > </vxe-column>
                 <vxe-column width="110px" title="合同是否存档" field="isContractArchive" >
                   <template slot-scope="scope">
                     {{ $dictUtils.getDictLabel("yes_no", scope.row.isContractArchive, '-') }}
@@ -113,8 +124,15 @@
                   </template>
                 </vxe-column>
                 <vxe-column width="110px"  title="项目负责人" field="projectHead" > </vxe-column>
-                <vxe-column width="130px"  title="评估报告日" field="evaluationReportDate" > </vxe-column>
-                <vxe-column width="130px"  title="开票日期" field="invoiceDate" > </vxe-column>
+                <vxe-column width="130px"  title="评估报告日" field="evaluationReportDate" >
+                  <template slot-scope="scope">
+                    {{moment(scope.row.evaluationReportDate).format('YYYY-MM-DD')}}
+                  </template>
+                </vxe-column>
+                <vxe-column width="130px"  title="开票日期" field="invoiceDate" >
+                  <template slot-scope="scope">
+                    {{moment(scope.row.invoiceDate).format('YYYY-MM-DD')}}
+                  </template></vxe-column>
                 <vxe-column width="50px"   title="状态" field="status" >
                   <template slot-scope="scope">
                     {{ $dictUtils.getDictLabel("project_status", scope.row.status, '-') }}
@@ -173,7 +191,8 @@
           customerName: '',
           year: '',
           projectName: '',
-          projectHead: ''
+          projectHead: '',
+          fileUploadType: ''
         },
         dataList: [],
         tablePage: {

+ 38 - 19
src/views/modules/sys/project/ConsultationList.vue

@@ -2,7 +2,20 @@
   <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 prop="projectHead" :rules=" [{trigger: 'blur'}]" label="项目负责人">
+          <SelectUserTree
+            ref="companyTree"
+            :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+            :url="`/sys/user/treeUserDataAllOffice?type=2`"
+            :value="searchForm.projectHead"
+            :clearable="true"
+            :accordion="true"
+            @getValue="(value) => {searchForm.projectHead=value}"/>
+        </el-form-item>
          <el-form-item prop="projectName">
                 <el-input size="small" v-model="searchForm.projectName" placeholder="项目名称" clearable></el-input>
          </el-form-item>
@@ -24,20 +37,17 @@
         <el-form-item prop="customerName">
           <el-input size="small" v-model="searchForm.customerName" placeholder="客户名称" clearable></el-input>
         </el-form-item>
-        <el-form-item prop="projectHead" :rules=" [{trigger: 'blur'}]" label="项目负责人">
-          <SelectUserTree
-            ref="companyTree"
-            :props="{
-                  value: 'id',             // ID字段名
-                  label: 'name',         // 显示名称
-                  children: 'children'    // 子级字段名
-                }"
-            :url="`/sys/user/treeUserDataAllOffice?type=2`"
-            :value="searchForm.projectHead"
-            :clearable="true"
-            :accordion="true"
-            @getValue="(value) => {searchForm.projectHead=value}"/>
+        <el-form-item prop="fileUploadType">
+          <el-select v-model="searchForm.fileUploadType" placeholder="请选择上传状态" style="width:100%;">
+            <el-option
+              v-for="item in $dictUtils.getDictList('file_upload_type')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
         </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>
@@ -49,7 +59,7 @@
             <el-button v-if="hasPermission('sys:project:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
 <!--            <el-button v-if="hasPermission('sys:post:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="edit()" :disabled="$refs.projectTable && $refs.projectTable.getCheckboxRecords().length !== 1" plain>修改</el-button>-->
             <el-button v-if="hasPermission('sys:project:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.projectTable && $refs.projectTable.getCheckboxRecords().length === 0" plain>删除</el-button>
-            <el-button v-if="hasPermission('sys:project:import')"  type="default" @click="downloadTpl()" size="small">下载模板</el-button>
+            <el-button v-if="hasPermission('sys:project:import')"  type="default" @click="downloadTpl()" size="small">项目模板</el-button>
             <el-button v-if="hasPermission('sys:project:exportFile')"  type="warning" plain @click="downloadFile()" size="small">完成比例</el-button>
             <span style="margin-left:20px;color: #999999">文件上传比例 {{proport}}</span>
           </template>
@@ -97,7 +107,7 @@
               <vxe-column width="200px"  title="文号" field="documentNum" > </vxe-column>
               <vxe-column width="110px"  title="协议号" field="protocolNum" > </vxe-column>
               <vxe-column width="200px"  title="客户名称" field="customerName" > </vxe-column>
-              <vxe-column width="80px"  title="报告收费" field="reportCharges" > </vxe-column>
+              <vxe-column width="100px"  title="报告收费(元)" field="reportCharges" > </vxe-column>
               <vxe-column width="110px" title="合同是否存档" field="isContractArchive" >
                 <template slot-scope="scope">
                   {{ $dictUtils.getDictLabel("yes_no", scope.row.isContractArchive, '-') }}
@@ -114,8 +124,16 @@
                 </template>
               </vxe-column>
               <vxe-column width="110px"  title="项目负责人" field="projectHead" > </vxe-column>
-              <vxe-column width="130px"  title="评估报告日" field="evaluationReportDate" > </vxe-column>
-              <vxe-column width="130px"  title="开票日期" field="invoiceDate" > </vxe-column>
+              <vxe-column width="130px"  title="评估报告日" field="evaluationReportDate" >
+                <template slot-scope="scope">
+                  {{moment(scope.row.evaluationReportDate).format('YYYY-MM-DD')}}
+                </template>
+              </vxe-column>
+              <vxe-column width="130px"  title="开票日期" field="invoiceDate" >
+                <template slot-scope="scope">
+                  {{moment(scope.row.invoiceDate).format('YYYY-MM-DD')}}
+                </template>
+              </vxe-column>
               <vxe-column width="50px"   title="状态" field="status" >
                 <template slot-scope="scope">
                   {{ $dictUtils.getDictLabel("project_status", scope.row.status, '-') }}
@@ -174,7 +192,8 @@
           customerName: '',
           projectName: '',
           year: '',
-          projectHead: ''
+          projectHead: '',
+          fileUploadType: ''
         },
         dataList: [],
         tablePage: {