Browse Source

Merge remote-tracking branch 'origin/master'

user5 2 năm trước cách đây
mục cha
commit
7c7103b534
24 tập tin đã thay đổi với 423 bổ sung380 xóa
  1. 14 9
      src/views/cw/invoice/InvoiceForm.vue
  2. 28 20
      src/views/cw/invoice/InvoiceFormTask.vue
  3. 3 3
      src/views/cw/invoice/InvoiceList.vue
  4. 2 2
      src/views/cw/invoice/ProgramPageForm.vue
  5. 9 11
      src/views/cw/projectRecords/ProjectMembersList.vue
  6. 26 21
      src/views/cw/projectRecords/ProjectRecordsAddForm.vue
  7. 2 2
      src/views/cw/projectRecords/ProjectRecordsList.vue
  8. 5 5
      src/views/cw/projectReportArchive/ProjectReportArchiveDetailList.vue
  9. 6 3
      src/views/cw/reimbursementApproval/info/InfoList.vue
  10. 4 3
      src/views/cw/reportCancellApply/ReportCancellApplyList.vue
  11. 4 4
      src/views/cw/reportManagement/ReportManagementAddForm.vue
  12. 5 4
      src/views/cw/reportManagement/ReportManagementForm.vue
  13. 2 2
      src/views/cw/reportManagement/ReportManagementList.vue
  14. 4 4
      src/views/cw/reportManagement/ReportManagementSignatureForm.vue
  15. 4 4
      src/views/cw/reportManagement/reportReview/ReportReviewForm.vue
  16. 12 5
      src/views/cw/workClientInfo/WorkClientAddForm.vue
  17. 2 2
      src/views/cw/workClientInfo/WorkClientList.vue
  18. 154 153
      src/views/cw/workClientInfo/clientUserSelect/UserSelectDialog.vue
  19. 115 102
      src/views/cw/workClientInfo/clientUserSelect/index.vue
  20. 5 2
      src/views/cw/workContract/ContractNameForm.vue
  21. 11 10
      src/views/cw/workContract/ContractRegistration.vue
  22. 2 1
      src/views/cw/workContract/CwWorkContractBorrowForm.vue
  23. 4 4
      src/views/cw/workContract/contractRegisitionAddForm/ContractAddForm.vue
  24. 0 4
      src/views/program/registered/RegisItemForm.vue

+ 14 - 9
src/views/cw/invoice/InvoiceForm.vue

@@ -295,7 +295,7 @@
                 <el-date-picker
                   v-model="inputForm.billingDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择开票时间"
                   style="width:100%"
 				  size="default"
@@ -312,7 +312,7 @@
                 <el-date-picker
                   v-model="inputForm.collectDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择领票时间"
                   style="width:100%"
 				  size="default"
@@ -438,6 +438,7 @@
 					show-footer
 					ref="detailTable"
 					class="vxe-table-element"
+					:key="detailKey"
 					:data="inputForm.financeInvoiceDetailDTOList"
 					style="margin-left: 5em"
 					highlight-current-row
@@ -664,6 +665,7 @@
         receivablesFlag: '', // true为收款,false为非收款
         detailFlag: '', // true为修改发票明细
         importVisible: false,
+		  detailKey: '',
         yesNoFlag: [{label: '否', value: '0'}, {label: '是', value: '1'}]
       }
     },
@@ -957,6 +959,7 @@
         if (type === 'detail') {
           this.$refs.detailTable.insert().then((data) => {
             this.inputForm.financeInvoiceDetailDTOList.push(data)
+			  this.detailKey  = Math.random()
           })
         }
         if (type === 'receivables') {
@@ -1135,7 +1138,7 @@
         this.loading = true
         financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '发票明细导入模板')
+          this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -1150,6 +1153,7 @@
             this.getAmount(item)
             this.getTax(item)
             this.inputForm.financeInvoiceDetailDTOList.push(item)
+			  this.detailKey  = Math.random()
           })
         }
         this.$message.success('导入完成')
@@ -1159,12 +1163,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         financeInvoiceService.importDetail(formBody).then(async (result) => {
-          if (this.commonJS.isEmpty(result.data)) {
+          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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1174,7 +1178,7 @@
               }
             })
           }
-          await this.detailPush(result.data)
+          await this.detailPush(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -1194,12 +1198,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         financeInvoiceService.importDetail(formBody).then(async result => {
-          if (this.commonJS.isEmpty(result.data)) {
+          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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1209,7 +1213,7 @@
               }
             })
           }
-          this.detailPushCode(result.data)
+          this.detailPushCode(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -1225,6 +1229,7 @@
                 this.getAmount(item)
                 this.getTax(item)
                 this.inputForm.financeInvoiceDetailDTOList.push(item)
+				  this.detailKey  = Math.random()
               }
             }
           })

+ 28 - 20
src/views/cw/invoice/InvoiceFormTask.vue

@@ -136,7 +136,10 @@
                       {required: true, message:'电话不能为空', trigger:'blur'},{required: true, message:'电话不能为空', trigger:'change'}
              ]">
               <el-input v-model="inputForm.telPhone" :readonly="commonJS.isNotEmpty(inputForm.billingId)" placeholder="请填写电话">
-                <el-button slot="append" icon="el-icon-search" @click="openBillingChoose()"></el-button>
+				  <template #append>
+					  <el-button icon="el-icon-search" @click="openBillingChoose()"></el-button>
+				  </template>
+
               </el-input>
             </el-form-item>
           </el-col>
@@ -301,7 +304,7 @@
 				  <el-date-picker
 					  v-model="inputForm.billingDate"
 					  type="date"
-					  value-format="yyyy-MM-dd"
+					  value-format="YYYY-MM-DD"
 					  placeholder="选择开票时间"
 					  style="width:100%"
 					  :disabled="status !== 'audit'"
@@ -317,7 +320,7 @@
 				  <el-date-picker
 					  v-model="inputForm.billingDate"
 					  type="date"
-					  value-format="yyyy-MM-dd"
+					  value-format="YYYY-MM-DD"
 					  placeholder="选择开票时间"
 					  style="width:100%"
 					  :disabled="status !== 'audit'"
@@ -333,7 +336,7 @@
 				  <el-date-picker
 					  v-model="inputForm.collectDate"
 					  type="date"
-					  value-format="yyyy-MM-dd"
+					  value-format="YYYY-MM-DD"
 					  placeholder="选择领票时间"
 					  style="width:100%"
 					  :disabled="status !== 'audit'"
@@ -477,12 +480,12 @@
 				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
 			  >
 				  <vxe-table-column field="code" title="发票代码" :edit-render="{}">
-					  <template v-slot:edit="scope">
+					  <template #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">
+					  <template #edit="scope">
 						  <el-input
 							  oninput ="value=value.replace(/\D|^/g,'')"
 							  placeholder="请填写发票号"
