Prechádzať zdrojové kódy

财务模块代码提交

wangqiang 2 rokov pred
rodič
commit
820d83c69a

+ 8 - 8
src/api/materialManagement/MaterialManagementService.js

@@ -1,44 +1,44 @@
-import request from '@/utils/httpRequest'
+import request from "@/utils/httpRequest";
 
 export default class MaterialManagementService {
   list (param) {
     return request({
-      url: '/material/management/list',
+      url: prefix + '/material/management/list',
       method: 'get',
       params: param
     })
   }
   save (param) {
     return request({
-      url: '/material/management/save',
+      url: prefix + '/material/management/save',
       method: 'post',
       data: param
     })
   }
   findById (id) {
     return request({
-      url: '/material/management/findById',
+      url: prefix + '/material/management/findById',
       method: 'get',
       params: {id: id}
     })
   }
   remove (id) {
     return request({
-      url: '/material/management/remove',
+      url: prefix + '/material/management/remove',
       method: 'get',
       params: {id: id}
     })
   }
   updateStatusById (param) {
     return request({
-      url: '/material/management/updateStatusById',
+      url: prefix + '/material/management/updateStatusById',
       method: 'post',
       data: param
     })
   }
   exportFile (params) {
     return request({
-      url: '/reimbursementApproval/info/exportFile',
+      url: prefix + '/reimbursementApproval/info/exportFile',
       method: 'get',
       params: params,
       responseType: 'blob'
@@ -46,7 +46,7 @@ export default class MaterialManagementService {
   }
   findTradeByTypeId (typeId) {
     return request({
-      url: '/material/management/findTradeByTypeId',
+      url: prefix + '/material/management/findTradeByTypeId',
       method: 'get',
       params: {typeId: typeId}
     })

+ 15 - 16
src/views/cw/invoice/ContractForm.vue

@@ -3,25 +3,25 @@
     <el-dialog
       title="选择合同"
       :close-on-click-modal="false"
-      v-dialogDrag
+	  draggable
       width="1100px"
       height="500px"
       @close="close"
       append-to-body
-      :visible.sync="visible">
+      v-model="visible">
       <div style="height: calc(100% - 80px);">
-        <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
+        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
           <!-- 搜索框-->
           <el-form-item label="合同名称" prop="name">
-            <el-input size="small" v-model="searchForm.name" placeholder="请输入合同名称" clearable></el-input>
+            <el-input v-model="searchForm.name" placeholder="请输入合同名称" clearable></el-input>
           </el-form-item>
           <el-form-item label="委派方" prop="clientName">
-            <el-input size="small" v-model="searchForm.clientName" placeholder="请输入委派方" clearable></el-input>
+            <el-input v-model="searchForm.clientName" placeholder="请输入委派方" clearable></el-input>
           </el-form-item>
 
           <el-form-item>
-            <el-button type="primary" @click="list()" size="small" icon="el-icon-search">查询</el-button>
-            <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+            <el-button type="primary" @click="list()" icon="el-icon-search">查询</el-button>
+            <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
           </el-form-item>
         </el-form>
 
@@ -31,14 +31,12 @@
           resizable
           height="400px"
           :loading="loading"
-          size="small"
           ref="workContractTable"
           show-header-overflow
           show-overflow
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
-          @sort-change=""
           :sort-config="{remote:true}"
           :data="dataList"
           :row-config="{isCurrent: true}"
@@ -50,7 +48,7 @@
           <vxe-column  title="合同名称" field="name"></vxe-column>
           <vxe-column width="150px" title="委派方" field="clientName"></vxe-column>
           <vxe-column width="150px" title="合同类型" field="contractType">
-            <template slot-scope="scope">
+            <template #default="scope">
               {{ $dictUtils.getDictLabel("contract_type", scope.row.contractType, '-') }}
             </template>
           </vxe-column>
@@ -60,7 +58,6 @@
         </vxe-table>
         <vxe-pager
           background
-          size="small"
           :current-page="tablePage.currentPage"
           :page-size="tablePage.pageSize"
           :total="tablePage.total"
@@ -69,10 +66,12 @@
           @page-change="currentChangeHandle">
         </vxe-pager>
       </div>
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="small" type="primary" v-if="method != 'view'" @click="getContract()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-    </span>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button type="primary" v-if="method != 'view'" @click="getContract()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
     </el-dialog>
   </div>
 </template>
@@ -139,7 +138,7 @@
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           ...this.searchForm
-        }).then(({data}) => {
+        }).then((data) => {
           this.dataList = data.records
           this.tablePage.total = data.total
           this.loading = false

+ 204 - 190
src/views/cw/invoice/InvoiceForm.vue

@@ -18,48 +18,50 @@
           </el-button>
         </el-divider>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="baseTable"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceBaseDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
-          >
-            <vxe-table-column field="programName" title="项目名称" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <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="{}">
-              <template v-slot:edit="scope">
-                <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="programNo" title="项目编号" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
-              </template>
-            </vxe-table-column>
-<!--            <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
-<!--              <template v-slot:edit="scope">-->
-<!--                <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
-<!--              </template>-->
-<!--            </vxe-table-column>-->
-<!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
-<!--              <template v-slot:edit="scope">-->
-<!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
-<!--              </template>-->
-<!--            </vxe-table-column>-->
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="baseTable"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceBaseDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
+			  >
+				  <vxe-table-column field="programName" title="项目名称" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <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="{}">
+					  <template v-slot:edit="scope">
+						  <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="programNo" title="项目编号" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
+					  </template>
+				  </vxe-table-column>
+				  <!--            <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
+				  <!--              <template v-slot:edit="scope">-->
+				  <!--                <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
+				  <!--              </template>-->
+				  <!--            </vxe-table-column>-->
+				  <!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
+				  <!--              <template v-slot:edit="scope">-->
+				  <!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
+				  <!--              </template>-->
+				  <!--            </vxe-table-column>-->
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
         <el-divider content-position="left"><i class="el-icon-document"></i> 发票详情</el-divider>
         <el-row  :gutter="15">
@@ -120,7 +122,7 @@
               <el-input :readonly="true" placeholder="请填写实际开票单位" v-model="inputForm.billingWorkplaceReal" @focus="openWorkClientForm()" clearable></el-input>
             </el-form-item>
           </el-col>
-          <div v-if="inputForm.type === '1'">
+          <template v-if="inputForm.type === '1'" style="width: 100%;">
             <el-col v-if="inputForm.billingType === '1'" :span="12">
               <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                             :rules="[
@@ -168,8 +170,8 @@
                 <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
               </el-form-item>
             </el-col>
-          </div>
-          <div v-if="inputForm.type !== '1'">
+          </template>
+          <template v-if="inputForm.type !== '1'">
             <el-col v-if="inputForm.billingType === '1'" :span="12">
               <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                             :rules="[
@@ -212,7 +214,7 @@
                 <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
               </el-form-item>
             </el-col>
-          </div>
+          </template>
 
           <el-col :span="12">
             <el-form-item label="收款类型" prop="receivablesType"
@@ -286,8 +288,6 @@
               <el-input :disabled="true" v-model="inputForm.billingPeople" placeholder="请选择开票人" clearable></el-input>
             </el-form-item>
           </el-col>
-          <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="detailFlag!==true"
-                   label-width="160px" @submit.native.prevent>
             <el-col :span="12">
               <el-form-item label="开票时间" prop="billingDate"
                             :rules="[
@@ -298,6 +298,8 @@
                   value-format="yyyy-MM-dd"
                   placeholder="选择开票时间"
                   style="width:100%"
+				  size="default"
+				  :disabled="detailFlag!==true"
                   placement="bottom-start"
                   clearable>
                 </el-date-picker>
@@ -313,12 +315,13 @@
                   value-format="yyyy-MM-dd"
                   placeholder="选择领票时间"
                   style="width:100%"
+				  size="default"
+				  :disabled="detailFlag!==true"
                   placement="bottom-start"
                   clearable>
                 </el-date-picker>
               </el-form-item>
             </el-col>
-          </el-form>
           <el-col :span="12">
             <el-form-item label="实际开票人" prop="billingPeopleReal"
                           :rules="[
@@ -372,6 +375,7 @@
                 :value="inputForm.reconciliationArea"
                 :clearable="true"
                 :accordion="true"
+				size="default"
                 @getValue="(value) => {inputForm.reconciliationArea=value}"/>
             </el-form-item>
           </el-col>
@@ -421,102 +425,106 @@
                 <el-button :disabled="detailFlag!==true" type="default" @click="importVisible = false" plain>取消</el-button>
                 <!--            <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
               </div>
-              <el-button style="margin-left: 20px" slot="reference" :disabled="detailFlag!==true" type="warning" plain>导入</el-button>
+				<template #reference>
+					<el-button style="margin-left: 20px" :disabled="detailFlag!==true" type="warning" plain>导入</el-button>
+				</template>
             </el-popover>
           </el-divider>
           <el-row  :gutter="15">
-            <vxe-table
-              border
-              show-overflow
-              show-footer
-              ref="detailTable"
-              class="vxe-table-element"
-              :data="inputForm.financeInvoiceDetailDTOList"
-              style="margin-left: 5em"
-              highlight-current-row
-              :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-            >
-              <vxe-table-column field="code" title="发票代码" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="number" title="发票号" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input
-                    oninput ="value=value.replace(/\D|^/g,'')"
-                    placeholder="请填写发票号"
-                    maxlength="8"
-                    @blur="checkNumber(scope.row,scope.$rowIndex)"
-                    v-model="scope.row.number"
-                    clearable>
-                  </el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input-number
-                    @blur="checkAccount(scope.row,scope.$rowIndex)"
-                    v-model="scope.row.account"
-                    controls-position="right"
-                    :controls="false"
-                    style="width:100%;"
-                    :max="999999999999999"
-                    :precision="2"
-                    placeholder="请填写开票金额"
-                    :step="0.01"
-                    :min="0"
-                    clearable>
-                  </el-input-number>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input-number
-                    @blur="checkRate(scope.row, scope.$rowIndex)"
-                    v-model="scope.row.rate"
-                    controls-position="right"
-                    :controls="false"
-                    style="width:100%;"
-                    :precision="2"
-                    placeholder="请填写税率"
-                    :step="0.01"
-                    :min="0"
-                    clearable>
-                  </el-input-number>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="amount" title="金额" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="tax" title="税额" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input-number
-                    v-model="scope.row.allAmount"
-                    controls-position="right"
-                    :controls="false"
-                    style="width:100%;"
-                    :precision="2"
-                    placeholder="请填写累计登记金额"
-                    :step="0.01"
-                    :min="0"
-                    clearable>
-                  </el-input-number>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column title="操作" width="100">
-                <template v-slot="scope">
-                  <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
-                </template>
-              </vxe-table-column>
-            </vxe-table>
+            <el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					show-footer
+					ref="detailTable"
+					class="vxe-table-element"
+					:data="inputForm.financeInvoiceDetailDTOList"
+					style="margin-left: 5em"
+					highlight-current-row
+					:edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+				>
+					<vxe-table-column field="code" title="发票代码" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="number" title="发票号" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input
+								oninput ="value=value.replace(/\D|^/g,'')"
+								placeholder="请填写发票号"
+								maxlength="8"
+								@blur="checkNumber(scope.row,scope.$rowIndex)"
+								v-model="scope.row.number"
+								clearable>
+							</el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input-number
+								@blur="checkAccount(scope.row,scope.$rowIndex)"
+								v-model="scope.row.account"
+								controls-position="right"
+								:controls="false"
+								style="width:100%;"
+								:max="999999999999999"
+								:precision="2"
+								placeholder="请填写开票金额"
+								:step="0.01"
+								:min="0"
+								clearable>
+							</el-input-number>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input-number
+								@blur="checkRate(scope.row, scope.$rowIndex)"
+								v-model="scope.row.rate"
+								controls-position="right"
+								:controls="false"
+								style="width:100%;"
+								:precision="2"
+								placeholder="请填写税率"
+								:step="0.01"
+								:min="0"
+								clearable>
+							</el-input-number>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="amount" title="金额" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="tax" title="税额" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input-number
+								v-model="scope.row.allAmount"
+								controls-position="right"
+								:controls="false"
+								style="width:100%;"
+								:precision="2"
+								placeholder="请填写累计登记金额"
+								:step="0.01"
+								:min="0"
+								clearable>
+							</el-input-number>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column title="操作" width="100">
+						<template v-slot="scope">
+							<el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
+						</template>
+					</vxe-table-column>
+				</vxe-table>
+			</el-col>
           </el-row>
         </el-form>
         <el-divider content-position="left"><i class="el-icon-document"></i>
@@ -528,58 +536,62 @@
         <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="receivablesFlag!==true"
                  label-width="160px" @submit.native.prevent>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="receivablesTable"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceReceivablesDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  v-model="scope.row.remittanceAmount"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写汇款金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="receivablesTable"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceReceivablesDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  v-model="scope.row.remittanceAmount"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写汇款金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
         </el-form>
       </el-form>
       <!--        附件-->
       <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
-      <span slot="footer" class="dialog-footer">
-      <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button type="primary" v-if="detailFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-      <el-button type="primary" v-if="receivablesFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>保留</el-button>
-    </span>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button type="primary" v-if="detailFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			  <el-button type="primary" v-if="receivablesFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>保留</el-button>
+			</span>
+		</template>
     </el-dialog>
     <ProgramPageForm ref="programPageForm" @getProgram="getProgram"></ProgramPageForm>
     <ContractForm  ref="contractForm" @getContract="getContract"></ContractForm>
@@ -788,7 +800,9 @@
           }
           acc = (acc + parseFloat(parseFloat(item.account).toFixed(2)))
         })
-        if (acc !== this.inputForm.account) {
+		  console.log('acc', acc)
+		  console.log('this.inputForm.account', this.inputForm.account)
+        if (acc.toString() !== this.inputForm.account) {
           this.$message.warning('发票明细中 “开票金额”总和 与发票详情中 “发票金额” 不等')
           return
         }

+ 284 - 276
src/views/cw/invoice/InvoiceFormTask.vue

@@ -1,57 +1,59 @@
 <template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
   <div>
-    <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
+    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
              label-width="160px" @submit.native.prevent>
       <el-divider content-position="left"><i class="el-icon-document"></i>
         基本信息
-        <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" size="mini" @click="insertEvent('base')"  plain>
+        <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" @click="insertEvent('base')"  plain>
           新增
         </el-button>
       </el-divider>
       <el-row  :gutter="15">
-        <vxe-table
-          border
-          show-overflow
-          show-footer
-          ref="baseTable"
-          :key="baseKey"
-          class="vxe-table-element"
-          :data="inputForm.financeInvoiceBaseDTOList"
-          style="margin-left: 5em"
-          highlight-current-row
-          :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
-        >
-          <vxe-table-column field="programName" align="center" title="项目名称" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="contractName" align="center" title="合同名称" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="programNo" align="center" title="项目编号" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
-            </template>
-          </vxe-table-column>
-          <!--          <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
-          <!--            <template v-slot:edit="scope">-->
-          <!--              <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
-          <!--            </template>-->
-          <!--          </vxe-table-column>-->
-          <!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
-          <!--              <template v-slot:edit="scope">-->
-          <!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
-          <!--              </template>-->
-          <!--            </vxe-table-column>-->
-          <vxe-table-column title="操作" align="center" width="100">
-            <template v-slot="scope">
-              <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
-            </template>
-          </vxe-table-column>
-        </vxe-table>
+        <el-col :span="24">
+			<vxe-table
+				border
+				show-overflow
+				show-footer
+				ref="baseTable"
+				:key="baseKey"
+				class="vxe-table-element"
+				:data="inputForm.financeInvoiceBaseDTOList"
+				style="margin-left: 5em"
+				highlight-current-row
+				:edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
+			>
+				<vxe-table-column field="programName" align="center" title="项目名称" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="contractName" align="center" title="合同名称" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="programNo" align="center" title="项目编号" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
+					</template>
+				</vxe-table-column>
+				<!--          <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
+				<!--            <template v-slot:edit="scope">-->
+				<!--              <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
+				<!--            </template>-->
+				<!--          </vxe-table-column>-->
+				<!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
+				<!--              <template v-slot:edit="scope">-->
+				<!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
+				<!--              </template>-->
+				<!--            </vxe-table-column>-->
+				<vxe-table-column title="操作" align="center" width="100">
+					<template v-slot="scope">
+						<el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
+					</template>
+				</vxe-table-column>
+			</vxe-table>
+		</el-col>
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i> 发票详情</el-divider>
       <el-row  :gutter="15">
@@ -60,7 +62,7 @@
                         :rules="[
                         {required: true, message:'发票类型不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -76,7 +78,7 @@
                         :rules="[
                         {required: true, message:'开票类型不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -89,13 +91,12 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.name"
               :clearable="true"
               :accordion="true"
@@ -112,7 +113,7 @@
             <el-input :readonly="true" placeholder="请填写实际开票单位" v-model="inputForm.billingWorkplaceReal" @focus="openWorkClientForm()" clearable></el-input>
           </el-form-item>
         </el-col>
-        <div v-if="inputForm.type === '1'">
+        <template v-if="inputForm.type === '1'">
           <el-col v-if="inputForm.billingType === '1'" :span="12">
             <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                           :rules="[
@@ -162,8 +163,8 @@
               <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
-        <div v-if="inputForm.type !== '1'">
+		</template>
+        <template v-if="inputForm.type !== '1'">
           <el-col v-if="inputForm.billingType === '1'" :span="12">
             <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                           :rules="[
@@ -208,7 +209,7 @@
               <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
+        </template>
 
         <el-col :span="12">
           <el-form-item label="收款类型" prop="receivablesType"
@@ -270,7 +271,7 @@
                         :rules="[
                         {required: true, message:'是否多张开票不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" style="margin-right: 20px">
               {{item.label}}
             </el-radio>
           </el-form-item>
@@ -289,55 +290,58 @@
             <el-input :disabled="true" v-model="inputForm.billingPeople" placeholder="请选择开票人" clearable></el-input>
           </el-form-item>
         </el-col>
-        <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status !== 'audit'"
-                 label-width="160px" @submit.native.prevent>
-          <el-col v-if="status === 'audit'" :span="12" >
-            <el-form-item label="开票时间" prop="billingDate"
-                          :rules="[
+<!--        <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status !== 'audit'"-->
+<!--                 label-width="160px" @submit.native.prevent>-->
+<!--        </el-form>-->
+		  <el-col v-if="status === 'audit'" :span="12" >
+			  <el-form-item label="开票时间" prop="billingDate"
+							:rules="[
                          {required: true, message:'开票时间不能为空', trigger:'blur'}
                  ]">
-              <el-date-picker
-                v-model="inputForm.billingDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择开票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col v-if="status !== 'audit'" :span="12" >
-            <el-form-item label="开票时间" prop="billingDate"
-                          :rules="[
+				  <el-date-picker
+					  v-model="inputForm.billingDate"
+					  type="date"
+					  value-format="yyyy-MM-dd"
+					  placeholder="选择开票时间"
+					  style="width:100%"
+					  :disabled="status !== 'audit'"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
+		  <el-col v-if="status !== 'audit'" :span="12" >
+			  <el-form-item label="开票时间" prop="billingDate"
+							:rules="[
                  ]">
-              <el-date-picker
-                v-model="inputForm.billingDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择开票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="领票时间" prop="collectDate"
-                          :rules="[
+				  <el-date-picker
+					  v-model="inputForm.billingDate"
+					  type="date"
+					  value-format="yyyy-MM-dd"
+					  placeholder="选择开票时间"
+					  style="width:100%"
+					  :disabled="status !== 'audit'"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
+		  <el-col :span="12">
+			  <el-form-item label="领票时间" prop="collectDate"
+							:rules="[
                  ]">
-              <el-date-picker
-                v-model="inputForm.collectDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择领票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-        </el-form>
+				  <el-date-picker
+					  v-model="inputForm.collectDate"
+					  type="date"
+					  value-format="yyyy-MM-dd"
+					  placeholder="选择领票时间"
+					  style="width:100%"
+					  :disabled="status !== 'audit'"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
         <el-col :span="12">
           <el-form-item label="实际开票人" prop="billingPeopleReal"
                         :rules="[
@@ -346,16 +350,16 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.billingPeopleReal"
               :clearable="true"
               :accordion="true"
+			  size="default"
               @getValue="(value) => {inputForm.billingPeopleReal=value}"/>
           </el-form-item>
         </el-col>
@@ -367,16 +371,16 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.reconciliationPeople"
               :clearable="true"
               :accordion="true"
+			  size="default"
               @getValue="(value) => {inputForm.reconciliationPeople=value}"/>
           </el-form-item>
         </el-col>
@@ -393,11 +397,11 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-              url="/sys/area/treeData"
+              url="/system-server/sys/area/treeData"
               :value="inputForm.reconciliationArea"
               :clearable="true"
-              size="medium"
               :accordion="true"
+			  size="default"
               @getValue="(value) => {inputForm.reconciliationArea=value}"/>
           </el-form-item>
         </el-col>
@@ -414,7 +418,7 @@
       <el-form :disabled="status === 'audit'?false:true">
         <el-divider content-position="left"><i class="el-icon-document"></i>
           发票明细
-          <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit'?false:true" size="mini" @click="insertEvent('detail')" plain>
+          <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit'?false:true" @click="insertEvent('detail')" plain>
             新增
           </el-button>
           <el-popover
@@ -424,7 +428,7 @@
             <p>请先下载模板,然后再进行导入操作</p>
             <el-row :gutter="1">
               <el-col :span="6">
-                <el-button :disabled="status === 'audit'?false:true" type="success" size="small" @click="downloadTpl">下载模板</el-button>
+                <el-button :disabled="status === 'audit'?false:true" type="success" @click="downloadTpl">下载模板</el-button>
               </el-col>
               <el-col :span="6">
                 <el-upload
@@ -432,7 +436,7 @@
                   :auto-upload="false"
                   :on-change="beforeUploadDetail"
                   :show-file-list="false">
-                  <el-button :disabled="status === 'audit'?false:true" size="small" type="primary">导入全部</el-button>
+                  <el-button :disabled="status === 'audit'?false:true" type="primary">导入全部</el-button>
                 </el-upload>
               </el-col>
               <el-col :span="6">
@@ -441,167 +445,173 @@
                   :auto-upload="false"
                   :on-change="beforeUploadDetailCode"
                   :show-file-list="false">
-                  <el-button :disabled="status === 'audit'?false:true" size="small" type="primary" >仅导入当前纳税人识别号</el-button>
+                  <el-button :disabled="status === 'audit'?false:true" type="primary" >仅导入当前纳税人识别号</el-button>
                 </el-upload>
               </el-col>
             </el-row>
             <div style="text-align: right; margin-top: 10px;margin-right: 10px;">
-              <el-button size="mini" :disabled="status === 'audit'?false:true" type="default" @click="importVisible = false" plain>取消</el-button>
-              <!--            <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
+              <el-button :disabled="status === 'audit'?false:true" type="default" @click="importVisible = false" plain>取消</el-button>
+              <!--            <el-button type="primary"  @click="importVisible = false">确定</el-button>-->
             </div>
-            <el-button style="margin-left: 20px" slot="reference" :disabled="status === 'audit'?false:true" type="warning" size="mini" plain>导入</el-button>
+			  <template #reference>
+				  <el-button style="margin-left: 20px" :disabled="status === 'audit'?false:true" type="warning" plain>导入</el-button>
+			  </template>
           </el-popover>
         </el-divider>
       </el-form>
 
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status !== 'audit'"
+      <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status !== 'audit'"
                label-width="160px" @submit.native.prevent>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="detailTable"
-            :key="detailKey"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceDetailDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="code" title="发票代码" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="number" title="发票号" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input
-                  oninput ="value=value.replace(/\D|^/g,'')"
-                  placeholder="请填写发票号"
-                  maxlength="8"
-                  @blur="checkNumber(scope.row,scope.$rowIndex)"
-                  v-model="scope.row.number"
-                  clearable>
-                </el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  @blur="checkAccount(scope.row,scope.$rowIndex)"
-                  v-model="scope.row.account"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :max="999999999999999"
-                  :precision="2"
-                  placeholder="请填写开票金额"
-                  :step="0.01"
-                  :min="0">
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  @blur="checkRate(scope.row, scope.$rowIndex)"
-                  v-model="scope.row.rate"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写税率"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="amount" title="金额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="tax" title="税额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  v-model="scope.row.allAmount"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写累计登记金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="detailTable"
+				  :key="detailKey"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceDetailDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="code" title="发票代码" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="number" title="发票号" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input
+							  oninput ="value=value.replace(/\D|^/g,'')"
+							  placeholder="请填写发票号"
+							  maxlength="8"
+							  @blur="checkNumber(scope.row,scope.$rowIndex)"
+							  v-model="scope.row.number"
+							  clearable>
+						  </el-input>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  @blur="checkAccount(scope.row,scope.$rowIndex)"
+							  v-model="scope.row.account"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :max="999999999999999"
+							  :precision="2"
+							  placeholder="请填写开票金额"
+							  :step="0.01"
+							  :min="0">
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  @blur="checkRate(scope.row, scope.$rowIndex)"
+							  v-model="scope.row.rate"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写税率"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="amount" title="金额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="tax" title="税额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  v-model="scope.row.allAmount"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写累计登记金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
       </el-form>
       <div v-if="false">
         <el-divider content-position="left"><i class="el-icon-document"></i>
           收款明细
-          <el-button style="margin-left: 20px" :disabled="status === 'audit' || status === 'taskFormDetail'" type="primary" size="mini" @click="insertEvent('receivables')" plain>
+          <el-button style="margin-left: 20px" :disabled="status === 'audit' || status === 'taskFormDetail'" type="primary" @click="insertEvent('receivables')" plain>
             新增
           </el-button>
         </el-divider>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="receivablesTable"
-            :key="receivablesKey"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceReceivablesDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  v-model="scope.row.remittanceAmount"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写汇款金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="receivablesTable"
+				  :key="receivablesKey"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceReceivablesDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  v-model="scope.row.remittanceAmount"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写汇款金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
         <el-divider content-position="left"><i class="el-icon-document"></i>发票作废</el-divider>
         <el-row :gutter="15">
@@ -627,7 +637,7 @@
 </template>
 
 <script>
-  import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
+  import financeInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
   import workClientService from '@/api/cw/workClientInfo/WorkClientService'
   import ProgramPageForm from './ProgramPageForm'
   import UpLoadComponent from '@/views/common/UpLoadComponent'
@@ -680,11 +690,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -710,9 +720,7 @@
         receivablesKey: ''
       }
     },
-    financeInvoiceService: null,
     created () {
-      this.financeInvoiceService = new FinanceInvoiceService()
     },
     mounted () {
     },
@@ -784,11 +792,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -821,7 +829,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
@@ -849,13 +857,13 @@
               this.inputForm.receivablesType = '2'
             }
             if (this.commonJS.isEmpty(this.inputForm.billingPeople)) {
-              this.inputForm.billingPeople = JSON.parse(localStorage.getItem('user')).name
+              this.inputForm.billingPeople = this.$store.state.user.name
             }
             if (this.commonJS.isEmpty(this.inputForm.billingPeopleId)) {
-              this.inputForm.billingPeopleId = JSON.parse(localStorage.getItem('user')).id
+              this.inputForm.billingPeopleId = this.$store.state.user.id
             }
             if (this.commonJS.isEmpty(this.inputForm.billingPeopleReal)) {
-              this.inputForm.billingPeopleReal = JSON.parse(localStorage.getItem('user')).id
+              this.inputForm.billingPeopleReal = this.$store.state.user.id
             }
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceBaseDTOList)) {
               this.inputForm.financeInvoiceBaseDTOList = []
@@ -901,7 +909,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             if (data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -916,7 +924,7 @@
       },
       async agreeForm (callback) {
         this.loading = true
-        await this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        await financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -928,7 +936,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -950,7 +958,7 @@
           this.loading = true
           this.inputForm.status = '1'
           this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-          this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
+          financeInvoiceService.saveForm(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -1024,7 +1032,7 @@
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
               this.err = true
             }
-            await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+            await financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
               if (data === true) {
                 this.loading = false
                 this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
@@ -1057,7 +1065,7 @@
                 throw new Error('需上传开票明细相关文件')
               }
             }
-            this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
+            financeInvoiceService.saveForm(this.inputForm).then((data) => {
               if (status === 'start' || status === 'reapply') {
                 this.inputForm.title = `${this.$store.state.user.name} 发起了 ${data.no} [财务-发票申请]`
               }
@@ -1271,7 +1279,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -1325,7 +1333,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1345,7 +1353,7 @@
                 }
                 if (type === 'reject' || type === 'reback') {
                   let param = {status: this.inputForm.status, id: this.inputForm.id}
-                  this.financeInvoiceService.updateStatusById(param).then(() => {
+                  financeInvoiceService.updateStatusById(param).then(() => {
                     this.loading = false
                     callback()
                   })
@@ -1353,7 +1361,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1361,7 +1369,7 @@
               } else {
                 // 终止
                 let param = {status: '1', id: this.inputForm.id}
-                this.financeInvoiceService.updateStatusById(param).then(() => {
+                financeInvoiceService.updateStatusById(param).then(() => {
                   this.loading = false
                   callback()
                 })
@@ -1373,7 +1381,7 @@
       // 下载模板
       downloadTpl () {
         this.loading = true
-        this.financeInvoiceService.exportTemplate().then((res) => {
+        financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
           this.$utils.downloadExcel(res.data, '发票明细导入模板')
           this.loading = false
@@ -1398,7 +1406,7 @@
         const formBody = new FormData()
         formBody.append('file', file.raw)
         this.loading = true
-        this.financeInvoiceService.importDetail(formBody).then(async (result) => {
+        financeInvoiceService.importDetail(formBody).then(async (result) => {
           if (this.commonJS.isEmpty(result.data)) {
             this.importVisible = false
             this.loading = false
@@ -1433,7 +1441,7 @@
         const formBody = new FormData()
         formBody.append('file', file.raw)
         this.loading = true
-        this.financeInvoiceService.importDetail(formBody).then(async result => {
+        financeInvoiceService.importDetail(formBody).then(async result => {
           if (this.commonJS.isEmpty(result.data)) {
             this.importVisible = false
             this.loading = false

+ 254 - 251
src/views/cw/invoice/InvoiceFormTaskInvalid.vue

@@ -1,56 +1,58 @@
 <template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
   <div>
-    <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
+    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
              label-width="160px" @submit.native.prevent>
       <el-divider content-position="left"><i class="el-icon-document"></i>
         基本信息
-        <el-button style="margin-left: 20px" type="primary" :disabled="true" size="mini" @click="insertEvent('base')"  plain>
+        <el-button style="margin-left: 20px" type="primary" :disabled="true" @click="insertEvent('base')"  plain>
           新增
         </el-button>
       </el-divider>
       <el-row  :gutter="15">
-        <vxe-table
-          border
-          show-overflow
-          show-footer
-          ref="baseTable"
-          class="vxe-table-element"
-          :data="inputForm.financeInvoiceBaseDTOList"
-          style="margin-left: 5em"
-          highlight-current-row
-          :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
-        >
-          <vxe-table-column field="programName" align="center" title="项目名称" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="contractName" align="center" title="合同名称" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="programNo" align="center" title="项目编号" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
-            </template>
-          </vxe-table-column>
-          <!--          <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
-          <!--            <template v-slot:edit="scope">-->
-          <!--              <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
-          <!--            </template>-->
-          <!--          </vxe-table-column>-->
-          <!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
-          <!--              <template v-slot:edit="scope">-->
-          <!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
-          <!--              </template>-->
-          <!--            </vxe-table-column>-->
-          <vxe-table-column title="操作" width="100">
-            <template v-slot="scope">
-              <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
-            </template>
-          </vxe-table-column>
-        </vxe-table>
+        <el-col :span="24">
+			<vxe-table
+				border
+				show-overflow
+				show-footer
+				ref="baseTable"
+				class="vxe-table-element"
+				:data="inputForm.financeInvoiceBaseDTOList"
+				style="margin-left: 5em"
+				highlight-current-row
+				:edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
+			>
+				<vxe-table-column field="programName" align="center" title="项目名称" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="contractName" align="center" title="合同名称" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="programNo" align="center" title="项目编号" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
+					</template>
+				</vxe-table-column>
+				<!--          <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
+				<!--            <template v-slot:edit="scope">-->
+				<!--              <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
+				<!--            </template>-->
+				<!--          </vxe-table-column>-->
+				<!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
+				<!--              <template v-slot:edit="scope">-->
+				<!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
+				<!--              </template>-->
+				<!--            </vxe-table-column>-->
+				<vxe-table-column title="操作" width="100">
+					<template v-slot="scope">
+						<el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
+					</template>
+				</vxe-table-column>
+			</vxe-table>
+		</el-col>
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i> 发票详情</el-divider>
       <el-row  :gutter="15">
@@ -59,7 +61,7 @@
                         :rules="[
                         {required: true, message:'发票类型不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -75,7 +77,7 @@
                         :rules="[
                         {required: true, message:'开票类型不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -88,13 +90,12 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.name"
               :clearable="true"
               :accordion="true"
@@ -111,7 +112,7 @@
             <el-input :readonly="true" placeholder="请填写实际开票单位" v-model="inputForm.billingWorkplaceReal" @focus="openWorkClientForm()" clearable></el-input>
           </el-form-item>
         </el-col>
-        <div v-if="inputForm.type === '1'">
+        <template v-if="inputForm.type === '1'">
           <el-col v-if="inputForm.billingType === '1'" :span="12">
             <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                           :rules="[
@@ -159,8 +160,8 @@
               <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
-        <div v-if="inputForm.type !== '1'">
+        </template>
+        <template v-if="inputForm.type !== '1'">
           <el-col v-if="inputForm.billingType === '1'" :span="12">
             <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                           :rules="[
@@ -203,7 +204,7 @@
               <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
+        </template>
 
         <el-col :span="12">
           <el-form-item label="收款类型" prop="receivablesType"
@@ -259,7 +260,7 @@
                         :rules="[
                         {required: true, message:'是否多张开票不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" style="margin-right: 20px">
               {{item.label}}
             </el-radio>
           </el-form-item>
@@ -278,55 +279,54 @@
             <el-input :disabled="true" v-model="inputForm.billingPeople" placeholder="请选择开票人" clearable></el-input>
           </el-form-item>
         </el-col>
-        <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
-                 label-width="160px" @submit.native.prevent>
-          <el-col :span="12" >
-            <el-form-item label="开票时间" prop="billingDate"
-                          :rules="[
+		  <el-col :span="12" >
+			  <el-form-item label="开票时间" prop="billingDate"
+							:rules="[
                  ]">
-              <el-date-picker
-                v-model="inputForm.billingDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择开票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="领票时间" prop="collectDate"
-                          :rules="[
+				  <el-date-picker
+					  v-model="inputForm.billingDate"
+					  type="date"
+					  value-format="yyyy-MM-dd"
+					  placeholder="选择开票时间"
+					  style="width:100%"
+					  :disabled="true"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
+		  <el-col :span="12">
+			  <el-form-item label="领票时间" prop="collectDate"
+							:rules="[
                  ]">
-              <el-date-picker
-                v-model="inputForm.collectDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择领票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-        </el-form>
+				  <el-date-picker
+					  v-model="inputForm.collectDate"
+					  type="date"
+					  value-format="yyyy-MM-dd"
+					  placeholder="选择领票时间"
+					  style="width:100%"
+					  :disabled="true"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
         <el-col :span="12">
           <el-form-item label="实际开票人" prop="billingPeopleReal"
                         :rules="[
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.billingPeopleReal"
               :clearable="true"
               :accordion="true"
+			  size="default"
               @getValue="(value) => {inputForm.billingPeopleReal=value}"/>
           </el-form-item>
         </el-col>
@@ -336,16 +336,16 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.reconciliationPeople"
               :clearable="true"
               :accordion="true"
+			  size="default"
               @getValue="(value) => {inputForm.reconciliationPeople=value}"/>
           </el-form-item>
         </el-col>
@@ -360,10 +360,11 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-              url="/sys/area/treeData"
+              url="/system-server/sys/area/treeData"
               :value="inputForm.reconciliationArea"
               :clearable="true"
               :accordion="true"
+			  size="default"
               @getValue="(value) => {inputForm.reconciliationArea=value}"/>
           </el-form-item>
         </el-col>
@@ -377,159 +378,163 @@
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i>
         发票明细
-        <el-button style="margin-left: 20px" type="primary" :disabled="true" size="mini" @click="insertEvent('detail')" plain>
+        <el-button style="margin-left: 20px" type="primary" :disabled="true" @click="insertEvent('detail')" plain>
           新增
         </el-button>
       </el-divider>
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
+      <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
                label-width="160px" @submit.native.prevent>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="detailTable"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceDetailDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="code" title="发票代码" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="number" title="发票号" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input
-                  oninput ="value=value.replace(/\D|^/g,'')"
-                  placeholder="请填写发票号"
-                  maxlength="8"
-                  @blur="checkNumber(scope.row,scope.$rowIndex)"
-                  v-model="scope.row.number"
-                  clearable>
-                </el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  @blur="checkAccount(scope.row,scope.$rowIndex)"
-                  v-model="scope.row.account"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :max="999999999999999"
-                  :precision="2"
-                  placeholder="请填写开票金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  @blur="checkRate(scope.row, scope.$rowIndex)"
-                  v-model="scope.row.rate"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写税率"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="amount" title="金额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="tax" title="税额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  v-model="scope.row.allAmount"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写累计登记金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="detailTable"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceDetailDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="code" title="发票代码" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="number" title="发票号" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input
+							  oninput ="value=value.replace(/\D|^/g,'')"
+							  placeholder="请填写发票号"
+							  maxlength="8"
+							  @blur="checkNumber(scope.row,scope.$rowIndex)"
+							  v-model="scope.row.number"
+							  clearable>
+						  </el-input>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  @blur="checkAccount(scope.row,scope.$rowIndex)"
+							  v-model="scope.row.account"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :max="999999999999999"
+							  :precision="2"
+							  placeholder="请填写开票金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  @blur="checkRate(scope.row, scope.$rowIndex)"
+							  v-model="scope.row.rate"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写税率"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="amount" title="金额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="tax" title="税额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  v-model="scope.row.allAmount"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写累计登记金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
       </el-form>
       <el-divider content-position="left"><i class="el-icon-document"></i>
         收款明细
-        <el-button style="margin-left: 20px" :disabled="true" type="primary" size="mini" @click="insertEvent('receivables')" plain>
+        <el-button style="margin-left: 20px" :disabled="true" type="primary"  @click="insertEvent('receivables')" plain>
           新增
         </el-button>
       </el-divider>
       <el-row  :gutter="15">
-        <vxe-table
-          border
-          show-overflow
-          show-footer
-          ref="receivablesTable"
-          class="vxe-table-element"
-          :data="inputForm.financeInvoiceReceivablesDTOList"
-          style="margin-left: 5em"
-          highlight-current-row
-          :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-        >
-          <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input-number
-                v-model="scope.row.remittanceAmount"
-                controls-position="right"
-                :controls="false"
-                style="width:100%;"
-                :precision="2"
-                placeholder="请填写汇款金额"
-                :step="0.01"
-                :min="0"
-                clearable>
-              </el-input-number>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column title="操作" width="100">
-            <template v-slot="scope">
-              <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
-            </template>
-          </vxe-table-column>
-        </vxe-table>
+        <el-col :span="24">
+			<vxe-table
+				border
+				show-overflow
+				show-footer
+				ref="receivablesTable"
+				class="vxe-table-element"
+				:data="inputForm.financeInvoiceReceivablesDTOList"
+				style="margin-left: 5em"
+				highlight-current-row
+				:edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			>
+				<vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input-number
+							v-model="scope.row.remittanceAmount"
+							controls-position="right"
+							:controls="false"
+							style="width:100%;"
+							:precision="2"
+							placeholder="请填写汇款金额"
+							:step="0.01"
+							:min="0"
+							clearable>
+						</el-input-number>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column title="操作" width="100">
+					<template v-slot="scope">
+						<el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
+					</template>
+				</vxe-table-column>
+			</vxe-table>
+		</el-col>
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i>发票作废</el-divider>
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
+      <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
                label-width="160px" @submit.native.prevent>
         <el-row :gutter="15">
           <el-col :span="24">
@@ -552,7 +557,7 @@
 </template>
 
 <script>
-  import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
+  import financeInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
   import workClientService from '@/api/cw/workClientInfo/WorkClientService'
   import ProgramPageForm from './ProgramPageForm'
   import UpLoadComponent from '@/views/common/UpLoadComponent'
@@ -603,11 +608,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -629,9 +634,7 @@
         yesNoFlag: [{label: '否', value: '0'}, {label: '是', value: '1'}]
       }
     },
-    financeInvoiceService: null,
     created () {
-      this.financeInvoiceService = new FinanceInvoiceService()
     },
     mounted () {
     },
@@ -701,11 +704,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -738,18 +741,18 @@
         this.$nextTick(async () => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          await this.financeInvoiceService.queryIdByInvalidId(id).then(({data}) => {
+          await financeInvoiceService.queryIdByInvalidId(id).then((data) => {
             this.inputForm.id = data.businessId
           })
-          this.financeInvoiceService.queryById(this.inputForm.id).then(async ({data}) => {
+          financeInvoiceService.queryById(this.inputForm.id).then(async (data) => {
             await this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
             if (!this.commonJS.isEmpty(this.inputForm.billingWorkplaceRealId)) {
               this.bankList = []
               workClientService.queryById(this.inputForm.billingWorkplaceRealId).then((data) => {
-                if (this.commonJS.isNotEmpty(data.data.cwWorkClientBillingDTOList)) {
-                  data.data.cwWorkClientBillingDTOList.forEach(i => {
+                if (this.commonJS.isNotEmpty(data.cwWorkClientBillingDTOList)) {
+                  data.cwWorkClientBillingDTOList.forEach(i => {
                     i.ourBank = i.accountHolder
                     this.bankList.push(i)
                   })
@@ -788,7 +791,7 @@
       },
       startForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '5') { // status的值不等于“审批完成”(发票作废只有发票申请通过后才可以发起),就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -800,7 +803,7 @@
       },
       agreeForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -812,7 +815,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '8') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -834,7 +837,7 @@
           // this.inputForm.status = '1'
           this.loading = true
           this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-          this.financeInvoiceService.saveFormInvalid(this.inputForm).then(({data}) => {
+          financeInvoiceService.saveFormInvalid(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -911,7 +914,7 @@
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
               this.err = true
             }
-            await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+            await financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
               if (data === true) {
                 this.loading = false
                 this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
@@ -929,7 +932,7 @@
           if (valid) {
             this.loading = true
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-            this.financeInvoiceService.saveFormInvalid(this.inputForm).then(({data}) => {
+            financeInvoiceService.saveFormInvalid(this.inputForm).then((data) => {
               callback(data.businessTable, data.businessId, this.inputForm)
               this.loading = false
             }).catch(() => {
@@ -1131,7 +1134,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -1185,7 +1188,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1207,7 +1210,7 @@
                 }
                 if (type === 'reject' || type === 'reback') {
                   let param = {status: this.inputForm.status, id: this.inputForm.id}
-                  this.financeInvoiceService.updateStatusById(param).then(() => {
+                  financeInvoiceService.updateStatusById(param).then(() => {
                     this.loading = false
                     callback()
                   })
@@ -1215,7 +1218,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '8') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1223,7 +1226,7 @@
               } else {
                 // 终止
                 let param = {status: '5', id: this.inputForm.id}
-                this.financeInvoiceService.updateStatusById(param).then(() => {
+                financeInvoiceService.updateStatusById(param).then(() => {
                   this.loading = false
                   callback()
                 })

+ 77 - 66
src/views/cw/invoice/InvoiceList.vue

@@ -1,22 +1,21 @@
 <template>
   <div class="page">
-    <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+    <el-form :inline="true" class="query-form m-b-10" v-if="searchVisible" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <el-row :gutter="0">
         <el-form-item prop="no" label="发票申请编号">
-          <el-input size="small" v-model="searchForm.no" placeholder="请输入发票申请编号" clearable></el-input>
+          <el-input v-model="searchForm.no" placeholder="请输入发票申请编号" clearable></el-input>
         </el-form-item>
         <el-form-item prop="number" label="发票号">
-          <el-input size="small" v-model="searchForm.number" placeholder="请输入发票号" clearable></el-input>
+          <el-input v-model="searchForm.number" 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-input  v-model="searchForm.programName" placeholder="请输入项目名称" clearable @clear="clearProgram">-->
 <!--            <el-button slot="append" @click="openProgramPageForm()" icon="el-icon-search"></el-button>-->
 <!--          </el-input>-->
 <!--        </el-form-item>-->
         <el-form-item v-if="showHideItem" prop="accountBegin" label="开票总金额">
           <el-input-number
-            size="small"
             v-model="searchForm.accountBegin"
             controls-position="right"
             :controls="false"
@@ -30,7 +29,6 @@
         </el-form-item>
         <el-form-item v-if="showHideItem" prop="accountEnd" label="-">
           <el-input-number
-            size="small"
             v-model="searchForm.accountEnd"
             controls-position="right"
             :controls="false"
@@ -57,14 +55,15 @@
                   children: 'children'    // 子级字段名
                 }"
 
-            :url="`/sys/office/treeData?type=2`"
+            :url="`/system-server/sys/office/treeData?type=2`"
             :value="searchForm.operatorOffice"
             :clearable="true"
             :accordion="true"
+			size="default"
             @getValue="(value) => {searchForm.operatorOffice=value}"/>
         </el-form-item>
         <el-form-item v-if="showHideItem" prop="billingWorkplaceReal" label="开票单位">
-          <el-input size="small" v-model="searchForm.billingWorkplaceReal" placeholder="请输入开票单位" clearable></el-input>
+          <el-input v-model="searchForm.billingWorkplaceReal" placeholder="请输入开票单位" clearable></el-input>
         </el-form-item>
         <el-form-item v-if="showHideItem" prop="receivablesStatus" label="是否收款">
           <el-select v-model="searchForm.receivablesStatus" placeholder="请选择是否收款" clearable>
@@ -114,16 +113,16 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-            url="/sys/area/treeData"
+            url="/system-server/sys/area/treeData"
             :value="searchForm.reconciliationArea"
             :clearable="true"
             :accordion="true"
+			size="default"
             @getValue="(value) => {searchForm.reconciliationArea=value}"/>
         </el-form-item>
 
         <el-form-item v-if="showHideItem" prop="billingDateList" label="开票日期">
           <el-date-picker
-            size="small"
             @change="changeBillingDateList"
             v-model="searchForm.billingDateList"
             type="daterange"
@@ -138,7 +137,6 @@
         </el-form-item>
         <el-form-item v-if="showHideItem" prop="remittanceDateList" label="收款日期">
           <el-date-picker
-            size="small"
             v-model="searchForm.remittanceDateList"
             type="daterange"
             value-format="yyyy-MM-dd"
@@ -152,18 +150,28 @@
         </el-form-item>
 
         <el-form-item>
-          <el-button type="default" @click="showHide" size="small" :icon="showHideIcon">{{showHideName}}</el-button>
-          <el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
-          <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+          <el-button type="default" @click="showHide" :icon="showHideIcon">{{showHideName}}</el-button>
+          <el-button type="primary" @click="refreshList()" icon="el-icon-search">查询</el-button>
+          <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
         </el-form-item>
       </el-row>
     </el-form>
-    <div class="bg-white top" style="">
-      <vxe-toolbar :refresh="{query: refreshList}" export custom>
+    <div class="jp-table top" style="">
+      <vxe-toolbar :refresh="{query: refreshList}" ref="toolbarRef" export custom>
         <template #buttons>
-          <el-button v-if="hasPermission('cw_finance:invoice:add')" type="primary" size="small" icon="el-icon-plus" @click="start()">新建</el-button>
-<!--          <el-button v-if="hasPermission('cw_finance:invoice:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.invoiceTable && $refs.invoiceTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
+          <el-button v-if="hasPermission('cw_finance:invoice:add')" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>
+<!--          <el-button v-if="hasPermission('cw_finance:invoice:del')" type="danger"   icon="el-icon-delete" @click="del()" :disabled="$refs.invoiceTable && $refs.invoiceTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
         </template>
+		  <template #tools>
+			  <vxe-button
+				  text
+				  type="primary"
+				  :title="searchVisible ? '收起检索' : '展开检索'"
+				  icon="vxe-icon-search"
+				  class="tool-btn"
+				  @click="searchVisible = !searchVisible"
+			  ></vxe-button>
+		  </template>
       </vxe-toolbar>
       <div style="height: calc(100% - 80px)">
         <vxe-table
@@ -172,7 +180,6 @@
           resizable
           height="auto"
           :loading="loading"
-          size="small"
           ref="invoiceTable"
           show-header-overflow
           show-overflow
@@ -193,12 +200,12 @@
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
           <vxe-column type="checkbox" width="40" ></vxe-column>
           <vxe-column min-width="150" title="项目名称" align="center" field="programName">
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" @click="viewProject(scope.row.id)">{{scope.row.programName}}</el-link>
             </template>
           </vxe-column>
           <vxe-column min-width="150" title="发票申请编号" align="center" field="no">
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" @click="view(false, scope.row.id)">{{scope.row.no}}</el-link>
             </template>
           </vxe-column>
@@ -209,68 +216,67 @@
           <vxe-column min-width="150" title="开票总金额(元)" align="center" field="account"></vxe-column>
           <vxe-column min-width="150" title="发票金额(元)" align="center" field="accountDetail"></vxe-column>
           <vxe-column min-width="120" title="开票内容" align="center" field="billingContent">
-            <template slot-scope="scope">
-              {{$dictUtils.getDictLabel('invoice_billing_content', scope.row.billingContent, '-')}}
+            <template #default="scope">
+              {{$dictUtils.getDictLabel('invoice_billing_content', scope.row.billingContent, '')}}
             </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, '-')}}
+            <template #default="scope">
+              {{$dictUtils.getDictLabel('invoice_receivables_type', scope.row.receivablesType, '')}}
             </template>
           </vxe-column>
           <vxe-column min-width="100" title="发票类型" align="center" field="type">
-            <template slot-scope="scope">
-              {{$dictUtils.getDictLabel('invoice_type', scope.row.type, '-')}}
+            <template #default="scope">
+              {{$dictUtils.getDictLabel('invoice_type', scope.row.type, '')}}
             </template>
           </vxe-column>
           <vxe-column min-width="120" title="开票日期" align="center" field="billingDate"></vxe-column>
           <vxe-column min-width="120" title="收款日期" align="center" field="receivablesDate"></vxe-column>
           <vxe-column min-width="110" fixed="right" align="center" title="是否收款" field="receivablesStatus">
-            <template slot-scope="scope">
-              {{$dictUtils.getDictLabel('collect_not', scope.row.receivablesStatus, '-')}}
+            <template #default="scope">
+              {{$dictUtils.getDictLabel('collect_not', scope.row.receivablesStatus, '')}}
             </template>
           </vxe-column>
           <vxe-column min-width="110" fixed="right" align="center" title="是否作废" field="invalidStatus">
-            <template slot-scope="scope">
+            <template #default="scope">
               {{scope.row.invalidStatus === '1'?'已作废':'未作废'}}
             </template>
           </vxe-column>
           <vxe-column  min-width="110px" fixed="right" align="center" title="状态" field="status" >
-            <template slot-scope="scope">
-              <el-button @click="invoiceDetail(scope.row)" :type="$dictUtils.getDictLabel('invoice_status_info', scope.row.status, '-')" effect="dark" size="mini">{{$dictUtils.getDictLabel("invoice_status", scope.row.status, '-')}} </el-button>
+            <template #default="scope">
+              <el-button @click="invoiceDetail(scope.row)" :type="$dictUtils.getDictLabel('invoice_status_info', scope.row.status, '')" effect="dark" >{{$dictUtils.getDictLabel("invoice_status", scope.row.status, '')}} </el-button>
             </template>
           </vxe-column>
           <vxe-column min-width="300" title="操作"  fixed="right" align="center">
-            <template  slot-scope="scope">
+            <template  #default="scope">
               <div v-if="isAdmin">
-                <el-button v-if="(scope.row.status === '5')" type="text"  size="small" @click="editForm(scope.row.id)">修改</el-button>
-                <el-button v-if="(scope.row.status === '5')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+                <el-button v-if="(scope.row.status === '5')" text type="primary"  @click="editForm(scope.row.id)">修改</el-button>
+                <el-button v-if="(scope.row.status === '5')" text type="primary"  @click="del(scope.row.id)">删除</el-button>
               </div>
               <div v-else>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status === '1'||scope.row.status === '3')" type="text"  size="small" @click="invoicePush(scope.row)">修改</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&scope.row.status === '2'" type="text"  size="small" @click="invoiceReback(scope.row)">撤回</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit:detail')&&scope.row.status === '5'&&scope.row.receivablesStatus !== '1'" type="text"  size="small" @click="editDetail(scope.row.id)">修改发票明细</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit:receivables')&&scope.row.status === '5'&&scope.row.receivablesStatus !== '1'" type="text"   size="small" @click="view(true, scope.row.id)">收款</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit:is_receivables')&&scope.row.status === '5'&&scope.row.receivablesStatus !== '1'" type="text"   size="small" @click="isReceivables(scope.row)">确认收款</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit:is_receivables')&&scope.row.status === '5'&&scope.row.receivablesStatus === '1'" type="text"   size="small" @click="recallReceivables(scope.row)">撤回收款</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status === '5'||scope.row.status === '7')" type="text"  size="small" @click="invoiceInvalidPush(scope.row)">作废</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&scope.row.status === '6'" type="text"  size="small" @click="invoiceInvalidReBack(scope.row)">作废撤回</el-button>
-              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status === '1'||scope.row.status === '3')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status === '1'||scope.row.status === '3')" text type="primary" @click="invoicePush(scope.row)">修改</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&scope.row.status === '2'" text type="primary"  @click="invoiceReback(scope.row)">撤回</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit:detail')&&scope.row.status === '5'&&scope.row.receivablesStatus !== '1'" text type="primary"  @click="editDetail(scope.row.id)">修改发票明细</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit:receivables')&&scope.row.status === '5'&&scope.row.receivablesStatus !== '1'" text type="primary"  @click="view(true, scope.row.id)">收款</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit:is_receivables')&&scope.row.status === '5'&&scope.row.receivablesStatus !== '1'" text type="primary"  @click="isReceivables(scope.row)">确认收款</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit:is_receivables')&&scope.row.status === '5'&&scope.row.receivablesStatus === '1'" text type="primary" @click="recallReceivables(scope.row)">撤回收款</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status === '5'||scope.row.status === '7')" text type="primary"  @click="invoiceInvalidPush(scope.row)">作废</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&scope.row.status === '6'" text type="primary" @click="invoiceInvalidReBack(scope.row)">作废撤回</el-button>
+              <el-button v-if="hasPermission('cw_finance:invoice:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status === '1'||scope.row.status === '3')" text type="primary"  @click="del(scope.row.id)">删除</el-button>
 <!--              审核  发票申请-->
-              <el-button v-if="scope.row.status==='2' && checkIsAudit(scope.row)" type="text"  size="small" @click="examine(scope.row)">审核</el-button>
+              <el-button v-if="scope.row.status==='2' && checkIsAudit(scope.row)" text type="primary"  @click="examine(scope.row)">审核</el-button>
 <!--              被驳回后当前申请人重新调整  发票申请-->
-              <el-button v-if="scope.row.createBy.id === $store.state.user.id&&scope.row.status === '4'" type="text"  size="small" @click="adjust(scope.row)">驳回调整</el-button>
+              <el-button v-if="scope.row.createBy.id === $store.state.user.id&&scope.row.status === '4'" text type="primary"  @click="adjust(scope.row)">驳回调整</el-button>
 <!--              审核  发票作废-->
-              <el-button v-if="scope.row.status==='6' && checkIsAuditInvalid(scope.row)" type="text"  size="small" @click="examineInvalid(scope.row)">作废审核</el-button>
+              <el-button v-if="scope.row.status==='6' && checkIsAuditInvalid(scope.row)" text type="primary"  @click="examineInvalid(scope.row)">作废审核</el-button>
 <!--              被驳回后当前申请人重新调整  发票作废-->
-              <el-button v-if="scope.row.createBy.id === $store.state.user.id&&scope.row.status === '8'" type="text"  size="small" @click="adjustInvalid(scope.row)">驳回调整</el-button>
+              <el-button v-if="scope.row.createBy.id === $store.state.user.id&&scope.row.status === '8'" text type="primary" @click="adjustInvalid(scope.row)">驳回调整</el-button>
               </div>
             </template>
           </vxe-column>
         </vxe-table>
         <vxe-pager
           background
-          size="small"
           :current-page="tablePage.currentPage"
           :page-size="tablePage.pageSize"
           :total="tablePage.total"
@@ -288,7 +294,7 @@
 </template>
 
 <script>
-  import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
+  import financeInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
   import ProgramForm from './ProgramForm'
   import InvoiceForm from './InvoiceForm'
   import pick from 'lodash.pick'
@@ -302,6 +308,7 @@
   export default {
     data () {
       return {
+		searchVisible: true,
         showHideItem: false,
         showHideIcon: 'el-icon-arrow-down',
         showHideName: '展示',
@@ -336,14 +343,12 @@
         isAdmin: false
       }
     },
-    financeInvoiceService: null,
     computed: {
       userName () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       }
     },
     created () {
-      this.financeInvoiceService = new FinanceInvoiceService()
     },
     components: {
       InvoiceForm,
@@ -354,6 +359,12 @@
       InvoiceUpdateForm
     },
     mounted () {
+		this.$nextTick(() => {
+			//将表格和工具栏进行关联
+			const $table = this.$refs.invoiceTable;
+			const $toolbar = this.$refs.toolbarRef;
+			$table.connect($toolbar);
+		})
       this.refreshList()
     },
     activated () {
@@ -420,7 +431,7 @@
           this.searchForm.remittanceDateBegin = ''
           this.searchForm.remittanceDateEnd = ''
         }
-        this.financeInvoiceService.list({
+        financeInvoiceService.list({
           'current': this.tablePage.currentPage,
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
@@ -510,7 +521,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.financeInvoiceService.delete(ids).then((data) => {
+          financeInvoiceService.delete(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false
@@ -680,14 +691,14 @@
           cancelButtonText: '取消',
           type: 'warning'
         }).then(async () => {
-          await this.financeInvoiceService.queryById(row.id).then((data) => {
+          await financeInvoiceService.queryById(row.id).then((data) => {
             if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
               this.$message.error('数据已发生改变或不存在,请刷新数据')
               this.refreshList()
             } else {
               processService.revokeProcIns(row.procInsId).then(async (data) => {
                 let form = {status: '3', id: row.id}
-                await this.financeInvoiceService.updateStatusById(form)
+                await financeInvoiceService.updateStatusById(form)
                 this.$message.success(data)
                 this.refreshList()
               })
@@ -701,14 +712,14 @@
           cancelButtonText: '取消',
           type: 'warning'
         }).then(async () => {
-          await this.financeInvoiceService.queryById(row.id).then((data) => {
+          await financeInvoiceService.queryById(row.id).then((data) => {
             if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
               this.$message.error('数据已发生改变或不存在,请刷新数据')
               this.refreshList()
             } else {
               processService.revokeProcIns(row.financeInvoiceInvalidDTO.procInsId).then(async (data) => {
                 let form = {status: '5', id: row.id}
-                await this.financeInvoiceService.updateStatusById(form)
+                await financeInvoiceService.updateStatusById(form)
                 this.$message.success(data)
                 this.refreshList()
               })
@@ -723,7 +734,7 @@
           type: 'warning'
         }).then(() => {
           let param = {id: row.id, receivablesStatus: '1'}
-          this.financeInvoiceService.isReceivables(param).then((data) => {
+          financeInvoiceService.isReceivables(param).then((data) => {
             this.$message.success(data)
             this.refreshList()
           })
@@ -736,7 +747,7 @@
           type: 'warning'
         }).then(() => {
           let param = {id: row.id, receivablesStatus: '0'}
-          this.financeInvoiceService.isReceivables(param).then((data) => {
+          financeInvoiceService.isReceivables(param).then((data) => {
             this.$message.success(data)
             this.refreshList()
           })
@@ -776,7 +787,7 @@
           selectIds: options.mode === 'selected' ? options.map(item => item.id) : [],
           exportFields: options.columns.map(column => column.property)
         }
-        return this.financeInvoiceService.exportFile(params).then((res) => {
+        return financeInvoiceService.exportFile(params).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
           this.$utils.downloadExcel(res, options.filename)
         }).catch(function (err) {
@@ -787,7 +798,7 @@
       },
       // 驳回后调整
       adjust (row) {
-        this.financeInvoiceService.queryById(row.id).then((data) => {
+        financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '4') { // status的值不等于“驳回”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -798,7 +809,7 @@
       },
       // 审核
       examine (row) {
-        this.financeInvoiceService.queryById(row.id).then((data) => {
+        financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -841,7 +852,7 @@
       },
       // 驳回后调整
       adjustInvalid (row) {
-        this.financeInvoiceService.queryById(row.id).then((data) => {
+        financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '8') { // status的值不等于“驳回”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -852,7 +863,7 @@
       },
       // 审核
       examineInvalid (row) {
-        this.financeInvoiceService.queryById(row.id).then((data) => {
+        financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()

+ 290 - 281
src/views/cw/invoice/InvoiceUpdateForm.vue

@@ -3,64 +3,66 @@
     <el-dialog
       :title="title"
       :close-on-click-modal="false"
-      v-dialogDrag
+	  draggable
       width="1200px"
       @close="close"
       append-to-body
       @keyup.enter.native="submit"
-      :visible.sync="visible">
-    <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method === 'view'"
+      v-model="visible">
+    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method === 'view'"
              label-width="160px" @submit.native.prevent>
       <el-divider content-position="left"><i class="el-icon-document"></i>
         基本信息
-        <el-button style="margin-left: 20px" type="primary" :disabled="method === 'view'" size="mini" @click="insertEvent('base')"  plain>
+        <el-button style="margin-left: 20px" type="primary" :disabled="method === 'view'" @click="insertEvent('base')"  plain>
           新增
         </el-button>
       </el-divider>
       <el-row  :gutter="15">
-        <vxe-table
-          border
-          show-overflow
-          show-footer
-          ref="baseTable"
-          :key="baseKey"
-          class="vxe-table-element"
-          :data="inputForm.financeInvoiceBaseDTOList"
-          style="margin-left: 5em"
-          highlight-current-row
-          :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
-        >
-          <vxe-table-column field="programName" align="center" title="项目名称" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="contractName" align="center" title="合同名称" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
-            </template>
-          </vxe-table-column>
-          <vxe-table-column field="programNo" align="center" title="项目编号" :edit-render="{}">
-            <template v-slot:edit="scope">
-              <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
-            </template>
-          </vxe-table-column>
-          <!--          <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
-          <!--            <template v-slot:edit="scope">-->
-          <!--              <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
-          <!--            </template>-->
-          <!--          </vxe-table-column>-->
-          <!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
-          <!--              <template v-slot:edit="scope">-->
-          <!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
-          <!--              </template>-->
-          <!--            </vxe-table-column>-->
-          <vxe-table-column title="操作" align="center" width="100">
-            <template v-slot="scope">
-              <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
-            </template>
-          </vxe-table-column>
-        </vxe-table>
+        <el-col :span="24">
+			<vxe-table
+				border
+				show-overflow
+				show-footer
+				ref="baseTable"
+				:key="baseKey"
+				class="vxe-table-element"
+				:data="inputForm.financeInvoiceBaseDTOList"
+				style="margin-left: 5em"
+				highlight-current-row
+				:edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
+			>
+				<vxe-table-column field="programName" align="center" title="项目名称" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="contractName" align="center" title="合同名称" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column field="programNo" align="center" title="项目编号" :edit-render="{}">
+					<template v-slot:edit="scope">
+						<el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
+					</template>
+				</vxe-table-column>
+				<!--          <vxe-table-column field="clientName" title="委托方" :edit-render="{}">-->
+				<!--            <template v-slot:edit="scope">-->
+				<!--              <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>-->
+				<!--            </template>-->
+				<!--          </vxe-table-column>-->
+				<!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
+				<!--              <template v-slot:edit="scope">-->
+				<!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
+				<!--              </template>-->
+				<!--            </vxe-table-column>-->
+				<vxe-table-column title="操作" align="center" width="100">
+					<template v-slot="scope">
+						<el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
+					</template>
+				</vxe-table-column>
+			</vxe-table>
+		</el-col>
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i> 发票详情</el-divider>
       <el-row  :gutter="15">
@@ -69,7 +71,7 @@
                         :rules="[
                         {required: true, message:'发票类型不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -85,7 +87,7 @@
                         :rules="[
                         {required: true, message:'开票类型不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -98,7 +100,7 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="default"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
@@ -121,7 +123,7 @@
             <el-input :readonly="true" placeholder="请填写实际开票单位" v-model="inputForm.billingWorkplaceReal" @focus="openWorkClientForm()" clearable></el-input>
           </el-form-item>
         </el-col>
-        <div v-if="inputForm.type === '1'">
+        <template v-if="inputForm.type === '1'">
           <el-col v-if="inputForm.billingType === '1'" :span="12">
             <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                           :rules="[
@@ -171,8 +173,8 @@
               <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
-        <div v-if="inputForm.type !== '1'">
+        </template>
+        <template v-if="inputForm.type !== '1'">
           <el-col v-if="inputForm.billingType === '1'" :span="12">
             <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
                           :rules="[
@@ -217,7 +219,7 @@
               <el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
+        </template>
 
         <el-col :span="12">
           <el-form-item label="收款类型" prop="receivablesType"
@@ -279,7 +281,7 @@
                         :rules="[
                         {required: true, message:'是否多张开票不能为空', trigger:'blur'}
                ]">
-            <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" size="small" style="margin-right: 20px">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" style="margin-right: 20px">
               {{item.label}}
             </el-radio>
           </el-form-item>
@@ -298,55 +300,58 @@
             <el-input :disabled="true" v-model="inputForm.billingPeople" placeholder="请选择开票人" clearable></el-input>
           </el-form-item>
         </el-col>
-        <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
-                 label-width="160px" @submit.native.prevent>
-          <el-col v-if="status === 'audit'" :span="12" >
-            <el-form-item label="开票时间" prop="billingDate"
-                          :rules="[
+<!--        <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"-->
+<!--                 label-width="160px" @submit.native.prevent>-->
+<!--        </el-form>-->
+		  <el-col v-if="status === 'audit'" :span="12" >
+			  <el-form-item label="开票时间" prop="billingDate"
+							:rules="[
                          {required: true, message:'开票时间不能为空', trigger:'blur'}
                  ]">
-              <el-date-picker
-                v-model="inputForm.billingDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择开票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col v-if="status !== 'audit'" :span="12" >
-            <el-form-item label="开票时间" prop="billingDate"
-                          :rules="[
+				  <el-date-picker
+					  v-model="inputForm.billingDate"
+					  type="date"
+					  value-format="YYYY-MM-DD"
+					  placeholder="选择开票时间"
+					  style="width:100%"
+					  :disabled="true"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
+		  <el-col v-if="status !== 'audit'" :span="12" >
+			  <el-form-item label="开票时间" prop="billingDate"
+							:rules="[
                  ]">
-              <el-date-picker
-                v-model="inputForm.billingDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择开票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="领票时间" prop="collectDate"
-                          :rules="[
+				  <el-date-picker
+					  v-model="inputForm.billingDate"
+					  type="date"
+					  value-format="YYYY-MM-DD"
+					  placeholder="选择开票时间"
+					  style="width:100%"
+					  :disabled="true"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
+		  <el-col :span="12">
+			  <el-form-item label="领票时间" prop="collectDate"
+							:rules="[
                  ]">
-              <el-date-picker
-                v-model="inputForm.collectDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择领票时间"
-                style="width:100%"
-                placement="bottom-start"
-                clearable>
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-        </el-form>
+				  <el-date-picker
+					  v-model="inputForm.collectDate"
+					  type="date"
+					  value-format="YYYY-MM-DD"
+					  placeholder="选择领票时间"
+					  style="width:100%"
+					  :disabled="true"
+					  placement="bottom-start"
+					  clearable>
+				  </el-date-picker>
+			  </el-form-item>
+		  </el-col>
         <el-col :span="12">
           <el-form-item label="实际开票人" prop="billingPeopleReal"
                         :rules="[
@@ -355,13 +360,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="default"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.billingPeopleReal"
               :clearable="true"
               :accordion="true"
@@ -376,13 +381,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="default"
               :props="{
                 value: 'id',             // ID字段名
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.reconciliationPeople"
               :clearable="true"
               :accordion="true"
@@ -402,10 +407,10 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-              url="/sys/area/treeData"
+              url="/system-server/sys/area/treeData"
               :value="inputForm.reconciliationArea"
               :clearable="true"
-              size="medium"
+              size="default"
               :accordion="true"
               @getValue="(value) => {inputForm.reconciliationArea=value}"/>
           </el-form-item>
@@ -423,7 +428,7 @@
       <el-form :disabled="true">
         <el-divider content-position="left"><i class="el-icon-document"></i>
           发票明细
-          <el-button style="margin-left: 20px" type="primary" :disabled="true" size="mini" @click="insertEvent('detail')" plain>
+          <el-button style="margin-left: 20px" type="primary" :disabled="true" @click="insertEvent('detail')" plain>
             新增
           </el-button>
           <el-popover
@@ -433,7 +438,7 @@
             <p>请先下载模板,然后再进行导入操作</p>
             <el-row :gutter="1">
               <el-col :span="6">
-                <el-button :disabled="true" type="success" size="small" @click="downloadTpl">下载模板</el-button>
+                <el-button :disabled="true" type="success" @click="downloadTpl">下载模板</el-button>
               </el-col>
               <el-col :span="6">
                 <el-upload
@@ -441,7 +446,7 @@
                   :auto-upload="false"
                   :on-change="beforeUploadDetail"
                   :show-file-list="false">
-                  <el-button :disabled="true" size="small" type="primary">导入全部</el-button>
+                  <el-button :disabled="true" type="primary">导入全部</el-button>
                 </el-upload>
               </el-col>
               <el-col :span="6">
@@ -450,167 +455,171 @@
                   :auto-upload="false"
                   :on-change="beforeUploadDetailCode"
                   :show-file-list="false">
-                  <el-button :disabled="true" size="small" type="primary" >仅导入当前纳税人识别号</el-button>
+                  <el-button :disabled="true" type="primary" >仅导入当前纳税人识别号</el-button>
                 </el-upload>
               </el-col>
             </el-row>
             <div style="text-align: right; margin-top: 10px;margin-right: 10px;">
-              <el-button size="mini" :disabled="true" type="default" @click="importVisible = false" plain>取消</el-button>
+              <el-button  :disabled="true" type="default" @click="importVisible = false" plain>取消</el-button>
               <!--            <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
             </div>
-            <el-button style="margin-left: 20px" slot="reference" :disabled="true" type="warning" size="mini" plain>导入</el-button>
+            <el-button style="margin-left: 20px" slot="reference" :disabled="true" type="warning" size="small" plain>导入</el-button>
           </el-popover>
         </el-divider>
       </el-form>
 
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
+      <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
                label-width="160px" @submit.native.prevent>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="detailTable"
-            :key="detailKey"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceDetailDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="code" title="发票代码" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="number" title="发票号" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input
-                  oninput ="value=value.replace(/\D|^/g,'')"
-                  placeholder="请填写发票号"
-                  maxlength="8"
-                  @blur="checkNumber(scope.row,scope.$rowIndex)"
-                  v-model="scope.row.number"
-                  clearable>
-                </el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  @blur="checkAccount(scope.row,scope.$rowIndex)"
-                  v-model="scope.row.account"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :max="999999999999999"
-                  :precision="2"
-                  placeholder="请填写开票金额"
-                  :step="0.01"
-                  :min="0">
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  @blur="checkRate(scope.row, scope.$rowIndex)"
-                  v-model="scope.row.rate"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写税率"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="amount" title="金额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="tax" title="税额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  v-model="scope.row.allAmount"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写累计登记金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="detailTable"
+				  :key="detailKey"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceDetailDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="code" title="发票代码" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="number" title="发票号" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input
+							  oninput ="value=value.replace(/\D|^/g,'')"
+							  placeholder="请填写发票号"
+							  maxlength="8"
+							  @blur="checkNumber(scope.row,scope.$rowIndex)"
+							  v-model="scope.row.number"
+							  clearable>
+						  </el-input>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  @blur="checkAccount(scope.row,scope.$rowIndex)"
+							  v-model="scope.row.account"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :max="999999999999999"
+							  :precision="2"
+							  placeholder="请填写开票金额"
+							  :step="0.01"
+							  :min="0">
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  @blur="checkRate(scope.row, scope.$rowIndex)"
+							  v-model="scope.row.rate"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写税率"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="amount" title="金额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="tax" title="税额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  v-model="scope.row.allAmount"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写累计登记金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
       </el-form>
       <div v-if="false">
         <el-divider content-position="left"><i class="el-icon-document"></i>
           收款明细
-          <el-button style="margin-left: 20px" :disabled="method === 'view'" type="primary" size="mini" @click="insertEvent('receivables')" plain>
+          <el-button style="margin-left: 20px" :disabled="method === 'view'" type="primary" @click="insertEvent('receivables')" plain>
             新增
           </el-button>
         </el-divider>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="receivablesTable"
-            :key="receivablesKey"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceReceivablesDTOList"
-            style="margin-left: 5em"
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input-number
-                  v-model="scope.row.remittanceAmount"
-                  controls-position="right"
-                  :controls="false"
-                  style="width:100%;"
-                  :precision="2"
-                  placeholder="请填写汇款金额"
-                  :step="0.01"
-                  :min="0"
-                  clearable>
-                </el-input-number>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="receivablesTable"
+				  :key="receivablesKey"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceReceivablesDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input-number
+							  v-model="scope.row.remittanceAmount"
+							  controls-position="right"
+							  :controls="false"
+							  style="width:100%;"
+							  :precision="2"
+							  placeholder="请填写汇款金额"
+							  :step="0.01"
+							  :min="0"
+							  clearable>
+						  </el-input-number>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
+					  <template v-slot:edit="scope">
+						  <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column title="操作" width="100">
+					  <template v-slot="scope">
+						  <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
+					  </template>
+				  </vxe-table-column>
+			  </vxe-table>
+		  </el-col>
         </el-row>
         <el-divider content-position="left"><i class="el-icon-document"></i>发票作废</el-divider>
         <el-row :gutter="15">
@@ -633,16 +642,18 @@
     <WorkClientBillingChooseRadio ref="billingChoose" @getBilling="getBilling"></WorkClientBillingChooseRadio>
 
 
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" :loading="loading" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="small" :loading="loading" type="primary" v-if="method != 'view'" @click="submit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-      </span>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button :loading="loading" @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button :loading="loading" type="primary" v-if="method != 'view'" @click="submit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			  </span>
+		</template>
     </el-dialog>
   </div>
 </template>
 
 <script>
-  import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
+  import financeInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
   import workClientService from '@/api/cw/workClientInfo/WorkClientService'
   import ProgramPageForm from './ProgramPageForm'
   import UpLoadComponent from '@/views/common/UpLoadComponent'
@@ -695,11 +706,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -725,9 +736,7 @@
         receivablesKey: ''
       }
     },
-    financeInvoiceService: null,
     created () {
-      this.financeInvoiceService = new FinanceInvoiceService()
     },
     mounted () {
     },
@@ -802,11 +811,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -839,7 +848,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
+          financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
@@ -867,13 +876,13 @@
               this.inputForm.receivablesType = '2'
             }
             if (this.commonJS.isEmpty(this.inputForm.billingPeople)) {
-              this.inputForm.billingPeople = JSON.parse(localStorage.getItem('user')).name
+              this.inputForm.billingPeople = this.$store.state.user.name
             }
             if (this.commonJS.isEmpty(this.inputForm.billingPeopleId)) {
-              this.inputForm.billingPeopleId = JSON.parse(localStorage.getItem('user')).id
+              this.inputForm.billingPeopleId = this.$store.state.user.id
             }
             if (this.commonJS.isEmpty(this.inputForm.billingPeopleReal)) {
-              this.inputForm.billingPeopleReal = JSON.parse(localStorage.getItem('user')).id
+              this.inputForm.billingPeopleReal = this.$store.state.user.id
             }
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceBaseDTOList)) {
               this.inputForm.financeInvoiceBaseDTOList = []
@@ -919,7 +928,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
+          financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             if (data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -934,7 +943,7 @@
       },
       async agreeForm (callback) {
         this.loading = true
-        await this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
+        await financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -946,7 +955,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
+        financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -995,7 +1004,7 @@
                   throw new Error('需上传开票明细相关文件')
                 }
               }
-              this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
+              financeInvoiceService.saveForm(this.inputForm).then((data) => {
                 this.$refs.inputForm.resetFields()
                 this.close()
                 this.$emit('refreshDataList')
@@ -1021,7 +1030,7 @@
           this.loading = true
           this.inputForm.status = '1'
           this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-          this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
+          financeInvoiceService.saveForm(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -1095,7 +1104,7 @@
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
               this.err = true
             }
-            await this.financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
+            await financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
               if (data === true) {
                 this.loading = false
                 this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
@@ -1128,7 +1137,7 @@
                 throw new Error('需上传开票明细相关文件')
               }
             }
-            this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
+            financeInvoiceService.saveForm(this.inputForm).then((data) => {
               if (status === 'start' || status === 'reapply') {
                 this.inputForm.title = `${this.$store.state.user.name} 发起了 ${data.no} [财务-发票申请]`
               }
@@ -1342,7 +1351,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
+          financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -1396,7 +1405,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
+            financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1416,7 +1425,7 @@
                 }
                 if (type === 'reject' || type === 'reback') {
                   let param = {status: this.inputForm.status, id: this.inputForm.id}
-                  this.financeInvoiceService.updateStatusById(param).then(() => {
+                  financeInvoiceService.updateStatusById(param).then(() => {
                     this.loading = false
                     callback()
                   })
@@ -1424,7 +1433,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
+            financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1432,7 +1441,7 @@
               } else {
                 // 终止
                 let param = {status: '1', id: this.inputForm.id}
-                this.financeInvoiceService.updateStatusById(param).then(() => {
+                financeInvoiceService.updateStatusById(param).then(() => {
                   this.loading = false
                   callback()
                 })
@@ -1444,7 +1453,7 @@
       // 下载模板
       downloadTpl () {
         this.loading = true
-        this.financeInvoiceService.exportTemplate().then((res) => {
+        financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
           this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
@@ -1469,7 +1478,7 @@
         const formBody = new FormData()
         formBody.append('file', file.raw)
         this.loading = true
-        this.financeInvoiceService.importDetail(formBody).then(async (result) => {
+        financeInvoiceService.importDetail(formBody).then(async (result) => {
           if (this.commonJS.isEmpty(result)) {
             this.importVisible = false
             this.loading = false
@@ -1504,7 +1513,7 @@
         const formBody = new FormData()
         formBody.append('file', file.raw)
         this.loading = true
-        this.financeInvoiceService.importDetail(formBody).then(async result => {
+        financeInvoiceService.importDetail(formBody).then(async result => {
           if (this.commonJS.isEmpty(result)) {
             this.importVisible = false
             this.loading = false

+ 67 - 72
src/views/cw/invoice/ProgramForm.vue

@@ -3,47 +3,47 @@
     <el-dialog
       :title="title"
       :close-on-click-modal="false"
-      v-dialogDrag
+	  draggable
       width="1300px"
       @close="close"
       append-to-body
       @keyup.enter.native="doSubmit"
-      :visible.sync="visible">
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
+      v-model="visible">
+      <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
                label-width="160px" @submit.native.prevent>
         <el-row  :gutter="15" v-if="baseFlag !== true">
-          <vxe-table
-            border
-            show-overflow
-            show-footer
-            ref="baseTable"
-            class="vxe-table-element"
-            :data="inputForm.financeInvoiceBaseDTOList"
-            style="margin-left: 5em"
-            @cell-click=""
-            @edit-closed=""
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="programName" align="center" title="项目名称">
-              <template slot-scope="scope">
-                <el-link type="primary" :underline="false" @click="openProjectForm(scope.row.programId)" >{{scope.row.programName}}</el-link>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="contractName" align="center" title="合同名称"></vxe-table-column>
-            <vxe-table-column field="programNo" align="center" title="项目编号"></vxe-table-column>
-<!--            <vxe-table-column field="clientName" align="center" title="委托方"></vxe-table-column>-->
-<!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
-<!--              <template v-slot:edit="scope">-->
-<!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
-<!--              </template>-->
-<!--            </vxe-table-column>-->
-<!--            <vxe-table-column title="操作" width="100">-->
-<!--              <template v-slot="scope">-->
-<!--                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>-->
-<!--              </template>-->
-<!--            </vxe-table-column>-->
-          </vxe-table>
+          <el-col :span="24">
+			  <vxe-table
+				  border
+				  show-overflow
+				  show-footer
+				  ref="baseTable"
+				  class="vxe-table-element"
+				  :data="inputForm.financeInvoiceBaseDTOList"
+				  style="margin-left: 5em"
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <vxe-table-column field="programName" align="center" title="项目名称">
+					  <template #default="scope">
+						  <el-link type="primary" :underline="false" @click="openProjectForm(scope.row.programId)" >{{scope.row.programName}}</el-link>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="contractName" align="center" title="合同名称"></vxe-table-column>
+				  <vxe-table-column field="programNo" align="center" title="项目编号"></vxe-table-column>
+				  <!--            <vxe-table-column field="clientName" align="center" title="委托方"></vxe-table-column>-->
+				  <!--            <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
+				  <!--              <template v-slot:edit="scope">-->
+				  <!--                <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
+				  <!--              </template>-->
+				  <!--            </vxe-table-column>-->
+				  <!--            <vxe-table-column title="操作" width="100">-->
+				  <!--              <template v-slot="scope">-->
+				  <!--                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>-->
+				  <!--              </template>-->
+				  <!--            </vxe-table-column>-->
+			  </vxe-table>
+		  </el-col>
         </el-row>
         <el-row :gutter="15" v-if="baseFlag === true">
           <el-form-item label="开票详情" prop="">
@@ -51,11 +51,14 @@
           </el-form-item>
         </el-row>
       </el-form>
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-<!--      <el-button size="small" type="primary" v-if="method != 'view'||receivablesFlag!==true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>-->
-<!--      <el-button size="small" type="primary" v-if="receivablesFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>保留</el-button>-->
-    </span>
+		<template #footer>
+			<span slot="footer" class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+						<!--      <el-button size="small" type="primary" v-if="method != 'view'||receivablesFlag!==true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>-->
+						<!--      <el-button size="small" type="primary" v-if="receivablesFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>保留</el-button>-->
+			</span>
+		</template>
+
     </el-dialog>
     <ProgramPageForm ref="programPageForm" @getProgram="getProgram"></ProgramPageForm>
     <ContractForm  ref="contractForm" @getContract="getContract"></ContractForm>
@@ -65,15 +68,13 @@
 </template>
 
 <script>
-  import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
-  import WorkClientService from '@/api/cw/workClientInfo/WorkClientService'
+  import financeInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
+  import workClientService from '@/api/cw/workClientInfo/WorkClientService'
   import ProjectForm from '@/views/cw/projectRecords/ProjectRecordsForm'
   import ProgramPageForm from '@/views/cw/invoice/ProgramPageForm'
   import UpLoadComponent from '@/views/common/UpLoadComponent'
   import ContractForm from '@/views/cw/invoice/ContractForm'
   import WorkClientForm from '@/views/cw/invoice/WorkClientForm'
-  import SelectUserTree from '@/views/utils/treeUserSelect'
-  import SelectTree from '@/components/treeSelect/treeSelect.vue'
   export default {
     data () {
       return {
@@ -103,11 +104,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -130,18 +131,12 @@
         programName: ''
       }
     },
-    financeInvoiceService: null,
-    workClientService: null,
     created () {
-      this.financeInvoiceService = new FinanceInvoiceService()
-      this.workClientService = new WorkClientService()
     },
     components: {
       ProgramPageForm,
       ContractForm,
       WorkClientForm,
-      SelectUserTree,
-      SelectTree,
       UpLoadComponent,
       ProjectForm
     },
@@ -171,11 +166,11 @@
           billingContent: '',
           account: '',
           billingContentTerms: '',
-          billingPeople: JSON.parse(localStorage.getItem('user')).name,
-          billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
+          billingPeople: this.$store.state.user.name,
+          billingPeopleId: this.$store.state.user.id,
           billingDate: '',
           collectDate: '',
-          billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
+          billingPeopleReal: this.$store.state.user.id,
           reconciliationPeople: '',
           reconciliationArea: '',
           remarks: '',
@@ -200,12 +195,12 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
             if (!this.commonJS.isEmpty(this.inputForm.billingWorkplaceRealId)) {
-              this.workClientService.queryById(this.inputForm.billingWorkplaceRealId).then((data) => {
-                this.bankList = data.data.workClientBank
+              workClientService.queryById(this.inputForm.billingWorkplaceRealId).then((data) => {
+                this.bankList = data.workClientBank
               })
             }
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceReceivablesDTOList) || this.inputForm.financeInvoiceReceivablesDTOList.length === 0) {
@@ -269,7 +264,7 @@
             this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
             this.err = true
           }
-          await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+          await financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
             if (data === true) {
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
               this.err = data
@@ -304,7 +299,7 @@
               return
             }
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-            this.financeInvoiceService.save(this.inputForm).then(({data}) => {
+            financeInvoiceService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -504,7 +499,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -548,9 +543,9 @@
       // 下载模板
       downloadTpl () {
         this.loading = true
-        this.financeInvoiceService.exportTemplate().then((res) => {
+        financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '发票明细导入模板')
+          this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -573,13 +568,13 @@
         const formBody = new FormData()
         formBody.append('file', file.raw)
         this.loading = true
-        this.financeInvoiceService.importDetail(formBody).then(async (result) => {
-          if (this.commonJS.isEmpty(result.data)) {
+        financeInvoiceService.importDetail(formBody).then(async (result) => {
+          if (this.commonJS.isEmpty(result)) {
             this.importVisible = false
             this.loading = false
             throw new Error()
           }
-          for await (let item of result.data) {
+          for await (let item of result) {
             this.inputForm.financeInvoiceDetailDTOList.forEach(detail => {
               if (item.number === detail.number) {
                 this.$message.error('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -589,7 +584,7 @@
               }
             })
           }
-          await this.detailPush(result.data)
+          await this.detailPush(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -609,13 +604,13 @@
         const formBody = new FormData()
         formBody.append('file', file.raw)
         this.loading = true
-        this.financeInvoiceService.importDetail(formBody).then(async result => {
-          if (this.commonJS.isEmpty(result.data)) {
+        financeInvoiceService.importDetail(formBody).then(async result => {
+          if (this.commonJS.isEmpty(result)) {
             this.importVisible = false
             this.loading = false
             throw new Error()
           }
-          for await (let item of result.data) {
+          for await (let item of result) {
             await this.inputForm.financeInvoiceDetailDTOList.forEach(detail => {
               if (item.number === detail.number) {
                 this.$message.error('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -625,7 +620,7 @@
               }
             })
           }
-          this.detailPushCode(result.data)
+          this.detailPushCode(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {

+ 14 - 13
src/views/cw/invoice/ProgramPageForm.vue

@@ -10,17 +10,17 @@
       append-to-body
       v-model="visible">
       <div v-if="isShow">
-        <el-radio v-model="checkType" label="1" size="small" style="margin-right: 20px">项目</el-radio>
-        <el-radio v-model="checkType" label="2" size="small" style="margin-right: 20px">其他</el-radio>
+        <el-radio v-model="checkType" label="1" style="margin-right: 20px">项目</el-radio>
+        <el-radio v-model="checkType" label="2" style="margin-right: 20px">其他</el-radio>
       </div>
       <div v-if="checkType === '1'" style="height: calc(100% - 80px);">
-          <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
+          <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
             <!-- 搜索框-->
             <el-form-item label="项目名称" prop="projectName">
-              <el-input size="small" v-model="searchForm.projectName" placeholder="请输入项目名称" clearable></el-input>
+              <el-input v-model="searchForm.projectName" placeholder="请输入项目名称" clearable></el-input>
             </el-form-item>
             <el-form-item label="项目编号" prop="projectNumber">
-              <el-input size="small" v-model="searchForm.projectNumber" placeholder="请输入项目编号" clearable></el-input>
+              <el-input v-model="searchForm.projectNumber" placeholder="请输入项目编号" clearable></el-input>
             </el-form-item>
             <el-form-item label="创建时间" prop="createDates">
               <el-date-picker
@@ -36,8 +36,8 @@
             </el-form-item>
 
             <el-form-item>
-              <el-button type="primary" @click="list()" size="small" icon="el-icon-search">查询</el-button>
-              <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+              <el-button type="primary" @click="list()"  icon="el-icon-search">查询</el-button>
+              <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
             </el-form-item>
           </el-form>
 
@@ -47,7 +47,6 @@
             resizable
             height="400px"
             :loading="loading"
-            size="small"
             ref="projectTable"
             show-header-overflow
             show-overflow
@@ -70,7 +69,6 @@
           </vxe-table>
           <vxe-pager
             background
-            size="small"
             :current-page="tablePage.currentPage"
             :page-size="tablePage.pageSize"
             :total="tablePage.total"
@@ -90,10 +88,13 @@
           </el-row>
         </el-form>
       </div>
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="small" type="primary" v-if="method != 'view'" @click="getProgram()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-    </span>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button type="primary" v-if="method != 'view'" @click="getProgram()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>

+ 18 - 22
src/views/cw/invoice/WorkClientForm.vue

@@ -3,18 +3,17 @@
     <el-dialog
       :title="title"
       :close-on-click-modal="false"
-      v-dialogDrag
+	  draggable
       width="1100px"
       height="500px"
       @close="close"
       append-to-body
-      @keyup.enter.native=""
-      :visible.sync="visible">
+      v-model="visible">
       <div style="height: calc(100% - 80px);">
-        <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="list()" @submit.native.prevent>
+        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="list()" @submit.native.prevent>
           <!-- 搜索框-->
           <el-form-item label="客户名称" prop="name">
-            <el-input size="small" v-model="searchForm.name" placeholder="请输入客户名称" clearable></el-input>
+            <el-input v-model="searchForm.name" placeholder="请输入客户名称" clearable></el-input>
           </el-form-item>
 
           <el-form-item label="创建时间" prop="createDates">
@@ -51,7 +50,7 @@
           </el-form-item>
 
           <el-form-item label="统一社会信用代码" prop="uscCode">
-            <el-input size="small" v-model="searchForm.uscCode" placeholder="请输入统一社会信用代码" clearable></el-input>
+            <el-input v-model="searchForm.uscCode" placeholder="请输入统一社会信用代码" clearable></el-input>
           </el-form-item>
 
           <el-form-item label="创建人" prop="createBy">
@@ -62,7 +61,7 @@
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="searchForm.createBy"
               :clearable="true"
               :accordion="true"
@@ -70,8 +69,8 @@
           </el-form-item>
 
           <el-form-item>
-            <el-button type="primary" @click="list()" size="small" icon="el-icon-search">查询</el-button>
-            <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+            <el-button type="primary" @click="list()" icon="el-icon-search">查询</el-button>
+            <el-button @click="resetSearch()"  icon="el-icon-refresh-right">重置</el-button>
           </el-form-item>
         </el-form>
 
@@ -81,14 +80,12 @@
           resizable
           height="400px"
           :loading="loading"
-          size="small"
           ref="workClientTable"
           show-header-overflow
           show-overflow
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
-          @sort-change=""
           :sort-config="{remote:true}"
           :data="dataList"
           :checkbox-config="{}">
@@ -99,12 +96,12 @@
           </vxe-column>
 <!--          <vxe-column width="200px"  title="代表方" field="deputy" ></vxe-column>-->
           <vxe-column width="100px"  title="客户性质" field="companyType" >
-            <template slot-scope="scope">
+            <template #default="scope">
               {{ $dictUtils.getDictLabel("customer_nature", scope.row.companyType, '-') }}
             </template>
           </vxe-column>
           <vxe-column width="100px"  title="客户行业" field="companyIndustry" >
-            <template slot-scope="scope">
+            <template #default="scope">
               {{ $dictUtils.getDictLabel("industry", scope.row.companyIndustry, '-') }}
             </template>
           </vxe-column>
@@ -115,7 +112,6 @@
 
         <vxe-pager
           background
-          size="small"
           :current-page="tablePage.currentPage"
           :page-size="tablePage.pageSize"
           :total="tablePage.total"
@@ -124,10 +120,12 @@
           @page-change="currentChangeHandle">
         </vxe-pager>
       </div>
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="small" type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-    </span>
+		<template #footer>
+			<span slot="footer" class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
     </el-dialog>
   </div>
 </template>
@@ -135,7 +133,6 @@
 <script>
   import WorkClientService from '@/api/sys/WorkClientService'
   import SelectUserTree from '@/views/utils/treeUserSelect'
-  import SelectTree from '@/components/treeSelect/treeSelect.vue'
   export default {
     data () {
       return {
@@ -170,8 +167,7 @@
       this.workClientService = new WorkClientService()
     },
     components: {
-      SelectUserTree,
-      SelectTree
+      SelectUserTree
     },
     methods: {
       init (id, deputy) {
@@ -199,7 +195,7 @@
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           ...this.searchForm
-        }).then(({data}) => {
+        }).then((data) => {
           this.dataList = data.records
           this.tablePage.total = data.total
           this.loading = false

+ 5 - 4
src/views/cw/reimbursementApproval/info/CwProgramPageForm.vue

@@ -50,7 +50,7 @@
               :sort-config="{remote:true}"
               :data="dataList">
               <vxe-column type="seq" width="60" title="序号"></vxe-column>
-              <vxe-column type="checkbox" width="40px"></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="projectNumber"></vxe-column>
               <vxe-column min-width="160" align="center" title="合同名称" field="contractName"></vxe-column>
@@ -99,7 +99,7 @@
 		<template #footer>
 			<span class="dialog-footer">
 			  <el-button  @click="close()">关闭</el-button>
-			  <el-button  type="primary" v-if="method != 'view'" @click="getProgram()" v-noMoreClick>({{dataListAllSelections.length}}) 确定</el-button>
+			  <el-button  type="primary" v-if="method != 'view'" @click="getProgram()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
 			</span>
 		</template>
     </el-dialog>
@@ -107,6 +107,7 @@
 </template>
 
 <script>
+	import { ref } from "vue";
   import projectRecordsService from '@/api/cw/projectRecords/ProjectRecordsService'
   // import ProgramProjectListInfoService from '@/api/program/ProgramProjectListInfoService'
   // import ReimbursementApprovalService from '@/api/cw/reimbursementApproval/ReimbursementApprovalService'
@@ -260,12 +261,12 @@
           projectNumber: '',
           createBy: ''
         }
-        this.$refs.programTable.clearCheckboxReserve() // 清除全部页的勾选
+        // this.$refs.programTable.clearCheckboxReserve() // 清除全部页的勾选
         this.$refs.searchForm.resetFields()
         this.list()
       },
       close () {
-        this.$refs.programTable.clearCheckboxReserve()
+        // this.$refs.programTable.clearCheckboxReserve()
         this.dataListAllSelections = []
         this.detail = ''
         this.visible = false

+ 1 - 1
src/views/cw/reimbursementApproval/info/CwReimbursementTypePullForm.vue

@@ -38,7 +38,7 @@
           :row-config="{isCurrent: true}"
           :radio-config="{trigger: 'row'}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="radio" width="40" ></vxe-column>
+          <vxe-column type="radio" width="60" ></vxe-column>
           <vxe-column title="报销内容名称" field="name" align="left" tree-node></vxe-column>
           <vxe-column width="100" title="序号" field="sort"></vxe-column>
         </vxe-table>

+ 46 - 46
src/views/cw/reimbursementApproval/info/InfoUpdateForm.vue

@@ -136,22 +136,22 @@
 				  :edit-rules="validRules"
 			  >
 				  <vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.userName" @focus="userPullListForm(scope.$rowIndex)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input :disabled='true' v-model="scope.row.deptName" ></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.typeName" @focus="typePullForm(scope.$rowIndex, scope.row.deptId)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.projectName" @focus="openProgramPageForm(scope.$rowIndex, scope.row)"></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -161,22 +161,22 @@
 				  <!--              </template>-->
 				  <!--            </vxe-table-column>-->
 				  <vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input maxlength="15" v-model="scope.row.number" @keyup.native="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="days" title="出差天数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="content" title="内容" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.content" ></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -213,22 +213,22 @@
 				  :edit-rules="validRules"
 			  >
 				  <vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.userName" @focus="userPullListForm2(scope.$rowIndex)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input :disabled='true' v-model="scope.row.deptName" ></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="contractName" title="报销合同" :edit-render="{}" :rules="[{required: true, message:'请选择报销合同', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.contractName" @focus="openContractForm(scope.$rowIndex, scope.row)"></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -238,22 +238,22 @@
 				  <!--              </template>-->
 				  <!--            </vxe-table-column>-->
 				  <vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input maxlength="15" v-model="scope.row.number" @keyup.native="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="days" title="出差天数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="content" title="内容" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.content" ></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -290,47 +290,47 @@
 				  :edit-rules="validRules"
 			  >
 				  <vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.userName" @focus="userPullListForm3(scope.$rowIndex)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input :disabled='true' v-model="scope.row.deptName" ></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.typeName" @focus="typePullForm3(scope.$rowIndex, scope.row.deptId)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.projectName" @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input maxlength="15" v-model="scope.row.number" @keyup.native="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="days" title="出差天数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="content" title="内容" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.content" ></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -367,22 +367,22 @@
 				  :edit-rules="validRules"
 			  >
 				  <vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.userName" @focus="userPullListForm4(scope.$rowIndex)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input :disabled='true' v-model="scope.row.deptName" ></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.typeName" @focus="typePullForm4(scope.$rowIndex, scope.row.deptId)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" :rules="[{required: true, message:'请填写报销详情', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.projectName" @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -392,22 +392,22 @@
 				  <!--              </template>-->
 				  <!--            </vxe-table-column>-->
 				  <vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input maxlength="15" v-model="scope.row.number" @keyup.native="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="days" title="出差天数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="content" title="内容" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.content" ></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -444,22 +444,22 @@
 				  :edit-rules="validRules"
 			  >
 				  <vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.userName" @focus="userPullListForm5(scope.$rowIndex)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input :disabled='true' v-model="scope.row.deptName" ></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.typeName" @focus="typePullForm5(scope.$rowIndex, scope.row.deptId)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.projectName" @focus="openProgramPageForm5(scope.$rowIndex, scope.row)"></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -469,22 +469,22 @@
 				  <!--              </template>-->
 				  <!--            </vxe-table-column>-->
 				  <vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input maxlength="15" v-model="scope.row.number" @keyup.native="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="days" title="出差天数" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="content" title="内容" :edit-render="{}">
-					  <template #default="scope">
+					  <template v-slot:edit="scope">
 						  <el-input v-model="scope.row.content" ></el-input>
 					  </template>
 				  </vxe-table-column>
@@ -517,27 +517,27 @@
 				:edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon:'_'}"
 			>
 				<vxe-table-column field="code" title="发票代码" :edit-render="{}">
-					<template #default="scope">
+					<template v-slot:edit="scope">
 						<el-input oninput ="value=value.replace(/\D|^/g,'')" maxlength="20" v-model="scope.row.code" ></el-input>
 					</template>
 				</vxe-table-column>
 				<vxe-table-column field="number" title="发票号" :edit-render="{}">
-					<template #default="scope">
+					<template v-slot:edit="scope">
 						<el-input oninput ="value=value.replace(/\D|^/g,'')" maxlength="8" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>
 					</template>
 				</vxe-table-column>
 				<vxe-table-column field="amount" title="金额" :edit-render="{}">
-					<template #default="scope">
+					<template v-slot:edit="scope">
 						<el-input maxlength="15" v-model="scope.row.amount" @keyup.native="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>
 					</template>
 				</vxe-table-column>
 				<vxe-table-column field="taxAmount" title="税额" :edit-render="{}">
-					<template #default="scope">
+					<template v-slot:edit="scope">
 						<el-input maxlength="15" v-model="scope.row.taxAmount" @keyup.native="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>
 					</template>
 				</vxe-table-column>
 				<vxe-table-column field="count" title="价税合计" :edit-render="{}">
-					<template #default="scope">
+					<template v-slot:edit="scope">
 						<el-input :disabled="true" v-model="scope.row.count" ></el-input>
 					</template>
 				</vxe-table-column>

+ 2 - 2
src/views/cw/reimbursementApproval/info/ProgramForm.vue

@@ -18,7 +18,7 @@
       >
         <vxe-table-column type="seq" width="50" title="序号" align="center"></vxe-table-column>
         <vxe-table-column min-width="300px" field="projectName" align="left" title="项目名称">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-link type="primary" :underline="false" @click="openProjectForm(scope.row.id)" >{{scope.row.projectName}}</el-link>
           </template>
         </vxe-table-column>
@@ -68,7 +68,7 @@
         this.loading = true
         let resp = await this.reimbursementApprovalService.queryByProIds(ids)
         if (resp) {
-          this.dataList = resp.data
+          this.dataList = resp
         }
         this.loading = false
       },

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 510 - 499
src/views/cw/reimbursementApproval/info/ReimbursementForm.vue


+ 15 - 21
src/views/cw/workClientInfo/WorkClientBillingChooseRadio.vue

@@ -3,26 +3,26 @@
     <el-dialog
       :title="title"
       :close-on-click-modal="false"
-      v-dialogDrag
+      draggable
       width="1000px"
       append-to-body
       height="500px"
       @close="close"
       @keyup.enter.native="getBilling"
-      :visible.sync="visibleChoose">
+      v-model="visibleChoose">
       <div style="height: calc(100%);">
-        <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
+        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
           <!-- 搜索框-->
           <el-form-item label="公司名称" prop="companyName">
-            <el-input size="small" v-model="searchForm.companyName" placeholder="公司名称" clearable></el-input>
+            <el-input v-model="searchForm.companyName" placeholder="公司名称" clearable></el-input>
           </el-form-item>
           <el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo">
-            <el-input size="small" v-model="searchForm.taxpayerIdentificationNo" placeholder="纳税人识别号" clearable></el-input>
+            <el-input  v-model="searchForm.taxpayerIdentificationNo" placeholder="纳税人识别号" clearable></el-input>
           </el-form-item>
 
           <el-form-item>
-            <el-button type="primary" @click="list()" size="small" icon="el-icon-search">查询</el-button>
-            <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+            <el-button type="primary" @click="list()" icon="el-icon-search">查询</el-button>
+            <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
           </el-form-item>
         </el-form>
 
@@ -33,14 +33,12 @@
           height="auto"
           max-height="400"
           :loading="loading"
-          size="small"
           ref="billingTable"
           show-header-overflow
           show-overflow
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
-          @sort-change=""
           :sort-config="{remote:true}"
           :data="dataList"
           :row-config="{isCurrent: true}"
@@ -60,18 +58,18 @@
           <vxe-column min-width="150" title="地址" align="center" field="address"></vxe-column>
         </vxe-table>
       </div>
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="small" type="primary" v-if="method != 'view'" @click="getBilling()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-    </span>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button type="primary" v-if="method != 'view'" @click="getBilling()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
     </el-dialog>
   </div>
 </template>
 
 <script>
-  import InputNumber from '@/views/workContract/InputNumber.vue'
-  import WorkClientService from '@/api/cw/workClientInfo/WorkClientService'
-  import SelectUserTree from '@/views/utils/treeUserSelect'
+  import workClientService from '@/api/cw/workClientInfo/WorkClientService'
   export default {
     data () {
       return {
@@ -94,13 +92,9 @@
         clientId: ''
       }
     },
-    workClientService: null,
     created () {
-      this.workClientService = new WorkClientService()
     },
     components: {
-      SelectUserTree,
-      InputNumber
     },
     methods: {
       init (id) {
@@ -123,7 +117,7 @@
         this.dataList = []
         this.loading = true
         this.searchForm.clientId = this.clientId
-        this.workClientService.getBillingListByClientId(this.searchForm).then(({data}) => {
+        workClientService.getBillingListByClientId(this.searchForm).then(({data}) => {
           this.dataList = data
           this.loading = false
         })

+ 14 - 15
src/views/finance/invoice/ProgramPageForm.vue

@@ -7,27 +7,26 @@
       width="1200px"
       height="500px"
       @close="close"
-      @keyup.enter.native=""
-      :visible.sync="visible">
+      v-model="visible">
       <el-container>
         <el-main style="padding-top: 0;padding-bottom: 0">
           <div v-if="isShow">
-            <el-radio v-model="checkType" label="1" size="small" style="margin-right: 20px">项目</el-radio>
-            <el-radio v-model="checkType" label="2" size="small" style="margin-right: 20px">其他</el-radio>
+            <el-radio v-model="checkType" label="1" style="margin-right: 20px">项目</el-radio>
+            <el-radio v-model="checkType" label="2" style="margin-right: 20px">其他</el-radio>
           </div>
           <div v-if="checkType === '1'">
-            <el-form style="margin-bottom: 0" size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+            <el-form style="margin-bottom: 0" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
               <!-- 搜索框-->
               <el-form-item label="项目名称" prop="name">
-                <el-input size="small" v-model="searchForm.name" placeholder="请输入项目名称" clearable></el-input>
+                <el-input v-model="searchForm.name" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
               <el-form-item label="项目编号" prop="no">
-                <el-input size="small" v-model="searchForm.no" placeholder="请输入项目编号" clearable></el-input>
+                <el-input  v-model="searchForm.no" placeholder="请输入项目编号" clearable></el-input>
               </el-form-item>
 
               <el-form-item>
-                <el-button type="primary" @click="list()" size="small" icon="el-icon-search">查询</el-button>
-                <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+                <el-button type="primary" @click="list()" icon="el-icon-search">查询</el-button>
+                <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
               </el-form-item>
             </el-form>
             <div v-if="num" style="margin-bottom: 10px"><span style="color: #F56C6C">注:最多选择 10 条数据</span></div>
@@ -37,7 +36,6 @@
               resizable
               height="400px"
               :loading="loading"
-              size="small"
               ref="programTable"
               show-header-overflow
               show-overflow
@@ -62,7 +60,6 @@
             </vxe-table>
             <vxe-pager
               background
-              size="small"
               :current-page="tablePage.currentPage"
               :page-size="tablePage.pageSize"
               :total="tablePage.total"
@@ -95,10 +92,12 @@
           </el-tag>
         </el-aside>
       </el-container>
-      <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="close()">关闭</el-button>
-      <el-button size="small" type="primary" v-if="method != 'view'" @click="getProgram()" v-noMoreClick>({{dataListAllSelections.length}}) 确定</el-button>
-    </span>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button @click="close()">关闭</el-button>
+			  <el-button type="primary" v-if="method != 'view'" @click="getProgram()" v-noMoreClick>({{dataListAllSelections.length}}) 确定</el-button>
+			</span>
+		</template>
     </el-dialog>
   </div>
 </template>