소스 검색

复核功能一二三级校审的审核 项添加一键复核功能
解决发票中对账人和对账地区选择后下拉框不自动收回问题
开票:列表页面,点击项目名称不展示项目详情。报备类型不展示,未添加报备类型筛选项
列表添加报告号展示列,添加报告号筛选列

lijt 1 년 전
부모
커밋
30275263c8

+ 4 - 1
src/components/treeSelect/treeSelect.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-select :value="valueTitle" :size="size"  :disabled="disabled" :clearable="clearable" :placeholder="placeholderText" @clear="clearHandle">
+  <el-select ref="selectTree" :value="valueTitle" :size="size"  :disabled="disabled" :clearable="clearable" :placeholder="placeholderText" @clear="clearHandle">
     <el-option :value="valueTitle"  :label="valueTitle" class="options">
       <el-tree  id="tree-option"
         ref="selectTree"
@@ -205,6 +205,7 @@ export default {
       this.valueTitle = node[this.props.label]
       this.valueId = node[this.props.value]
       this.$emit('getValue', this.valueId, this.valueTitle, node)
+      this.$refs.selectTree.blur()
     },
     handleCheckChange (data, checked, indeterminate) {
       let nodes = this.$refs.selectTree.getCheckedNodes()
@@ -215,6 +216,7 @@ export default {
         return node[this.props.value]
       }).join(',')
       this.$emit('getValue', this.valueId, this.valueTitle)
+      this.$refs.selectTree.blur()
     },
     // 清除选中
     clearHandle () {
@@ -223,6 +225,7 @@ export default {
       this.defaultExpandedKey = []
       this.clearSelected()
       this.$emit('getValue', null, null, null)
+      this.$refs.selectTree.blur()
     },
     /* 清空选中样式 */
     clearSelected () {

+ 2 - 2
src/views/modules/cw/invoice/InvoiceForm.vue

@@ -38,9 +38,9 @@
                 <el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
               </template>
             </vxe-table-column>
-            <vxe-table-column field="contractName" title="合同名称" :edit-render="{}">
+            <vxe-table-column field="contractName" title="报备类型" :edit-render="{}">
               <template v-slot:edit="scope">
-                <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
+                <el-input @focus="openContractForm()" placeholder="报备类型" :readonly="true" v-model="scope.row.contractName"/>
               </template>
             </vxe-table-column>
             <vxe-table-column field="programNo" title="项目编号" :edit-render="{}">

+ 31 - 3
src/views/modules/cw/invoice/InvoiceList.vue

@@ -9,6 +9,9 @@
         <el-form-item prop="number" label="发票号">
           <el-input size="small" v-model="searchForm.number" placeholder="请输入发票号" clearable></el-input>
         </el-form-item>
+        <el-form-item prop="reportNo" label="报告文号">
+          <el-input size="small" v-model="searchForm.reportNo" placeholder="请输入报告号" clearable></el-input>
+        </el-form-item>
 <!--        <el-form-item prop="programName" label="项目名称">-->
 <!--          <el-input size="small" v-model="searchForm.programName" placeholder="请输入项目名称" clearable @clear="clearProgram">-->
 <!--            <el-button slot="append" @click="openProgramPageForm()" icon="el-icon-search"></el-button>-->
@@ -86,6 +89,7 @@
             </el-option>
           </el-select>
         </el-form-item>
+
         <el-form-item v-if="showHideItem" prop="receivablesType" label="收款类型">
           <el-select v-model="searchForm.receivablesType" placeholder="请选择收款类型"clearable>
             <el-option
@@ -96,6 +100,18 @@
             </el-option>
           </el-select>
         </el-form-item>
+
+        <el-form-item v-if="showHideItem" prop="reportType" label="报备类型">
+          <el-select v-model="searchForm.reportType" placeholder="请选择报备类型"clearable>
+            <el-option
+              v-for="item in $dictUtils.getDictList('cw_work_client_report_type')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
         <el-form-item v-if="showHideItem" prop="billingContent" label="开票内容">
           <el-select v-model="searchForm.billingContent" placeholder="请选择开票内容"clearable>
             <el-option
@@ -194,9 +210,12 @@
           <vxe-column type="checkbox" width="40" ></vxe-column>
           <vxe-column min-width="150" title="项目名称"align="center" field="programName">
             <template slot-scope="scope">
-              <el-link  type="primary" :underline="false" @click="viewProject(scope.row.id)">{{scope.row.programName}}</el-link>
+              <el-link  type="primary" :underline="false" @click="viewProject(scope.row.programId)">{{scope.row.programName}}</el-link>
             </template>
           </vxe-column>
+
+          <vxe-column min-width="150" title="报告文号"align="center" field="reportNo"></vxe-column>
+
           <vxe-column min-width="150" title="发票申请编号"align="center" field="no">
             <template slot-scope="scope">
               <el-link  type="primary" :underline="false" @click="view(false, scope.row.id)">{{scope.row.no}}</el-link>
@@ -213,6 +232,14 @@
               {{$dictUtils.getDictLabel('invoice_billing_content', scope.row.billingContent, '-')}}
             </template>
           </vxe-column>
+
+          <vxe-column min-width="100" title="报备类型"align="center" field="reportType">
+            <template slot-scope="scope">
+              {{$dictUtils.getDictLabel('cw_work_client_report_type', scope.row.reportType, '-')}}
+            </template>
+          </vxe-column>
+
+
           <vxe-column min-width="100" title="收款类型"align="center" field="receivablesType">
             <template slot-scope="scope">
               {{$dictUtils.getDictLabel('invoice_receivables_type', scope.row.receivablesType, '-')}}
@@ -289,7 +316,8 @@
 
 <script>
   import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
-  import ProgramForm from './ProgramForm'
+   // import ProgramForm from './ProgramForm'
+  import ProgramForm from '@/views/modules/cw/projectRecords/ProjectRecordsForm'
   import InvoiceForm from './InvoiceForm'
   import pick from 'lodash.pick'
   import TaskService from '@/api/flowable/TaskService'
@@ -405,7 +433,7 @@
       },
       // 查看项目数据
       viewProject (id) {
-        this.$refs.programForm.init(id)
+        this.$refs.programForm.init('view', id)
       },
       // 获取数据列表
       refreshList () {

+ 1 - 0
src/views/modules/cw/invoice/ProgramForm.vue

@@ -225,6 +225,7 @@
         })
       },
       openProjectForm (id) {
+        console.log(id)
         this.$refs.projectForm.init('view', id)
       },
       // 表单提交