@@ -494,7 +497,7 @@
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
-					  <template v-slot:edit="scope">
+					  <template #edit="scope">
 						  <el-input-number
 							  @blur="checkAccount(scope.row,scope.$rowIndex)"
 							  v-model="scope.row.account"
@@ -510,7 +513,7 @@
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
-					  <template v-slot:edit="scope">
+					  <template #edit="scope">
 						  <el-input-number
 							  @blur="checkRate(scope.row, scope.$rowIndex)"
 							  v-model="scope.row.rate"
@@ -526,17 +529,17 @@
 					  </template>
 				  </vxe-table-column>
 				  <vxe-table-column field="amount" title="金额" :edit-render="{}">
-					  <template v-slot:edit="scope">
+					  <template #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">
+					  <template #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">
+					  <template #edit="scope">
 						  <el-input-number
 							  v-model="scope.row.allAmount"
 							  controls-position="right"
@@ -836,8 +839,8 @@
             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)
                   })
@@ -948,6 +951,7 @@
       },
       // 表单提交
       async doSubmit (status, callback) {
+		  console.log('this.inputForm.financeInvoiceDetailDTOList', this.inputForm.financeInvoiceDetailDTOList)
         this.loading = true
         if (await this.$refs.uploadComponent.checkProgress()) {
           this.loading = false
@@ -1142,7 +1146,9 @@
         if (type === 'detail') {
           this.$refs.detailTable.insert().then((data) => {
             this.inputForm.financeInvoiceDetailDTOList.push(data)
+			  this.detailKey  = Math.random()
           })
+			console.log('this.inputForm.financeInvoiceDetailDTOList', this.inputForm.financeInvoiceDetailDTOList)
         }
         if (type === 'receivables') {
           this.$refs.receivablesTable.insert().then((data) => {
@@ -1383,7 +1389,7 @@
         this.loading = true
         financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '发票明细导入模板')
+          this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -1398,6 +1404,7 @@
             this.getAmount(item)
             this.getTax(item)
             this.inputForm.financeInvoiceDetailDTOList.push(item)
+			  this.detailKey  = Math.random()
           })
         }
         this.$message.success('导入完成')
@@ -1407,12 +1414,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         financeInvoiceService.importDetail(formBody).then(async (result) => {
-          if (this.commonJS.isEmpty(result.data)) {
+          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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1422,7 +1429,7 @@
               }
             })
           }
-          await this.detailPush(result.data)
+          await this.detailPush(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -1442,12 +1449,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         financeInvoiceService.importDetail(formBody).then(async result => {
-          if (this.commonJS.isEmpty(result.data)) {
+          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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1457,7 +1464,7 @@
               }
             })
           }
-          this.detailPushCode(result.data)
+          this.detailPushCode(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -1473,6 +1480,7 @@
                 this.getAmount(item)
                 this.getTax(item)
                 this.inputForm.financeInvoiceDetailDTOList.push(item)
+				  this.detailKey  = Math.random()
               }
             }
           })

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

@@ -126,7 +126,7 @@
             @change="changeBillingDateList"
             v-model="searchForm.billingDateList"
             type="daterange"
-            value-format="yyyy-MM-dd"
+            value-format="YYYY-MM-DD"
             range-separator="至"
             style="width: 100%  "
             start-placeholder="开始日期"
@@ -139,7 +139,7 @@
           <el-date-picker
             v-model="searchForm.remittanceDateList"
             type="daterange"
-            value-format="yyyy-MM-dd"
+            value-format="YYYY-MM-DD"
             range-separator="至"
             style="width: 100%  "
             start-placeholder="开始日期"
@@ -198,7 +198,7 @@
           :data="dataList"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="60" ></vxe-column>
           <vxe-column min-width="150" title="项目名称" align="center" field="programName">
             <template #default="scope">
               <el-link  type="primary" :underline="false" @click="viewProject(scope.row.id)">{{scope.row.programName}}</el-link>

+ 2 - 2
src/views/cw/invoice/ProgramPageForm.vue

@@ -59,12 +59,12 @@
             :checkbox-config="{trigger: 'row'}"
           >
             <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>
             <vxe-column min-width="160" align="center" title="创建人" field="createBy.name"></vxe-column>
-            <vxe-column min-width="160" align="center" title="创建时间" field="createDate"></vxe-column>
+            <vxe-column min-width="160" align="center" title="创建时间" field="createTime"></vxe-column>
 
           </vxe-table>
           <vxe-pager

+ 9 - 11
src/views/cw/projectRecords/ProjectMembersList.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="page">
-    <el-form size="small"  v-if="searchVisible" :inline="true" class="query-form m-b-10"  ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+    <el-form v-if="searchVisible" :inline="true" class="query-form m-b-10"  ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @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
@@ -22,15 +22,15 @@
       </el-form-item>
 
       <el-form-item>
-        <el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
-        <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+        <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-form>
     <div class="jp-table top" style="">
       <vxe-toolbar :refresh="{query: refreshList}"  ref="toolbarRef" custom>
         <template #buttons>
-          <!--          <el-button v-if="hasPermission('cwProjectRecords:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>-->
-          <!--          <el-button v-if="hasPermission('klg:question:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.questionsTable && $refs.questionsTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
+          <!--          <el-button v-if="hasPermission('cwProjectRecords:add')" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>-->
+          <!--          <el-button v-if="hasPermission('klg:question:del')" type="danger" icon="el-icon-delete" @click="del()" :disabled="$refs.questionsTable && $refs.questionsTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
         </template>
 		  <template #tools>
 			  <vxe-button
@@ -50,7 +50,6 @@
           resizable
           height="auto"
           :loading="loading"
-          size="small"
           ref="projectTable"
           show-header-overflow
           show-overflow
@@ -61,7 +60,7 @@
           :data="dataList"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="60" ></vxe-column>
           <vxe-column min-width="230" align="center" title="项目名称" field="projectName">
             <template #default="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('cwProjectRecords:view')" @click="view(scope.row.id)">{{scope.row.projectName}}</el-link>
@@ -83,7 +82,7 @@
           <vxe-column title="操作" width="70px" fixed="right" align="center">
             <template  #default="scope">
 <!--              项目创建人、项目组成员、管理员可编辑-->
