فهرست منبع

Merge remote-tracking branch 'origin/master'

徐滕 2 ماه پیش
والد
کامیت
bde1aa7713

+ 318 - 147
src/views/cw/projectReportArchive/ProjectReportArchiveDia.vue

@@ -8,14 +8,8 @@
           <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method === 'view' ? 'readonly' : ''"
             :disabled="method === 'view'" label-width="110px" @submit.native.prevent>
             <el-row :gutter="15">
-              <!--                <el-col :span="12">-->
-              <!--                  <el-form-item label="档案名称" prop="name"-->
-              <!--                                :rules="[-->
-              <!--                                {required: true, message:'档案名称不能为空', trigger:'blur'}-->
-              <!--                   ]">-->
-              <!--                    <el-input v-model="inputForm.name" placeholder="请填写档案名称" clearable></el-input>-->
-              <!--                  </el-form-item>-->
-              <!--                </el-col>-->
+              <el-divider content-position="left"><i class="el-icon-document"></i> 归档信息</el-divider>
+
               <el-col :span="12">
                 <el-form-item label="档案号" prop="fileNumber" :rules="[
                 ]">
@@ -23,33 +17,74 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="项目名称" prop="cwProjectRecordsDTO.projectName" :rules="[
+                <el-form-item label="审计收费(元)" prop="auditMoney" :rules="[
+                  { required: true, message: '请输入审计收费(元)', trigger: 'blur' }
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.cwProjectRecordsDTO.projectName" placeholder="请填写项目名称"
-                    clearable>
-                    <!--                      <el-button slot="append" :disabled="method === 'view'" @click="openChooseProject" icon="el-icon-search"></el-button>-->
+                  <el-input v-on:input="inputForm.auditMoney = inputForm.auditMoney.replace(/[^\d.]/g, '')
+                    .replace(/^\./g, '')
+                    .replace(/\.{2,}/g, '.')
+                    .replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
+                    .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^0+/, '0')" v-model="inputForm.auditMoney"
+                    controls-position="right" :controls="false" style="width:100%;" placeholder="请输入审计收费(元)"
+                    :disabled="this.inputForm.auditMoney == this.accountTotal && this.accountTotal != 0 ? true : false"
+                    clearable @keyup="inputMoney">
+                    <template #suffix>
+                      <el-button style="background-color: white;color: #1b1e25;border-color: white;" type="primary"
+                        @click="openInvoice(this.inputForm.id)" icon="el-icon-search"></el-button>
+                    </template>
                   </el-input>
                 </el-form-item>
               </el-col>
+
               <el-col :span="12">
-                <el-form-item label="项目编号" prop="cwProjectRecordsDTO.projectNumber" :rules="[
+                <el-form-item label="档案年度" prop="year" :rules="[
+                  { required: true, message: '档案年度不能为空', trigger: 'blur' }
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.cwProjectRecordsDTO.projectNumber" placeholder="请填写项目编号"
-                    clearable></el-input>
+                  <el-date-picker :disabled="true" v-model="inputForm.year" type="year" value-format="YYYY"
+                    placeholder="选择档案年度" style="width:100%" placement="bottom-start" :clearable="false">
+                  </el-date-picker>
                 </el-form-item>
               </el-col>
+              <el-divider content-position="left"><i class="el-icon-document"></i> 项目报告信息</el-divider>
               <el-col :span="12">
-                <el-form-item label="项目经理1" prop="cwProjectRecordsDTO.projectMasterName" :rules="[
+                <el-form-item label="委托项目类型" prop="entrustType" :rules="[
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.cwProjectRecordsDTO.projectMasterName"
-                    placeholder="请填写项目经理1"></el-input>
+                  <el-select v-model="inputForm.entrustType" placeholder="请选择委托项目类型" style="width:100%;">
+                    <el-option v-for="item in $dictUtils.getDictList('cw_entrust_type')" :key="item.value"
+                      :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+
+
+              <el-col :span="12" v-if="inputForm.projectMaster">
+                <el-form-item label="项目现场负责人" prop="projectMaster">
+                  <SelectUserTree :disabled="true" ref="companyTree" size="large" :props="{
+                    value: 'id',             // ID字段名
+                    label: 'name',         // 显示名称
+                    children: 'children'    // 子级字段名
+                  }" :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`" :value="inputForm.projectMaster"
+                    :clearable="true" :accordion="true" @getValue="(value) => { inputForm.projectMaster = value }" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12" v-else>
+                <el-form-item label="项目现场负责人" prop="realHeader">
+                  <SelectUserTree :disabled="true" ref="companyTree" size="large" :props="{
+                    value: 'id',             // ID字段名
+                    label: 'name',         // 显示名称
+                    children: 'children'    // 子级字段名
+                  }" :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`" :value="inputForm.realHeader"
+                    :clearable="true" :accordion="true" @getValue="(value) => { inputForm.realHeader = value }" />
                 </el-form-item>
               </el-col>