+ 96 - 2
src/views/modules/cw/reportManagement/reportReview/ReportReviewForm.vue

@@ -466,6 +466,7 @@
             </el-col>
           </el-row>
           <el-divider content-position="left"><i class="el-icon-document"></i>一级复核</el-divider>
+          <el-row class="fuhe"><button @click="changeAllSta">一键复核</button></el-row>
           <el-row :gutter="15" >
             <vxe-table
               border
@@ -487,7 +488,7 @@
               </vxe-table-column>
               <vxe-table-column width="450px" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}">
                 <template v-slot:edit="scope">
-                  <vxe-select :disabled="inputForm.taskName === '二级复核' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
+                  <vxe-select :disabled="inputForm.taskName === '二级复核' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer @change="changeOneSta(scope.row)">
                     <vxe-option
                       v-for="item in $dictUtils.getDictList('yes_no_notApplicable')"
                       :key="item.value"
@@ -654,7 +655,42 @@
   import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
   import UserService from '@/api/sys/UserService'
   import CommonApi from '@/api/cw/common/CommonApi'
+  import { ref } from 'vue'
   export default {
+    setup () {
+      const showOneKeyReviewButton = ref(false) // 是否显示一键复核按钮,默认为 false
+
+      const handleOneKeyReview = () => {
+        // 根据当前 taskName 和 reviewStatus 进行一键复核操作
+        // eslint-disable-next-line no-undef
+        if (inputForm.taskName === '一级复核' && inputForm.reviewStatus === '5') {
+          // 一级复核的一键复核操作
+          // eslint-disable-next-line no-undef
+          for (const item of inputForm.detailFor1010) {
+            item.reviewComments = '是' // 假设一键复核全部设置为"是"
+          }
+          // eslint-disable-next-line no-undef
+        } else if (inputForm.taskName === '二级复核' && inputForm.reviewStatus === '5') {
+          // 二级复核的一键复核操作
+          // eslint-disable-next-line no-undef
+          for (const item of inputForm.detailFor1020) {
+            item.reviewComments = '是' // 假设一键复核全部设置为"是"
+          }
+          // eslint-disable-next-line no-undef
+        } else if (inputForm.taskName === '三级复核' && inputForm.reviewStatus === '5') {
+          // 三级复核的一键复核操作
+          // eslint-disable-next-line no-undef
+          for (const item of inputForm.detailFor1030) {
+            item.reviewComments = '是' // 假设一键复核全部设置为"是"
+          }
+        }
+      }
+      return {
+        // 其他数据和方法...
+        showOneKeyReviewButton,
+        handleOneKeyReview
+      }
+    },
     props: {
       businessId: {
         type: String,
@@ -740,12 +776,14 @@
           industry: '',
           businessObjects: ''
         },
+        currentTab: 'one', // 默认显示第一个复核选项卡
         keyWatch: '',
         activeName: 'enclosure',
         tableKey: '',
         tableKeyClient: '1',
         tableKeyClient2: '1',
-        tableKeyClient3: '1'
+        tableKeyClient3: '1',
+        tempSelect: ''
       }
     },
     // ProjectReportService: null,