-<!--              <el-button v-if="hasPermission('cwProjectRecords:edit')&&(scope.row.createBy.id === $store.state.user.id||isAdmin||haveProjectIds.includes(scope.row.id))" type="text"  size="small" @click="edit(scope.row.id)">编辑</el-button>-->
+<!--              <el-button v-if="hasPermission('cwProjectRecords:edit')&&(scope.row.createBy.id === $store.state.user.id||isAdmin||haveProjectIds.includes(scope.row.id))" type="text" @click="edit(scope.row.id)">编辑</el-button>-->
 <!--              项目创建人、管理员、项目现场负责人、项目经理1、项目经理2可编辑-->
               <el-button v-if="hasPermission('cwProjectRecords:edit')&&
               (
@@ -99,7 +98,6 @@
         </vxe-table>
         <vxe-pager
           background
-          size="small"
           :current-page="tablePage.currentPage"
           :page-size="tablePage.pageSize"
           :total="tablePage.total"

+ 26 - 21
src/views/cw/projectRecords/ProjectRecordsAddForm.vue

@@ -208,19 +208,23 @@
                     <UserSelect :readonly="true" :disabled="status === 'audit' || status === 'taskFormDetail'" :limit='1' :modelValue="inputForm.projectLeaderId" @update:modelValue='(value) => {inputForm.projectLeaderId = value}'></UserSelect>
                   </el-form-item>
                 </el-col>
-                <el-col :span="12">
-                  <el-form-item label="项目经理1" prop="projectMasterId"
-                                :rules="[
+				  <el-col :span="12">
+					  <el-form-item label="项目经理1" prop="projectMasterId"
+									:rules="[
                    ]">
-                    <UserSelectSignatory ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.projectMasterId" @getValue='(value) => {changeSignatory1(value)}'></UserSelectSignatory>
+                    <UserSelectSignatory style="width: 100%" ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'"
+										 :readonly="true" :limit='1' :modelValue="inputForm.projectMasterId"
+										 @getValue='(value) => {changeSignatory1(value)}'></UserSelectSignatory>
 
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
+					  </el-form-item>
+				  </el-col>
+				  <el-col :span="12">
                   <el-form-item label="项目经理2" prop="realHeader"
                                 :rules="[
                    ]">
-                    <UserSelectSignatory ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.realHeader" @getValue='(value) => {changeSignatory2(value)}'></UserSelectSignatory>
+                    <UserSelectSignatory style="width: 100%" ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'"
+										 :modelValue="true" :limit='1' :value="inputForm.realHeader"
+										 @getValue='(value) => {changeSignatory2(value)}'></UserSelectSignatory>
                   </el-form-item>
                 </el-col>
 
@@ -308,19 +312,19 @@
                             <el-input v-model="scope.row.name" placeholder="姓名" clearable></el-input>
                           </template>
                         </vxe-table-column>
-                        <vxe-table-column align="center" field="sex" title="性别" :edit-render="{name: '$select', options: $dictUtils.getDictList('sex')}">
-                          <template v-slot:edit="scope">
-                            <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.sex" placeholder="性别" clearable style="width: 100%;" transfer>
-                              <vxe-option
-                                v-for="item in $dictUtils.getDictList('sex')"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
-                              </vxe-option>
-                            </vxe-select>
-                          </template>
-                        </vxe-table-column>
-                        <vxe-table-column align="center" field="officeId" title="部门" :edit-render="{}">
+						  <vxe-table-column align="center" field="sex" title="性别" :edit-render="{name: '$select', options: $dictUtils.getDictList('sex')}">
+							  <template v-slot:edit="scope">
+								  <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.sex" placeholder="性别" clearable style="width: 100%;" transfer>
+									  <vxe-option
+										  v-for="item in $dictUtils.getDictList('sex')"
+										  :key="item.value"
+										  :label="item.label"
+										  :value="item.value">
+									  </vxe-option>
+								  </vxe-select>
+							  </template>
+						  </vxe-table-column>
+						  <vxe-table-column align="center" field="officeId" title="部门" :edit-render="{}">
                           <template v-slot:edit="scope">
                             <el-input v-model="scope.row.officeId" placeholder="部门" clearable></el-input>
                           </template>