+
               <el-col :span="12">
-                <el-form-item label="项目经理2" prop="cwProjectRecordsDTO.realHeaderName" :rules="[
+                <el-form-item label="报告文号" prop="reportNo" :rules="[
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.cwProjectRecordsDTO.realHeaderName"
-                    placeholder="请填写项目经理2"></el-input>
+                  <el-input :disabled="true" v-model="inputForm.reportNo" placeholder="请填写报告文号" clearable>
+                    <!--                    <el-button slot="append" :disabled="status === 'audit' || status === 'taskFormDetail'" @click="openReportChoose" icon="el-icon-search"></el-button>-->
+                  </el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -57,186 +92,155 @@
                   { required: true, message: '被审计单位不能为空', trigger: 'blur' },
                   { required: true, message: '被审计单位不能为空', trigger: 'change' }
                 ]">
-                  <el-input :disabled="true" :readonly="true" v-model="inputForm.auditedUnitsName"
-                    @focus="openChooseClient" placeholder="请填写被审计单位" clearable>
-                    <el-button slot="append" :disabled="method === 'view'" @click="openChooseClient"
-                      icon="el-icon-search"></el-button>
+                  <el-input :disabled="true" v-model="inputForm.auditedUnitsName" @click="openChooseClient"
+                    placeholder="请填写被审计单位" clearable>
+                    <el-button slot="append" @click="openChooseClient" icon="el-icon-search"></el-button>
                   </el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="报告册数" prop="reportNum" :rules="[
-                  { required: true, message: '报告册数不能为空', trigger: 'blur' }
+                <el-form-item label="报告名称" prop="reportName" :rules="[
                 ]">
-                  <el-input-number v-model="inputForm.reportNum" controls-position="right" style="width:100%"
-                    :precision="0" :max="9999999999" :step="1" :min="0" :disabled="true" placeholder="请填写报告册数"
-                    :controls="false" clearable>
-                  </el-input-number>
+                  <el-input :disabled="true" v-model="inputForm.reportName" placeholder="请填写报告名称" clearable>
+                    <!--                      <el-button slot="append" :disabled="status === 'audit' || status === 'taskFormDetail'" @click="openChooseProject" icon="el-icon-search"></el-button>-->
+                  </el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="底稿册数" prop="papersNum" :rules="[
-                  { required: true, message: '底稿册数不能为空', trigger: 'blur' }
+                <el-form-item label="报告日期" prop="reportDate" :rules="[
                 ]">
-                  <el-input-number v-model="inputForm.papersNum" controls-position="right" style="width:100%"
-                    :precision="0" :max="9999999999" :step="1" :min="0" :disabled="true" placeholder="请填写底稿册数"
-                    :controls="false" clearable>
-                  </el-input-number>
+                  <!-- <el-input :disabled="status === 'taskFormDetail'" v-model="inputForm.reportDate" placeholder="请填写报告日期"
+                  clearable></el-input> -->
+                  <el-date-picker style="width:100%" placement="bottom-start" value-format="YYYY-MM-DD HH:mm:ss"
+                    format="YYYY-MM-DD" type="date" :disabled="true" v-model="inputForm.reportDate"
+                    placeholder="选择报告日期">
+                  </el-date-picker>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="审计收费(元)" prop="auditMoney" :rules="[
-                  { required: true, message: '请输入审计收费(元)', trigger: 'blur' }
+                <el-form-item label="二级复核" prop="secondAuditName" :rules="[
                 ]">