@@ -807,6 +845,40 @@
       // ReportCancellApplyChooseCom
     },
     methods: {
+      changeOneSta (obj) {
+        console.log(obj)
+        this.tempSelect = obj.reviewComments
+        this.$refs.details.reloadData(this.inputForm.detailFor1010)
+      },
+      // 点击一键复合,修改表格内所有数据状态
+      changeAllSta () {
+        if (this.tempSelect === '') {
+          this.$message.error('请最少选择一个在进行复核')
+          return
+        }
+        console.log(this.tempSelect, this.inputForm)
+        this.inputForm.detailFor1010.forEach((e) => {
+          e.reviewComments = this.tempSelect
+        })
+        this.$refs.details.reloadData(this.inputForm.detailFor1010)
+      },
+      // changeOneSta1 (obj) {
+      //   console.log(obj)
+      //   this.tempSelect1 = obj.reviewComments
+      //   this.$refs.details.reloadData(this.inputForm.detailFor1020)
+      // },
+      // // 点击一键复合,修改表格内所有数据状态
+      // changeAllSta1 () {
+      //   if (this.tempSelect1 == '') {
+      //     this.$message.error('请最少选择一个在进行复核')
+      //     return
+      //   }
+      //   console.log(this.tempSelect1,this.inputForm)
+      //   this.inputForm.detailFor1020.forEach( ( e ) => {
+      //     e.reviewComments = this.tempSelect1
+      //   })
+      //   this.$refs.details.reloadData(this.inputForm.detailFor1020)
+      // },
       getKeyWatch (keyWatch) {
         this.keyWatch = keyWatch
       },
@@ -1313,4 +1385,26 @@
   /deep/ .el-input-number .el-input__inner {
     text-align: left;
   }
+  .fuhe {
+    display: flex;
+    align-items: center;
+    justify-content: right;
+    width: 100%;
+    box-sizing: border-box;
+    padding-right: 100px;
+  }
+  .fuhe button {
+    position: relative;
+    top: 40px;
+    width: 90px;
+    height: 35px;
+    border: 0;
+    background-color: #fff;
+    color: #333;
+    line-height: 35px;
+    text-align: center;
+    border: 1px solid #cccccc;
+    z-index: 100;
+    border-radius: 5px;
+  }
 </style>

+ 4 - 1
src/views/modules/utils/treeUserSelect.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-select :value="valueTitle" :size="size"  :disabled="disabled" :clearable="clearable" :placeholder="placeholderText" @clear="clearHandle">
+  <el-select ref="selectCom" :value="valueTitle" :size="size"  :disabled="disabled" :clearable="clearable" :placeholder="placeholderText" @clear="clearHandle">
     <el-option :value="valueTitle"  :label="valueTitle" class="options">
       <el-tree  id="tree-option"
         ref="selectTree"
@@ -189,6 +189,7 @@ export default {
       this.valueTitle = node[this.props.label]
       this.valueId = node[this.props.value]
       this.$emit('getValue', this.valueId, this.valueTitle, node)
+      this.$refs.selectCom.blur()
     },
     handleCheckChange (data, checked, indeterminate) {
       let nodes = this.$refs.selectTree.getCheckedNodes()
@@ -199,6 +200,7 @@ export default {
         return node[this.props.value]
       }).join(',')
       this.$emit('getValue', this.valueId, this.valueTitle)
+      this.$refs.selectCom.blur()
     },
     // 清除选中
     clearHandle () {
@@ -207,6 +209,7 @@ export default {
       this.defaultExpandedKey = []
       this.clearSelected()
       this.$emit('getValue', null, null, null)
+      this.$refs.selectCom.blur()
     },
     /* 清空选中样式 */
     clearSelected () {