@@ -932,6 +936,7 @@
       },
       // 项目经理1改变事件
       changeSignatory1 (value) {
+      	console.log('项目经理1', value)
         if (this.inputForm.realHeader === value && this.commonJS.isNotEmpty(value)) {
           this.$message.warning('项目经理1和项目经理2不可以相同')
           this.$nextTick(() => {

+ 2 - 2
src/views/cw/projectRecords/ProjectRecordsList.vue

@@ -19,8 +19,8 @@
       <el-form-item v-if="showHideItem" label="创建时间" prop="createDates">
         <el-date-picker
           placement="bottom-start"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           v-model="searchForm.createDates"
           type="datetimerange"
           range-separator="至"

+ 5 - 5
src/views/cw/projectReportArchive/ProjectReportArchiveDetailList.vue

@@ -31,8 +31,8 @@
       <el-form-item v-if="showHideItem" label="报告时间" prop="reportDates">
         <el-date-picker
           placement="bottom-start"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           v-model="searchForm.reportDates"
           type="datetimerange"
           range-separator="至"
@@ -45,8 +45,8 @@
       <el-form-item v-if="showHideItem" label="归档时间" prop="auditDates">
         <el-date-picker
           placement="bottom-start"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           v-model="searchForm.auditDates"
           type="datetimerange"
           range-separator="至"
@@ -284,7 +284,7 @@
         }
       },
       formatDate ({ cellValue }) {
-        return XEUtils.toDateString(cellValue, 'yyyy-MM-dd')
+        return XEUtils.toDateString(cellValue, 'YYYY-MM-DD')
       },
       // 查看
       view (id) {

+ 6 - 3
src/views/cw/reimbursementApproval/info/InfoList.vue

@@ -20,10 +20,10 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="经办人" prop="handled">
-        <UserSelect :limit='1' :userName="searchForm.handled" @getValue='(value, label) => {searchForm.handled = label}'></UserSelect>
+        <UserSelect :limit='1' :modelValue="searchForm.handled" @update:modelValue='(value, label) => {searchForm.handled = value}'></UserSelect>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="报销人" prop="reimBy">
-        <UserSelect :limit='1' :userName="searchForm.reimBy" @getValue='(value, label) => {searchForm.reimBy = label}'></UserSelect>
+        <UserSelect :limit='1' :modelValue="searchForm.reimBy" @update:modelValue='(value, label) => {searchForm.reimBy = value}'></UserSelect>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="报销状态" prop="type">
         <el-select v-model="searchForm.type" placeholder="请选择" style="width:100%;">
@@ -76,7 +76,10 @@
           @getValue="(value, label) => {searchForm.remiType=label}"/>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="报销金额" prop="amounts">
-        <InputNumber :disabled="false" :precision="num" v-model="searchForm.amounts"></InputNumber>
+        <InputNumber :disabled="false" :precision="num" :value="searchForm.amounts"
+					 @changefrom="(val)=>{searchForm.amounts[0]=val}"
+					 @changeto="(val)=>{searchForm.amounts[1]=val}"
+		></InputNumber>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="报告号" prop="reportNumber">
         <el-input v-model="searchForm.reportNumber" placeholder="请输入报告号" clearable></el-input>

+ 4 - 3
src/views/cw/reportCancellApply/ReportCancellApplyList.vue

@@ -25,17 +25,18 @@
                   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"
+		  size="default"
           @getValue="(value) => {searchForm.createBy=value}"/>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="创建时间" prop="contractDates">
         <el-date-picker
           placement="bottom-start"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           v-model="searchForm.contractDates"
           type="datetimerange"
           range-separator="至"

+ 4 - 4
src/views/cw/reportManagement/ReportManagementAddForm.vue

@@ -99,7 +99,7 @@
                             {required: true, message:'签字注师1不能为空', trigger:'change'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-              <UserSelect ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @update:modelValue='(value) => {changeSignatory1(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
             </el-form-item>
           </el-col>
 
@@ -109,7 +109,7 @@
                             // {required: true, message:'签字注师2不能为空', trigger:'change'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-              <UserSelect ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
             </el-form-item>
           </el-col>
 
@@ -119,7 +119,7 @@
                               {required: true, message:'签字注师1不能为空', trigger:'blur'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-              <UserSelect ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @update:modelValue='(value) => {changeSignatory1(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
             </el-form-item>
           </el-col>
 
@@ -129,7 +129,7 @@
                               // {required: true, message:'签字注师2不能为空', trigger:'blur'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-              <UserSelect ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
             </el-form-item>
           </el-col>
           <el-col :span="12">

+ 5 - 4
src/views/cw/reportManagement/ReportManagementForm.vue

@@ -78,6 +78,7 @@
 
                     :url="`/system-server/sys/office/treeData?type=2`"
                     :value="inputForm.officeId"
+					size="default"
                     :accordion="true"
                     @getValue="(value) => {inputForm.officeId=value}"/>
                   <!--                <el-input v-model="inputForm.officeId" placeholder="请填写报告所属部门" clearable></el-input>-->
@@ -103,7 +104,7 @@
                               :rules="[
                    ]">
                   <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-                  <UserSelect ref="userSelect1" :disabled="method === 'view'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
+                  <UserSelect style="width: 100%" ref="userSelect1" :disabled="method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
                 </el-form-item>
               </el-col>
 
@@ -112,7 +113,7 @@
                               :rules="[
                    ]">
                   <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-                  <UserSelect ref="userSelect2" :disabled="method === 'view'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
+                  <UserSelect style="width: 100%" ref="userSelect2" :disabled="method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
                 </el-form-item>
               </el-col>
 
@@ -122,7 +123,7 @@
                               {required: true, message:'签字注师1不能为空', trigger:'blur'}
                    ]">
                   <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-                  <UserSelect ref="userSelect1" :disabled="method === 'view'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
+                  <UserSelect style="width: 100%" ref="userSelect1" :disabled="method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
                 </el-form-item>
               </el-col>
               <el-col v-if="inputForm.signatureType === '2' " :span="12">
@@ -131,7 +132,7 @@
                               {required: true, message:'签字注师2不能为空', trigger:'blur'}
                    ]">
                   <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-                  <UserSelect ref="userSelect2" :disabled="method === 'view'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
+                  <UserSelect style="width: 100%" ref="userSelect2" :disabled="method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
                 </el-form-item>
               </el-col>
               <el-col :span="12">

+ 2 - 2
src/views/cw/reportManagement/ReportManagementList.vue

@@ -68,8 +68,8 @@
       <el-form-item v-if="showHideItem" label="创建时间" prop="contractDates">
         <el-date-picker
           placement="bottom-start"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           v-model="searchForm.contractDates"
           type="datetimerange"
           range-separator="至"

+ 4 - 4
src/views/cw/reportManagement/ReportManagementSignatureForm.vue

@@ -108,7 +108,7 @@
                           {required: true, message: '签字注师1不能为空', trigger: 'blur'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-              <UserSelect ref="userSelect1"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @update:modelValue='(value) => {changeSignatory1(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect1"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
             </el-form-item>
           </el-col>
 
@@ -119,7 +119,7 @@
                           // {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-              <UserSelect ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
             </el-form-item>
           </el-col>
 
@@ -130,7 +130,7 @@
                           {required: true, message: '签字注师1不能为空', trigger: 'blur'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-              <UserSelect  ref="userSelect1"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @update:modelValue='(value) => {changeSignatory1(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect1"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
             </el-form-item>
           </el-col>
 
@@ -141,7 +141,7 @@
                           {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-              <UserSelect  ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
+              <UserSelect style="width: 100%" ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
             </el-form-item>
           </el-col>
           <el-col :span="12">

+ 4 - 4
src/views/cw/reportManagement/reportReview/ReportReviewForm.vue

@@ -89,7 +89,7 @@
                             :rules="[
                    ]">
                 <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-                <UserSelect ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
+                <UserSelect style="width: 100%" ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -98,7 +98,7 @@
                             :rules="[
                    ]">
                 <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-                <UserSelect ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
+                <UserSelect style="width: 100%" ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -107,7 +107,7 @@
                             :rules="[
                    ]">
                 <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
-                <UserSelect  ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
+                <UserSelect style="width: 100%" ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -116,7 +116,7 @@
                             :rules="[
                    ]">
                 <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-                <UserSelect ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
+                <UserSelect style="width: 100%" ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
               </el-form-item>
             </el-col>
             <el-col :span="12">

+ 12 - 5
src/views/cw/workClientInfo/WorkClientAddForm.vue

@@ -445,14 +445,14 @@
                     <el-form-item label="首次发行签字注师1" prop="cwWorkClientTypeDTO.signatory1"
                                   :rules="[
                    ]">
-                      <UserSelect ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.cwWorkClientTypeDTO.signatory1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
+                      <UserSelect ref="userSelect1" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.cwWorkClientTypeDTO.signatory1" @update:modelValue='(value) => {changeSignatory1(value)}'></UserSelect>
                     </el-form-item>
                   </el-col>
                   <el-col :span="12">
                     <el-form-item label="首次发行签字注师2" prop="cwWorkClientTypeDTO.signatory2"
                                   :rules="[
                    ]">
-                      <UserSelect ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.cwWorkClientTypeDTO.signatory2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
+                      <UserSelect ref="userSelect2" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :modelValue="inputForm.cwWorkClientTypeDTO.signatory2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
                     </el-form-item>
                   </el-col>
                   <el-col :span="12">
@@ -640,8 +640,8 @@
                       </template>
                     </vxe-table-column>
                     <vxe-table-column align="center" field="sex" title="性别" :edit-render="{name: '$select', options: $dictUtils.getDictList('sex')}">
-                      <template v-slot:edit="scope">
-                        <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.sex" placeholder="性别" clearable style="width: 100%;" transfer>
+                      <template #edit="scope">
+						  <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.sex" placeholder="性别" clearable style="width: 100%;" transfer>
                           <vxe-option
                             v-for="item in $dictUtils.getDictList('sex')"
                             :key="item.value"