-                  <el-input-number @input="fixedAccount" :precision="2" v-model="inputForm.auditMoney"
-                    controls-position="right" :controls="false" style="width:100%;" :min="0.00" :disabled="true"
-                    :max="9999999999999999" :step="0.01" placeholder="请输入审计收费(元)" clearable>
-                  </el-input-number>
-                </el-form-item>
-              </el-col>
-
-              <el-col :span="12" v-if="isShow">
-                <el-form-item label="关联报告" prop="connectReport" :rules="[
-                  { required: true, message: '关联报告不能为空', trigger: 'blur' },
-                  { required: true, message: '关联报告不能为空', trigger: 'change' }
-                ]">
-                  <el-input :readonly="true" v-model="inputForm.connectReport" placeholder="请填写关联报告" clearable>
+                  <el-input :disabled="true" v-model="inputForm.secondAuditName" placeholder="" clearable>
                   </el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="档案年度" prop="year" :rules="[
-                  { required: true, message: '档案年度不能为空', trigger: 'blur' }
+                <el-form-item label="归档时间" prop="auditDate" :rules="[
                 ]">
-                  <el-date-picker v-model="inputForm.year" type="year" value-format="YYYY" placeholder="选择档案年度"
-                    style="width:100%" placement="bottom-start" :clearable="false">
+                  <!-- <el-input :disabled="status === 'taskFormDetail'" v-model="inputForm.auditDate" placeholder="请填写归档时间"
+                  clearable></el-input> -->
+                  <el-date-picker v-model="inputForm.auditDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
+                    format="YYYY-MM-DD HH:mm:ss" placeholder="选择归档时间" style="width:100%" placement="bottom-start"
+                    :clearable="false">
                   </el-date-picker>
                 </el-form-item>
               </el-col>
-              <el-col v-if="status !== 'audit'" :span="12">
-                <el-form-item label="盒号" prop="number" :rules="[
-                ]">
-                  <el-input v-model="inputForm.number" placeholder="请填写盒号" clearable></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col v-if="status !== 'audit'" :span="12">
-                <el-form-item label="确认盒号" prop="isNumber" :rules="[
-                ]">
-                  <el-input v-model="inputForm.isNumber" placeholder="请填写确认盒号" clearable></el-input>
-                </el-form-item>
-              </el-col>
-
-              <!-- <el-col v-if="status !== 'audit'" :span="12">
-                <el-form-item label="备注" prop="approveRemarks" :rules="[
-                ]">
-                  <el-input type="textarea" :disabled="false" style="width: 100%" v-model="inputForm.approveRemarks"
-                    placeholder="请填写备注" clearable></el-input>
-                </el-form-item>
-              </el-col> -->
-              <el-form v-if="status === 'audit'" :model="inputForm" ref="inputForm" v-loading="loading"
-                :class="method === 'view' ? 'readonly' : ''" label-width="135px" @submit.native.prevent>
-                <el-col :span="12">
-                  <el-form-item label="盒号" prop="number" :rules="[
-                    { required: true, message: '盒号不能为空', trigger: 'blur' }
-                  ]">
-                    <el-input :disabled="false" v-model="inputForm.number" placeholder="请填写盒号" clearable></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                  <el-form-item label="确认盒号" prop="isNumber" :rules="[
-                    { required: true, message: '确认盒号不能为空', trigger: 'blur' }
-                  ]">
-                    <el-input :disabled="false" v-model="inputForm.isNumber" placeholder="请填写确认盒号" clearable></el-input>
-                  </el-form-item>
-                </el-col>
-                <!-- <el-col :span="12">
-                  <el-form-item label="备注" prop="approveRemarks" :rules="[
-                  ]">
-                    <el-input type="textarea" :disabled="false" style="width: 100%" v-model="inputForm.approveRemarks"
-                      placeholder="请填写备注" clearable></el-input>
-                  </el-form-item>
-                </el-col> -->
-              </el-form>
               <el-col :span="12">