@@ -742,6 +742,7 @@
     },
     data () {
       return {
+      	sexOptions: [], //存储性别选项的数据属性
         title: '',
         method: '',
         loading: false,
@@ -1257,7 +1258,7 @@
         let name = this.inputForm.name
         if (this.commonJS.isNotEmpty(name)) {
           await this.enterpriseSearchService.enterpriseSearchByName(name).then((data) => {
-            this.gridData = data.items
+            this.gridData = data.data.items
             this.updatePopover();
             this.tableKey = Math.random()
           })
@@ -1345,6 +1346,7 @@
         }
       },
       changeSignatory1 (value) {
+      	console.log('value', value)
         if (this.inputForm.cwWorkClientTypeDTO.signatory2 === value && this.commonJS.isNotEmpty(value)) {
           this.$message.warning('首次发行签字注师1和首次发行签字注师2不可以相同')
           this.$nextTick(() => {
@@ -1355,6 +1357,7 @@
           })
         } else {
           this.inputForm.cwWorkClientTypeDTO.signatory1 = value
+			console.log('signatory1', this.inputForm.cwWorkClientTypeDTO.signatory1)
         }
       },
       changeSignatory2 (value) {
@@ -1663,5 +1666,9 @@
     top: 100%;
     left: 0;
   }
+  .el-divider__text {
+	  font-size: 16px;
+	  font-weight: bold;
+  }
 </style>
 

+ 2 - 2
src/views/cw/workClientInfo/WorkClientList.vue

@@ -44,8 +44,8 @@
       <el-form-item v-if="showHideItem" label="创建时间" prop="createDates">
         <el-date-picker
           placement="bottom-start"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           v-model="searchForm.createDates"
           type="datetimerange"
           range-separator="至"

+ 154 - 153
src/views/cw/workClientInfo/clientUserSelect/UserSelectDialog.vue

@@ -1,169 +1,170 @@
 <template>
-  <div>
-    <el-dialog
-    title="用户选择"
-    width="1000px"
-    :close-on-click-modal="false"
-    :append-to-body="true"
-	draggable
-	class="userDialog"
-	v-model="visible">
-    <el-container style="height: 500px">
-      <el-aside width="200px">
+	<el-dialog
+		title="用户选择"
+		width="1000px"
+		:close-on-click-modal="false"
+		:append-to-body="true"
+		draggable
+		class="userDialog"
+		v-model="visible">
+		<el-container style="height: 500px">
+			<el-aside width="200px">
 
-        <el-card class="org">
-          <div slot="header" class="clearfix">
-            <el-input
-              placeholder="请输入组织机构过滤"
-              size="small"
-              v-model="filterText">
-            </el-input>
-          </div>
-           <el-tree
-            :data="officeTreeData"
-            :props="{
-                  value: 'id',             // ID字段名
-                  label: 'name',         // 显示名称
-                  children: 'children'    // 子级字段名
+				<el-card class="org">
+					<div slot="header" class="clearfix">
+						<el-input
+							placeholder="请输入组织机构过滤"
+							size="small"
+							v-model="filterText">
+						</el-input>
+					</div>
+					<el-tree
+						:data="officeTreeData"
+						:props="{
+						  value: 'id',             // ID字段名
+						  label: 'name',         // 显示名称
+						  children: 'children'    // 子级字段名
                 }"
-            default-expand-all
-            highlight-current
-            node-key="id"
-            :render-content="renderContent"
-            :filter-node-method="filterNode"
-            :expand-on-click-node="false"
-            @node-click="handleNodeClick"
-            ref="officeTree">
-          </el-tree>
-        </el-card>
-      </el-aside>
+						default-expand-all
+						highlight-current
+						node-key="id"
+						:render-content="renderContent"
+						:filter-node-method="filterNode"
+						:expand-on-click-node="false"
+						@node-click="handleNodeClick"
+						ref="officeTree">
+					</el-tree>
+				</el-card>
+			</el-aside>
 
-    <el-container>
-      <el-header style="text-align: left; font-size: 12px;height:30px">
-        <el-form size="small" :inline="true" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
-            <el-form-item prop="loginName">
-              <el-input size="small" v-model="searchForm.loginName" placeholder="登录名" clearable></el-input>
-            </el-form-item>
+			<el-container>
+				<el-header style="text-align: left; font-size: 12px;height:30px">
+					<el-form size="small" :inline="true" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+						<el-form-item prop="loginName">
+							<el-input size="small" v-model="searchForm.loginName" placeholder="登录名" clearable></el-input>
+						</el-form-item>
 
-            <el-form-item>
-              <el-button  type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
-              <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
-            </el-form-item>
-          </el-form>
-      </el-header>
+						<el-form-item>
+							<el-button  type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
+							<el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+						</el-form-item>
+					</el-form>
+				</el-header>
 