-                <el-form-item label="归档时间" prop="auditDate" :rules="[
+                <el-form-item label="签字注师1" prop="signatureAnnotator1Name" :rules="[
+                  { validator: validateSignatures, trigger: 'blur' },
                 ]">
-                  <!--                    <el-input  v-model="inputForm.auditDate" placeholder="请填写归档时间" clearable></el-input>-->
-                  <el-date-picker v-model="inputForm.auditDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
-                    placeholder="选择归档时间" style="width:100%" size="default" placement="bottom-start" clearable>
-                  </el-date-picker>
+                  <el-input clearable v-model="inputForm.signatureAnnotator1Name"
+                    @clear.native="clearSignatureAnnotator1Name" @click="openUserDia1" placeholder="请填写签字注师1">
+                    <template #suffix>
+                      <el-button style="background-color: white;color: #1b1e25;border-color: white;" type="primary"
+                        slot="append" icon="el-icon-search" @click="openUserDia1">
+                      </el-button>
+                    </template>
+                  </el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="24">
-                <el-form-item label="备注" prop="remarks" :rules="[
+              <el-col :span="12">
+                <el-form-item label="签字注师2" prop="signatureAnnotator2Name" :rules="[
+                  { validator: validateSignatures, trigger: 'blur' },
                 ]">
-                  <el-input :disabled="true" type="textarea" style="width:100%" maxlength="1000"
-                    v-model="inputForm.remarks" placeholder="请填写备注" show-word-limit></el-input>
-
+                  <el-input clearable v-model="inputForm.signatureAnnotator2Name"
+                    @clear.native="clearSignatureAnnotator2Name" @click="openUserDia2" placeholder="请填写签字注师2">
+                    <template #suffix>
+                      <el-button style="background-color: white;color: #1b1e25;border-color: white;" type="primary"
+                        slot="append" icon="el-icon-search" @click="openUserDia2">
+                      </el-button>
+                    </template>
+                  </el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="申请人" prop="createBy.name" :rules="[
+                <el-form-item label="报告册数" prop="reportNum" :rules="[
+                  { required: true, message: '报告册数不能为空', trigger: 'blur' }
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.createBy.name" placeholder="请填写创建人"
-                    clearable></el-input>
+                  <el-input-number v-model="inputForm.reportNum" controls-position="right" style="width:100%"
+                    :precision="0" :max="9999999999" :step="1" :min="0" placeholder="请填写报告册数" :controls="false"
+                    clearable>
+                  </el-input-number>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="申请时间" prop="createDate" :rules="[
+                <el-form-item label="底稿册数" prop="papersNum" :rules="[
+                  { required: true, message: '底稿册数不能为空', trigger: 'blur' }
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.createDate" placeholder="请填写创建时间" clearable></el-input>
+                  <el-input-number v-model="inputForm.papersNum" controls-position="right" style="width:100%"
+                    :precision="0" :max="9999999999" :step="1" :min="0" placeholder="请填写底稿册数" :controls="false"
+                    clearable>
+                  </el-input-number>
                 </el-form-item>
               </el-col>
-            </el-row>
-            <el-divider content-position="left"><i class="el-icon-document"></i> 审计报告</el-divider>
-            <el-row :gutter="15">
-              <el-col :span="12">
-                <el-form-item label="报告文号" prop="reportNo" :rules="[
+              <el-col :span="24">
+                <el-form-item label="合同" prop="contract" :rules="[
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.reportNo" placeholder="请填写报告文号" clearable>
-                    <!--                  <el-button slot="append" :disabled="formReadOnly" @click="openReportChoose" icon="el-icon-search"></el-button>-->
+                  <el-input v-model="inputForm.contract" placeholder="参考兴光流转表中合同列填写。如:有、2018-A5等" clearable>
                   </el-input>
                 </el-form-item>
               </el-col>
+
               <el-col :span="12">
-                <el-form-item label="报告日期" prop="reportDate" :rules="[
+                <el-form-item label="盒号" prop="number" :rules="[
+                  { required: true, message: '盒号不能为空', trigger: 'blur' }
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.reportDate" placeholder="请填写报告日期" clearable></el-input>
+                  <el-input style="width: 100%" :disabled="false" v-model="inputForm.number" placeholder="请填写盒号"
+                    clearable></el-input>
+                  <span style="color: #E6A23C; font-weight: bold;">{{ boxNumberTips }}</span>
+
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="签字注师1" prop="signatureAnnotator1Name" :rules="[
+                <el-form-item label="确认盒号" prop="isNumber" :rules="[
+                  { required: true, message: '确认盒号不能为空', trigger: 'blur' }
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.signatureAnnotator1Name" placeholder="请填写签字注师1"
+                  <el-input :disabled="false" style="width: 100%" v-model="inputForm.isNumber" placeholder="请填写确认盒号"
                     clearable></el-input>
                 </el-form-item>
               </el-col>
+
               <el-col :span="12">
-                <el-form-item label="签字注师2" prop="signatureAnnotator2Name" :rules="[
+                <el-form-item class="star-require" label="审定金额(不含税/元)" prop="approvedNoIncludingTax" :rules="[
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.signatureAnnotator2Name" placeholder="请填写签字注师2"
-                    clearable></el-input>
+                  <el-input :disabled="true" v-model="inputForm.approvedNoIncludingTax"
+                    :placeholder="`报告中审定金额(不含税/元)为:${this.inputForm.approvedNoIncludingTaxBak}元。与所填写不同,如需归档,请进行同步,保证金额相同`"
+                    v-on:input="inputForm.approvedNoIncludingTax = inputForm.approvedNoIncludingTax.replace(/[^\d.]/g, '')
+                      .replace(/^\./g, '')
+                      .replace(/\.{2,}/g, '.')
+                      .replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
+                      .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^0+/, '0')" clearable></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="报告主办人" prop="reportCreateName" :rules="[
+                <el-form-item class="star-require" label="审定金额(含税/元)" prop="approvedIncludingTax" :rules="[
                 ]">
-                  <el-input :disabled="true" v-model="inputForm.reportCreateName" placeholder="请填写报告主办人"
-                    clearable></el-input>
+                  <el-input :disabled="true" v-model="inputForm.approvedIncludingTax"
+                    :placeholder="`报告中审定金额(含税/元)为:${this.inputForm.approvedIncludingTaxBak}元。与所填写不同,如需归档,请进行同步,保证金额相同`"
+                    v-on:input="inputForm.approvedIncludingTax = inputForm.approvedIncludingTax.replace(/[^\d.]/g, '')
+                      .replace(/^\./g, '')
+                      .replace(/\.{2,}/g, '.')
+                      .replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
+                      .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^0+/, '0')" clearable></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="备注" prop="remarks" :rules="[
+                ]">
+                  <el-input type="textarea" :disabled="false" style="width: 100%" v-model="inputForm.remarks"
+                    placeholder="请填写备注" clearable></el-input>
                 </el-form-item>
               </el-col>
-              <el-form :model="inputForm" ref="inputForm" v-loading="loading"
-                :class="method === 'view' ? 'readonly' : ''" :disabled="status !== 'audit'" label-width="110px"
-                @submit.native.prevent>
-                <el-col :span="24">
-                  <el-form-item label="审计意见" prop="reportRemarks" :rules="[
-                  ]">
-                    <el-input type="textarea" style="width:100%" maxlength="225" v-model="inputForm.reportRemarks"
-                      placeholder="请填写审计意见" show-word-limit></el-input>
-
-                  </el-form-item>
-                </el-col>
-              </el-form>
             </el-row>
           </el-form>
           <el-tabs v-model="activeName" type="border-card" @tab-click="tabHandleClick">
@@ -259,8 +263,59 @@
       <WorkClientChooseByProjectCom ref="workClientChooseByProjectCom" @getClient="getClient">
       </WorkClientChooseByProjectCom>
       <ReportChooseByProjectCom ref="reportChooseByProjectCom" @getReport="getReport"></ReportChooseByProjectCom>