-      <el-main>
-        <el-table
-          :data="dataList"
-          v-loading="loading"
-          size="small"
-          border
-          ref="userTable"
-          @selection-change="selectionChangeHandle"
-          @sort-change="sortChangeHandle"
-          height="calc(100% - 40px)"
-          style="width: 100%;">
-          <el-table-column
-            header-align="center"
-            align="center"
-            v-if="limit <= 1"
-            width="50">
-              <template #default="scope">
-                  <el-radio :label="scope.row.id" :value="dataListAllSelections[0]&&dataListAllSelections[0].id" @change.native="getTemplateRow(scope.$index,scope.row)"><span></span></el-radio>
-              </template>
-          </el-table-column>
-          <el-table-column
-            type="selection"
-            header-align="center"
-            v-if="limit > 1"
-            align="center"
-            width="50">
-          </el-table-column>
-          <el-table-column
-            prop="photo"
-            header-align="center"
-            align="center"
-            label="头像">
-            <template #default="scope">
-              <img :src="scope.row.photo === ''?'/static/img/avatar.png':scope.row.photo" style="height:35px"/>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="loginName"
-            header-align="center"
-            align="center"
-            sortable="custom"
-            min-width="90"
-            label="登录名">
-          </el-table-column>
-          <el-table-column
-            prop="name"
-            header-align="center"
-            align="真实姓名"
-            sortable="custom"
-            min-width="90"
-            label="用户名">
-          </el-table-column>
-          <el-table-column
-            prop="companyDTO.name"
-            header-align="center"
-            align="center"
-            sortable="custom"
-            min-width="110"
-            label="所属机构">
-          </el-table-column>
-          <el-table-column
-            prop="officeDTO.name"
-            header-align="center"
-            align="center"
-            sortable="custom"
-            min-width="110"
-            label="所属部门">
-          </el-table-column>
-          <el-table-column
-            prop="loginFlag"
-            header-align="center"
-            align="center"
-            min-width="100"
-            label="状态">
-            <template #default="scope">
-              <el-tag v-if="scope.row.loginFlag === '1'" size="small" type="success">正常</el-tag>
-              <el-tag v-else-if="scope.row.loginFlag === '0'" size="small" type="danger">禁用</el-tag>
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-pagination
-          @size-change="sizeChangeHandle"
-          @current-change="currentChangeHandle"
-          :current-page="pageNo"
-          :page-sizes="[5, 10, 50, 100]"
-          :page-size="pageSize"
-          :total="total"
-          layout="total, sizes, prev, pager, next, jumper">
-        </el-pagination>
-      </el-main>
-    </el-container>
+				<el-main>
+					<el-table
+						:data="dataList"
+						v-loading="loading"
+						size="small"
+						border
+						ref="userTable"
+						@selection-change="selectionChangeHandle"
+						@sort-change="sortChangeHandle"
+						height="calc(100% - 40px)"
+						style="width: 100%;">
+						<el-table-column
+							header-align="center"
+							align="center"
+							v-if="limit <= 1"
+							width="50">
+							<template #default="scope">
+								<el-radio
+										  :label="scope.row.id"
+										  :value="dataListAllSelections[0]&&dataListAllSelections[0].id"
+										  @change.native="getTemplateRow(scope.$index,scope.row)">
+								</el-radio>
+							</template>
+						</el-table-column>
+						<el-table-column
+							type="selection"
+							header-align="center"
+							v-if="limit > 1"
+							align="center"
+							width="50">
+						</el-table-column>
+						<el-table-column
+							prop="photo"
+							header-align="center"
+							align="center"
+							label="头像">
+							<template #default="scope">
+								<img :src="scope.row.photo === ''?'/static/img/avatar.png':scope.row.photo" style="height:35px"/>
+							</template>
+						</el-table-column>
+						<el-table-column
+							prop="loginName"
+							header-align="center"
+							align="center"
+							sortable="custom"
+							min-width="90"
+							label="登录名">
+						</el-table-column>
+						<el-table-column
+							prop="name"
+							header-align="center"
+							align="真实姓名"
+							sortable="custom"
+							min-width="90"
+							label="用户名">
+						</el-table-column>
+						<el-table-column
+							prop="companyDTO.name"
+							header-align="center"
+							align="center"
+							sortable="custom"
+							min-width="110"
+							label="所属机构">
+						</el-table-column>
+						<el-table-column
+							prop="officeDTO.name"
+							header-align="center"
+							align="center"
+							sortable="custom"
+							min-width="110"
+							label="所属部门">
+						</el-table-column>
+						<el-table-column
+							prop="loginFlag"
+							header-align="center"
+							align="center"
+							min-width="100"
+							label="状态">
+							<template #default="scope">
+								<el-tag v-if="scope.row.loginFlag === '1'" size="small" type="success">正常</el-tag>
+								<el-tag v-else-if="scope.row.loginFlag === '0'" size="small" type="danger">禁用</el-tag>
+							</template>
+						</el-table-column>
+					</el-table>
+					<el-pagination
+						@size-change="sizeChangeHandle"
+						@current-change="currentChangeHandle"
+						:current-page="pageNo"
+						:page-sizes="[5, 10, 50, 100]"
+						:page-size="pageSize"
+						:total="total"
+						layout="total, sizes, prev, pager, next, jumper">
+					</el-pagination>
+				</el-main>
+			</el-container>
 
-    <el-aside width="200px">
-      <el-tag
-        :key="tag.id"
-        v-for="tag in dataListAllSelections"
-        closable
-        :disable-transitions="false"
-        @close="del(tag)">
-        {{tag.name}}
-      </el-tag>
-  </el-aside>
-</el-container>
+			<el-aside width="200px">
+				<el-tag
+					:key="tag.id"
+					v-for="tag in dataListAllSelections"
+					closable
+					:disable-transitions="false"
+					@close="del(tag)">
+					{{tag.name}}
+				</el-tag>
+			</el-aside>
+		</el-container>
 		<template #footer>
 			<span class="dialog-footer">
 			  <el-button size="small" @click="visible = false" icon="el-icon-circle-close">关闭</el-button>
 			  <el-button size="small" type="primary" icon="el-icon-circle-check" @click="doSubmit()">确定</el-button>
 			</span>
 		</template>
-    </el-dialog>
-
-  </div>
+	</el-dialog>
 </template>
 
 <script>

+ 115 - 102
src/views/cw/workClientInfo/clientUserSelect/index.vue

@@ -1,108 +1,121 @@
 <template>
-<div>
-    <el-input placeholder="请选择" :size="size" :disabled="disabled" :readonly="readonly" style="line-hight:40px" @change="changeName" v-model="name" class="input-with-select">
-		<template #append>
-			<el-button :disabled="disabled"  :readonly="readonly" @click="showUserSelect" icon="el-icon-search"></el-button>
-		</template>
-    </el-input>
-    <user-select ref="userSelect" @doSubmit="selectUsersToInput" :limit="limit" :selectData="selectData"></user-select>
-</div>
+	<template v-if="printRead">
+		<label>{{ name }}</label>
+	</template>
+	<template v-else>
+		<el-input
+			placeholder="请选择"
+			readonly
+			:clearable="clearable"
+			:disabled="disabled"
+			style="line-hight: 40px"
+			v-model="name"
+		>
+			<template #append>
+				<el-button
+					:disabled="disabled"
+					:readonly="readonly"
+					@click="showUserSelect"
+					icon="search"
+				></el-button>
+			</template>
+		</el-input>
+		<user-select
+			ref="userSelect"
+			@doSubmit="selectUsersToInput"
+			:tenantId="tenantId"
+			:limit="limit"
+		></user-select>
+	</template>
 </template>
 <script>