+
+      <user-select1 ref="userSelect1" @doSubmit="selectUser1"></user-select1>
+      <user-select2 ref="userSelect2" @doSubmit="selectUser2"></user-select2>
+      <el-dialog title="开票信息选择" :close-on-click-modal="false" draggable width="1100px" height="500px"
+        @close="closeTable" append-to-body v-model="dialogTableVisible">
+        <div style="height: calc(100% - 80px);">
+          <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
+            <!-- 搜索框-->
+            <el-form-item label="发票号" prop="number">
+              <el-input v-model="searchForm.number" placeholder="请输入发票号" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="开票申请编号" prop="no">
+              <el-input v-model="searchForm.no" placeholder="请输入开票申请编号" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="报告号" prop="reportNo">
+              <el-input v-model="searchForm.reportNo" placeholder="请输入报告号" clearable></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button :loading="invoiceLoading" type="primary" @click="getReport(this.inputForm.id)"
+                icon="el-icon-search">查询</el-button>
+              <el-button :loading="invoiceLoading" @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
+            </el-form-item>
+          </el-form>
+
+          <vxe-table :loading="invoiceLoading" border="inner" auto-resize resizable height="400px" ref="auditData"
+            show-header-overflow show-overflow="title" highlight-hover-row @checkbox-change="selectionChangeHandle"
+            :menu-config="{}" :print-config="{}" :sort-config="{ remote: true }" :data="dataList"
+            :row-config="{ isCurrent: true }" :radio-config="{ trigger: 'row' }">
+
+            <vxe-column type="seq" width="60" title="序号"></vxe-column>
+            <vxe-column type="checkbox" width="60px"></vxe-column>
+            <vxe-column min-width="230" align="center" title="项目名称" field="projectName"></vxe-column>
+            <vxe-column min-width="160" align="center" title="报告号" field="reportNo"></vxe-column>
+            <vxe-column min-width="160" align="center" title="开票申请编号" field="no"></vxe-column>
+            <vxe-column min-width="160" align="center" title="发票号" field="number"></vxe-column>
+            <vxe-column min-width="160" align="center" title="开票金额(元)" field="account"></vxe-column>
+            <vxe-column min-width="160" align="center" title="开票申请人" field="billingPeople"></vxe-column>
+            <vxe-column min-width="160" align="center" title="开票时间" field="billingDate"></vxe-column>
+
+          </vxe-table>
+        </div>
+        <template #footer>
+          <span class="dialog-footer">
+            <el-button @click="closeReport" icon="el-icon-circle-close">关闭</el-button>
+            <el-button :loading="invoiceLoading" type="primary" @click="getData()" icon="el-icon-circle-check"
+              :disabled="this.searchForm.totalAudit == 0 ? true : false" v-noMoreClick>({{ this.searchForm.totalAudit
+              }})确定</el-button>
+          </span>
+        </template>
+      </el-dialog>
     </el-dialog>
 
+
   </div>
 </template>
 
@@ -270,6 +325,10 @@ import ProjectReportArchiveService from '@/api/cw/projectRecords/ProjectReportAr
 import ProjectRecordsChooseCom from '@/views/cw/projectRecords/ProjectRecordsChooseCom'
 import WorkClientChooseByProjectCom from '@/views/cw/projectReportArchive/WorkClientChooseByProjectCom'
 import ReportChooseByProjectCom from '@/views/cw/projectReportArchive/ReportChooseByProjectCom'