-import userSelect from './UserSelectDialog'
-import userService from '@/api/sys/UserService'
-export default {
-  data () {
-    return {
-      name: '',
-      labelValue: this.value,
-      selectData: []
-    }
-  },
-  props: {
-    limit: Number,
-    value: String,
-    userName: String,
-    size: {
-      type: String,
-      default: () => { return 'small' }
-    },
-    readonly: {
-      type: Boolean,
-      default: () => { return false }
-    },
-    disabled: {
-      type: Boolean,
-      default: () => { return false }
-    }
-  },
-  components: {
-    userSelect
-  },
-  beforeCreate () {
-  },
-  watch: {
-    value: {
-      handler (newVal) {
-        this.selectData = []
-        if (newVal) {
-          newVal.split(',').forEach((id) => {
-            userService.queryById(id).then((data) => {
-              if (data && data.id !== '') {
-                this.selectData.push(data)
-              }
-            })
-          })
-        }
-      },
-      immediate: true,
-      deep: false
-    },
-    selectData: {
-      handler (newVal) {
-        this.name = newVal.map(user => { return user.name }).join(',')
-      },
-      immediate: false,
-      deep: false
-    },
-    userName: {
-      handler (newVal) {
-        this.name = newVal
-      },
-      immediate: false,
-      deep: false
-    }
-  },
-  methods: {
-    selectUsersToInput (users) {
-      this.selectData = users
-      this.labelValue = users.map(user => { return user.id }).join(',')
-      this.name = users.map(user => { return user.name }).join(',')
-      this.$emit('getValue', this.labelValue, this.name)
-    },
-    changeName () {
-      this.$emit('getValue', null, this.name)
-    },
-    showUserSelect () {
-      this.$refs.userSelect.init()
-    },
-    changeNameValue (name) {
-      this.name = name
-    },
-    clearSelectData () {
-      this.selectData = []
-    }
-  }
-}
+	import userSelect from "./UserSelectDialog";
+	import userService from "@/api/sys/userService";
+	export default {
+		data() {
+			return {
+				name: "",
+				selectData: [],
+			};
+		},
+		props: {
+			limit: Number,
+			modelValue: { type: String, default: "" },
+			tenantId: { type: String, default: null },
+			printRead: {
+				type: Boolean,
+				default: () => {
+					return false;
+				},
+			},
+			clearable: {
+				type: Boolean,
+				default: () => {
+					return true;
+				},
+			},
+			readonly: {
+				type: Boolean,
+				default: () => {
+					return false;
+				},
+			},
+			disabled: {
+				type: Boolean,
+				default: () => {
+					return false;
+				},
+			},
+		},
+		components: {
+			userSelect,
+		},
+		watch: {
+			modelValue: {
+				handler(newVal) {
+					this.selectData = [];
+					if (newVal) {
+						newVal.split(",").forEach((id) => {
+							userService.queryById(id).then((data) => {
+								if (data && data.id !== "") {
+									this.selectData.push(data);
+									this.name = this.selectData
+										.map((user) => {
+											return user.name;
+										})
+										.join(",");
+								}
+							});
+						});
+					} else {
+						this.name = "";
+					}
+				},
+				immediate: true,
+				deep: false,
+			},
+		},
+		methods: {
+			selectUsersToInput(users) {
+				let selectIds = users
+					.map((user) => {
+						return user.id;
+					})
+					.join(",");
+				this.$emit("update:modelValue", selectIds);
+			},
+			showUserSelect() {
+				this.$refs.userSelect.init()
+			},
+		},
+	};
 </script>
 <style>
-  .el-form-item__content .el-input-group {
-      vertical-align: middle;
-  }
- .el-tag + .el-tag {
-    margin-left: 5px;
-    margin-bottom: 5px;
-  }
+	.el-form-item__content .el-input-group {
+		vertical-align: middle;
+	}
+	.el-tag + .el-tag {
+		margin-left: 5px;
+		margin-bottom: 5px;
+	}
 </style>
-
-

+ 5 - 2
src/views/cw/workContract/ContractNameForm.vue

@@ -641,10 +641,13 @@
 		WorkClientChooseForm,
 		SelectTree,
 		WorkClientChooseRadio,
-		WorkClientForm,
+		// WorkClientForm,
+		// WorkClientForm: () => import('../workClientInfo/WorkClientForm'),
 		ProjectRecordsForm: () => import('../projectRecords/ProjectRecordsForm'),
 		InvoiceForm,
 		ReportManagementForm
+		// InvoiceForm: () => import('../invoice/InvoiceForm'),
+		// ReportManagementForm: () => import('../reportManagement/ReportManagementForm')
     },
     ossService: null,
     // workContractService: null,