+import SelectUserTree from '@/views/utils/treeUserSelect'
+import ProjectRecordsService from "@/api/cw/projectRecords/ProjectRecordsService";
+import UserSelect1 from '@/views/utils/UserTreeSelect'
+import UserSelect2 from '@/views/utils/UserTreeSelect'
 export default {
   props: {
     businessId: {
@@ -287,9 +346,13 @@ export default {
   },
   data() {
     return {
+      invoiceLoading: false,
+      selectRecord: [],
+      dataList: [],
       title: '',
       method: '',
       loading: false,
+      dialogTableVisible: false,
       dialogVisible: false,
       inputForm: {
         id: '',
@@ -298,6 +361,7 @@ export default {
           id: '',
           name: ''
         },
+        entrustType: '',
         remarks: '',
         projectId: '',
         name: '',
@@ -344,11 +408,22 @@ export default {
         reportId: '',
         reportRemarks: ''
       },
+      searchForm: {
+        projectName: '',
+        reportNo: '',
+        no: '',
+        number: '',
+        billingPeople: '',
+        account: '',
+        billingDate: '',
+        totalAudit: ''
+      },
       keyWatch: '',
       activeName: 'files',
       tableKeyReport: '',
       isShow: false,
-      visible: false
+      visible: false,
+      accountTotal: '',
     }
   },
   projectReportArchiveService: null,
@@ -383,7 +458,10 @@ export default {
     UpLoadComponent,
     ProjectRecordsChooseCom,
     WorkClientChooseByProjectCom,
-    ReportChooseByProjectCom
+    ReportChooseByProjectCom,
+    SelectUserTree,
+    UserSelect1,
+    UserSelect2
   },
   methods: {
     getKeyWatch(keyWatch) {
@@ -407,6 +485,7 @@ export default {
           id: '',
           name: this.$store.state.user.name
         },
+        entrustType: '',
         remarks: '',
         projectId: '',
         name: '',
@@ -454,6 +533,7 @@ export default {
         reportRemarks: ''
       }
       this.inputForm.id = id
+      //查询报告
       this.loading = false
       this.$nextTick(() => {
         this.$refs.inputForm.resetFields()
@@ -626,6 +706,7 @@ export default {
           id: '',
           name: ''
         },
+        entrustType: '',
         remarks: '',
         projectId: '',
         name: '',
@@ -672,6 +753,7 @@ export default {
         reportId: '',
         reportRemarks: ''
       }
+      this.selectRecord = []
       this.$refs.uploadComponent.clearUpload()
       this.$refs.inputForm.resetFields()
       this.inputForm.reportId = ''
@@ -753,9 +835,98 @@ export default {
     },
     //打开开票列表页面
     openInvoice() {
-      this.dialogVisible = true
+      this.getReportList()
+      this.searchForm.totalAudit = 0
+      this.dialogTableVisible = true
+    },
+    resetSearch() {
+      this.dataListAllSelections = []
+      this.$refs.searchForm.resetFields()
+      this.getReportList()
+    },
+    getReportList() {
+      this.invoiceLoading = true
+      ProjectRecordsService.getReportById({
+        id: this.inputForm.id,
+        cwProjectRecordsDTO: this.searchForm
+      }).then((res) => {
+        this.dataList = res
+        this.invoiceLoading = false
+      }).catch(() => {
+        this.invoiceLoading = false
+      })
+    },
+    selectionChangeHandle() {
+      this.selectRecord = this.$refs.auditData.getCheckboxRecords()
+      this.searchForm.totalAudit = this.countTotal(this.selectRecord, 'account')
     },
 
+    closeTable() {
+      this.$refs.searchForm.resetFields()
+      this.dialogTableVisible = false
+    },
+    getData() {
+      this.accountTotal = this.countTotal(this.selectRecord, 'account')
+      this.dialogTableVisible = false
+      this.inputForm.auditMoney = this.accountTotal
+    },
+    closeReport() {
+      this.dialogTableVisible = false
+      this.inputForm.auditMoney = ''
+    },
+    inputMoney() {
+      // if (/^0+$/.test(this.inputForm.auditMoney)) {
+      // 	this.inputForm.auditMoney = "0";
+      // }
+      if (this.inputForm.auditMoney === '0') {
+        this.isShow = true
+      } else {
+        this.isShow = false
+      }
+    },
+    // 签字注师1校验
+    validateSignatures(rule, value, callback) {
+      const { signatureAnnotator1Name, signatureAnnotator2Name } = this.inputForm
+      if (
+        (signatureAnnotator1Name && !signatureAnnotator2Name) ||
+        (!signatureAnnotator1Name && signatureAnnotator2Name)
+      ) {
+        callback(new Error('签字注师1和签字注师2需同时填写或同时为空'))
+      } else {
+        callback()
+      }
+    },
+    openUserDia1() {
+      this.$refs.userSelect1.init()
+    },
+    selectUser1(user) {
+      this.inputForm.signatureAnnotator1Name = user[0].name
+      this.inputForm.signatureAnnotator1 = user[0].id
+      this.$refs.inputForm.validateField('signatureAnnotator1Name')
+      this.$refs.inputForm.validateField('signatureAnnotator2Name')
+    },
+    openUserDia2() {
+      this.$refs.userSelect2.init()
+    },
+    selectUser2(user) {
+      console.log(user[0].name)
+      this.inputForm.signatureAnnotator2Name = user[0].name
+      this.inputForm.signatureAnnotator2 = user[0].id
+      this.$refs.inputForm.validateField('signatureAnnotator1Name')
+      this.$refs.inputForm.validateField('signatureAnnotator2Name')
+    },
+    clearSignatureAnnotator1Name() {
+      this.inputForm.signatureAnnotator1Name = ''
+      this.inputForm.signatureAnnotator1 = ''
+      this.$refs.inputForm.validateField('signatureAnnotator1Name')
+      this.$refs.inputForm.validateField('signatureAnnotator2Name')
+    },
+    clearSignatureAnnotator2Name() {
+      this.inputForm.signatureAnnotator2Name = ''
+      this.inputForm.signatureAnnotator2 = ''
+      this.$refs.inputForm.validateField('signatureAnnotator1Name')
+      this.$refs.inputForm.validateField('signatureAnnotator2Name')
+    },
   }
 }
 </script>

+ 1 - 0
src/views/cw/projectReportArchive/ProjectReportArchiveList.vue

@@ -575,6 +575,7 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(async () => {
+        this.loading = true
         let data = await this.projectReportArchiveService.queryById(row.id)
         if (data.status !== '8') { // status的值不等于“审核中”,就弹出提示
           this.$message.error('数据已发生改变或不存在,请刷新数据')

+ 27 - 18
src/views/cw/projectReportArchive/ProjectReportArchiveVoidTaskForm.vue

@@ -129,24 +129,21 @@
                 <el-input :disabled="true" v-model="inputForm.isNumber" placeholder="请填写确认案卷号" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-form v-if="status === 'audit'" style="width: 100%" :model="inputForm" ref="inputForm"
-              v-loading="loading" :class="method === 'view' ? 'readonly' : ''" label-width="110px"
-              @submit.native.prevent>
-              <el-col :span="12">
-                <el-form-item label="案卷号" prop="number" :rules="[
-                ]">
-                  <el-input style="width: 100%" :disabled="true" v-model="inputForm.number" placeholder="请填写案卷号"
-                    clearable></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="确认案卷号" prop="isNumber" :rules="[
-                ]">
-                  <el-input :disabled="true" style="width: 100%" v-model="inputForm.isNumber" placeholder="请填写确认案卷号"
-                    clearable></el-input>
-                </el-form-item>
-              </el-col>
-            </el-form>
+
+            <el-col :span="12">
+              <el-form-item label="案卷号" prop="number" :rules="[
+              ]">
+                <el-input style="width: 100%" :disabled="true" v-model="inputForm.number" placeholder="请填写案卷号"
+                  clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="确认案卷号" prop="isNumber" :rules="[
+              ]">
+                <el-input :disabled="true" style="width: 100%" v-model="inputForm.isNumber" placeholder="请填写确认案卷号"
+                  clearable></el-input>
+              </el-form-item>
+            </el-col>
 
             <el-col :span="24">
               <el-form-item label="备注" prop="remarks" :rules="[
@@ -168,6 +165,18 @@
                 <el-input :disabled="true" v-model="inputForm.createDate" placeholder="请填写创建时间" clearable></el-input>
               </el-form-item>
             </el-col>
+            <el-form style="width: 100%" :model="inputForm" ref="inputForm" v-loading="loading"
+              :class="method === 'view' ? 'readonly' : ''" label-width="110px" @submit.native.prevent>
+              <el-col :span="24">
+                <el-form-item label="作废原因" prop="voidReason" :rules="[
+                  { required: true, message: '作废原因不能为空', trigger: 'blur' }
+                ]">
+                  <el-input type="textarea" :disabled="status !== 'startAndCloseFiled'" v-model="inputForm.voidReason"
+                    placeholder="请填写作废原因" clearable>
+                  </el-input>
+                </el-form-item>
+              </el-col>
+            </el-form>
           </el-row>
           <el-divider content-position="left"><i class="el-icon-document"></i> 审计报告</el-divider>
           <el-row :gutter="15">