@@ -801,7 +804,7 @@
           })
           // 获取关联项目信息
           projectRecordsService.getByContractId(this.inputForm.id).then((project) => {
-            this.projectList = project.data
+            this.projectList = project
           })
           // 获取关联报告信息
           projectReportService.getIdByContractId(this.inputForm.id, this.reportForm).then((data) => {

+ 11 - 10
src/views/cw/workContract/ContractRegistration.vue

@@ -32,11 +32,10 @@
 			  ></el-input>
 		  </el-form-item>
 		  <el-form-item  v-if="showHideItem" prop="contractAmounts" label="合同金额:">
-			  <el-input
-				  v-model="searchForm.contractAmounts"
-				  placeholder="请输入合同金额"
-				  clearable
-			  ></el-input>
+			  <InputNumber :disabled="false" :precision="num" :value="searchForm.contractAmounts"
+						   @changefrom="(val)=>{searchForm.contractAmounts[0]=val}"
+						   @changeto="(val)=>{searchForm.contractAmounts[1]=val}"
+			  ></InputNumber>
 		  </el-form-item>
 		  <el-form-item  v-if="showHideItem" prop="contractDates" label="签约时间:">
 			  <el-date-picker
@@ -166,7 +165,7 @@
           <vxe-column min-width="150" align="center" title="创建日期" field="createTime"></vxe-column>
           <vxe-column min-width="100px" title="状态" field="status" fixed="right" align="center" >
             <template #default="scope">
-              <el-button @click="detail(scope.row)" text type="primary" :type="$dictUtils.getDictLabel('cw_status_flag', scope.row.status, '-')" effect="dark" size="small">{{$dictUtils.getDictLabel("cw_status", scope.row.status, '-')}} </el-button>
+              <el-button @click="detail(scope.row)" :type="$dictUtils.getDictLabel('cw_status_flag', scope.row.status, '-')" effect="dark" size="small">{{$dictUtils.getDictLabel("cw_status", scope.row.status, '-')}} </el-button>
             </template>
           </vxe-column>
 <!--          <vxe-column width="200px" title="电子归档" field="filedType">-->
@@ -176,12 +175,12 @@
 <!--          </vxe-column>-->
           <vxe-column min-width="100px" title="纸质归档" fixed="right" align="center" field="filedPaperType">
             <template #default="scope">
-              <el-button  @click="detailPaperFiled(scope.row)" text type="primary" :type="$dictUtils.getDictLabel('filed_type_status', scope.row.filedPaperType, '-')" effect="dark" size="small">{{$dictUtils.getDictLabel("filed_type", scope.row.filedPaperType, '未归档')}} </el-button>
+              <el-button  @click="detailPaperFiled(scope.row)" :type="$dictUtils.getDictLabel('filed_type_status', scope.row.filedPaperType, '-')" effect="dark" size="small">{{$dictUtils.getDictLabel("filed_type", scope.row.filedPaperType, '未归档')}} </el-button>
             </template>
           </vxe-column>
           <vxe-column min-width="100px"  title="借用状态" fixed="right" align="center" field="borrowType" >
             <template #default="scope">
-              <el-button  @click="detailBorrow(scope.row)" text type="primary" :type="$dictUtils.getDictLabel('borrow_type_status', scope.row.borrowType, '-')" effect="dark" size="small">{{$dictUtils.getDictLabel("borrow_type", scope.row.borrowType, '未借用')}} </el-button>
+              <el-button  @click="detailBorrow(scope.row)" text  :type="$dictUtils.getDictLabel('borrow_type_status', scope.row.borrowType, '-')" effect="dark" size="small">{{$dictUtils.getDictLabel("borrow_type", scope.row.borrowType, '未借用')}} </el-button>
             </template>
           </vxe-column>
 
@@ -190,7 +189,7 @@
             <template  #default="scope">
               <div v-if="isAdmin">
                 <el-button v-if="scope.row.filedPaperType === '5'" text type="primary" size="small" @click="edit(scope.row)">修改</el-button>
-                <el-button v-if="scope.row.filedPaperType === '5'" type="danger" size="small" @click="del(scope.row.id)">删除</el-button>
+                <el-button v-if="scope.row.filedPaperType === '5'" text type="primary" size="small" @click="del(scope.row.id)">删除</el-button>
               </div>
               <div v-else>
 <!--              <el-button v-if="hasPermission('cw:workContract:view')" text type="primary" size="small" @click="view(scope.row.id)">查看</el-button>-->
@@ -203,7 +202,7 @@
               <!--              被驳回后当前申请人重新调整-->
 <!--              <el-button v-if="hasPermission('cw:workContract:edit')&&scope.row.createId === $store.state.user.id&&scope.row.status === '4'" text type="primary"  size="small" @click="adjust(scope.row)">驳回调整</el-button>-->
               <!--              <el-button v-if="hasPermission('cw:workContract:edit') && scope.row.status === '5' && scope.row.filedType === '5' && scope.row.filedPaperType === '5' && isAdmin" text type="primary" size="small" @click="editForm(scope.row.id)">修改</el-button>-->
-              <el-button v-if="hasPermission('cw:workContract:del') && (scope.row.filedPaperType === '1' || scope.row.filedPaperType === '3' || scope.row.filedPaperType === '0')  && scope.row.createId === $store.state.user.id" type="danger" size="small" @click="del(scope.row.id)">删除</el-button>
+              <el-button v-if="hasPermission('cw:workContract:del') && (scope.row.filedPaperType === '1' || scope.row.filedPaperType === '3' || scope.row.filedPaperType === '0')  && scope.row.createId === $store.state.user.id" text type="primary" size="small" @click="del(scope.row.id)">删除</el-button>
               <el-button v-if="hasPermission('cw:workContract:back') && scope.row.status === '2' && scope.row.createId === $store.state.user.id" text type="primary" size="small" @click="reback(scope.row)">撤回</el-button>
 <!--              <el-button v-if="hasPermission('cw:workContract:filed') && scope.row.status === '5' && scope.row.createId === $store.state.user.id && (scope.row.filedType === '0' || scope.row.filedType === undefined)" text type="primary" size="small" @click="filed(scope.row.id)">归档</el-button>-->
               <!--归档暂存修改-->
@@ -255,6 +254,7 @@
 </template>
 
 <script>
+	import InputNumber from '@/views/workContract/InputNumber.vue'
   import ContractNameForm from "./ContractNameForm";
   import ContractAddForm from './contractRegisitionAddForm/ContractAddForm'
   import WorkClientForm from '../../workClient/WorkClientForm'
@@ -318,6 +318,7 @@
       this.cwWorkContractBorrowService = new CwWorkContractBorrowService()
     },
     components: {
+		InputNumber,
       ContractNameForm,
       ContractAddForm,
       WorkClientForm,

+ 2 - 1
src/views/cw/workContract/CwWorkContractBorrowForm.vue

@@ -213,7 +213,7 @@
                 contractInfoService.findById(this.inputForm.id).then((data) => {
                   this.inputForm = this.recover(this.inputForm, data)
                   this.inputForm.borrowName = this.userName
-                  // this.inputForm.borrowData = new Date()
+                  this.inputForm.borrowData = this.moment(new Date()).format('YYYY-MM-DD')
                   this.$refs.uploadFile.newUpload('view', data.contractProperList, 'cwWorkContract', null, null, null, null, false)
                   this.$refs.archiveFile.newUpload('view', data.contractInfoList, 'cwWorkContract', null, null, null, null, false)
                   // console.log('data', data)
@@ -229,6 +229,7 @@
                 this.inputForm = this.recover(this.inputForm, data)
                 this.inputForm.borrowName = this.userName
                 // this.inputForm.borrowData = new Date()
+				  this.inputForm.borrowData = this.moment(new Date()).format('YYYY-MM-DD')
                 this.loading = false
               }
             })

+ 4 - 4
src/views/cw/workContract/contractRegisitionAddForm/ContractAddForm.vue

@@ -135,7 +135,7 @@
                ]">
             <el-date-picker
               placement="bottom-start"
-              value-format="YYYY-MM-DD h:m:s"
+              value-format="YYYY-MM-DD"
               v-model="inputForm.signingDate"
               style="width: 100%"
               placeholder="选择日期">
@@ -175,7 +175,7 @@
                   children: 'children'    // 子级字段名
                 }"
 
-              :url="`/system-server/sys/office/treeData?type=1`"
+              :url="`/system-server/sys/office/treeData?type=2`"
               :value="inputForm.department"
               :accordion="true"
 			  size="default"
@@ -615,7 +615,7 @@
               this.inputForm.createId = this.$store.state.user.id
             }
             if (this.commonJS.isEmpty(this.inputForm.createTime)) {
-              this.inputForm.createTime = this.moment(new Date()).format('YYYY-MM-DD h:m:s')
+              this.inputForm.createTime = this.moment(new Date()).format('YYYY-MM-DD')
             }
             const f = []
             if (data.fees !== null && data.fees !== undefined && data.fees !== '') {
@@ -921,7 +921,7 @@
           this.dataListNew.push(item)
         })
         fileList.forEach((item) => {
-          item.createTime = moment(new Date()).format('YYYY-MM-DD h:m:s')
+          item.createTime = moment(new Date()).format('YYYY-MM-DD')
           item.createBy = this.$store.state.user.name
           this.dataListNew.push(item)
         })

+ 0 - 4
src/views/program/registered/RegisItemForm.vue

@@ -562,9 +562,7 @@
 					:data="inputForm.clientList"
 					style="margin-left: 5em"
 					:key="clientTableKey"
-					@cell-click=""
 					:edit-rules="validRulesClient"
-					@edit-closed=""
 					highlight-current-row
 					:edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '#'}"
 				>
@@ -632,9 +630,7 @@
 					:key="memberKey"
 					:data="inputForm.members"
 					style="margin-left: 5em"
-					@cell-click=""
 					:edit-rules="validRulesMember"
-					@edit-closed=""
 					highlight-current-row
 					:edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear:  status === 'audit' || status === 'taskFormDetail' ? true : false, icon: '#'}"
 				>